diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/bigquery.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/bigquery.yaml
deleted file mode 100644
index a2f4653d7..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/bigquery.yaml
+++ /dev/null
@@ -1,242 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/dataSources/test
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 404
- message: Not Found
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '172'
- Content-Type:
- - application/problem+json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- detail: The requested endpoint does not exist or you do not have permission
- to access it.
- status: 404
- title: Not Found
- traceId: 44090248ebeaaf0e0abcad0c0042d810
- - request:
- method: POST
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/dataSources
- body:
- data:
- attributes:
- name: Test
- schema: demo
- type: BIGQUERY
- token: eyJ0eXBlIjogInNlcnZpY2VfYWNjb3VudCIsICJwcm9qZWN0X2lkIjogIlBST0pFQ1RfSUQiLCAicHJpdmF0ZV9rZXlfaWQiOiAiS0VZX0lEIiwgInByaXZhdGVfa2V5IjogIi0tLS0tQkVHSU4gUFJJVkFURSBLRVktLS0tLVxcblBSSVZBVEVfS0VZXFxuLS0tLS1FTkQgUFJJVkFURSBLRVktLS0tLVxcbiIsICJjbGllbnRfZW1haWwiOiAiU0VSVklDRV9BQ0NPVU5UX0VNQUlMIiwgImNsaWVudF9pZCI6ICJDTElFTlRfSUQiLCAiYXV0aF91cmkiOiAiaHR0cHM6Ly9hY2NvdW50cy5nb29nbGUuY29tL28vb2F1dGgyL2F1dGgiLCAidG9rZW5fdXJpIjogImh0dHBzOi8vYWNjb3VudHMuZ29vZ2xlLmNvbS9vL29hdXRoMi90b2tlbiIsICJhdXRoX3Byb3ZpZGVyX3g1MDlfY2VydF91cmwiOiAiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vb2F1dGgyL3YxL2NlcnRzIiwgImNsaWVudF94NTA5X2NlcnRfdXJsIjogImh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3JvYm90L3YxL21ldGFkYXRhL3g1MDkvU0VSVklDRV9BQ0NPVU5UX0VNQUlMIn0=
- parameters:
- - name: projectId
- value: abc
- id: test
- type: dataSource
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 201
- message: Created
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '448'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- parameters:
- - name: projectId
- value: abc
- decodedParameters:
- - name: clientEmail
- value: SERVICE_ACCOUNT_EMAIL
- - name: keyId
- value: KEY_ID
- - name: projectId
- value: PROJECT_ID
- authenticationType: TOKEN
- name: Test
- type: BIGQUERY
- schema: demo
- id: test
- type: dataSource
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/dataSources/test
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/dataSources/test
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '448'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- parameters:
- - name: projectId
- value: abc
- decodedParameters:
- - name: clientEmail
- value: SERVICE_ACCOUNT_EMAIL
- - name: keyId
- value: KEY_ID
- - name: projectId
- value: PROJECT_ID
- authenticationType: TOKEN
- name: Test
- type: BIGQUERY
- schema: demo
- id: test
- type: dataSource
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/dataSources/test
- - request:
- method: DELETE
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/dataSources/test
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_cache_strategy.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_cache_strategy.yaml
deleted file mode 100644
index cb870095b..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_cache_strategy.yaml
+++ /dev/null
@@ -1,252 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/dataSources/demo-test-ds
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '435'
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- url: jdbc:postgresql://postgresql-ha-pgpool.postgresql-ha/tiger_tests?sslmode=prefer
- username: postgres
- authenticationType: USERNAME_PASSWORD
- alternativeDataSourceId: ds-put-abc-id
- name: demo-test-ds
- type: POSTGRESQL
- schema: demo
- id: demo-test-ds
- type: dataSource
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/dataSources/demo-test-ds
- - request:
- method: PATCH
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/dataSources/demo-test-ds
- body:
- data:
- attributes:
- cacheStrategy: NEVER
- type: POSTGRESQL
- url: jdbc:postgresql://postgresql-ha-pgpool.postgresql-ha/tiger_tests?sslmode=prefer
- id: demo-test-ds
- type: dataSource
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '464'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- url: jdbc:postgresql://postgresql-ha-pgpool.postgresql-ha:5432/tiger_tests?sslmode=prefer
- username: postgres
- cacheStrategy: NEVER
- authenticationType: USERNAME_PASSWORD
- alternativeDataSourceId: ds-put-abc-id
- name: demo-test-ds
- type: POSTGRESQL
- schema: demo
- id: demo-test-ds
- type: dataSource
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/dataSources/demo-test-ds
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/dataSources/demo-test-ds
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '464'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- url: jdbc:postgresql://postgresql-ha-pgpool.postgresql-ha:5432/tiger_tests?sslmode=prefer
- username: postgres
- cacheStrategy: NEVER
- authenticationType: USERNAME_PASSWORD
- alternativeDataSourceId: ds-put-abc-id
- name: demo-test-ds
- type: POSTGRESQL
- schema: demo
- id: demo-test-ds
- type: dataSource
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/dataSources/demo-test-ds
- - request:
- method: PUT
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/dataSources
- body:
- dataSources:
- - id: demo-test-ds
- name: demo-test-ds
- schema: demo
- type: POSTGRESQL
- url: jdbc:postgresql://postgresql-ha-pgpool.postgresql-ha/tiger_tests?sslmode=prefer
- username: postgres
- permissions:
- - assignee:
- id: demo2
- type: user
- name: MANAGE
- - assignee:
- id: demoGroup
- type: userGroup
- name: USE
- alternativeDataSourceId: ds-put-abc-id
- password: secret
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_data_sources_list.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_data_sources_list.yaml
deleted file mode 100644
index 950867826..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_data_sources_list.yaml
+++ /dev/null
@@ -1,66 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/dataSources?page=0&size=500
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '671'
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- - attributes:
- url: jdbc:postgresql://postgresql-ha-pgpool.postgresql-ha/tiger_tests?sslmode=prefer
- username: postgres
- authenticationType: USERNAME_PASSWORD
- alternativeDataSourceId: ds-put-abc-id
- name: demo-test-ds
- type: POSTGRESQL
- schema: demo
- id: demo-test-ds
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/dataSources/demo-test-ds
- type: dataSource
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/dataSources?page=0&size=500
- next: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/dataSources?page=1&size=500
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_delete_declarative_data_sources.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_delete_declarative_data_sources.yaml
deleted file mode 100644
index 23078119a..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_delete_declarative_data_sources.yaml
+++ /dev/null
@@ -1,154 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: PUT
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/dataSources
- body:
- dataSources: []
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/dataSources
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '18'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- dataSources: []
- - request:
- method: PUT
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/dataSources
- body:
- dataSources:
- - id: demo-test-ds
- name: demo-test-ds
- schema: demo
- type: POSTGRESQL
- url: jdbc:postgresql://postgresql-ha-pgpool.postgresql-ha/tiger_tests?sslmode=prefer
- username: postgres
- permissions:
- - assignee:
- id: demo2
- type: user
- name: MANAGE
- - assignee:
- id: demoGroup
- type: userGroup
- name: USE
- alternativeDataSourceId: ds-put-abc-id
- password: secret
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_generate_logical_model.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_generate_logical_model.yaml
deleted file mode 100644
index 18e86eb89..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_generate_logical_model.yaml
+++ /dev/null
@@ -1,1011 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces/demo/logicalModel
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- ldm:
- datasets:
- - aggregatedFacts: []
- attributes:
- - description: Campaign channel id
- id: campaign_channel_id
- isNullable: false
- labels: []
- sourceColumn: campaign_channel_id
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Campaign channel id
- - description: Category
- id: campaign_channels.category
- isNullable: true
- labels: []
- sourceColumn: category
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Category
- - description: Type
- id: type
- isNullable: true
- labels: []
- sourceColumn: type
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Type
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaign_channels
- path:
- - demo
- - campaign_channels
- type: dataSource
- description: Campaign channels
- facts:
- - description: Budget
- id: budget
- isNullable: true
- sourceColumn: budget
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- title: Budget
- - description: Spend
- id: spend
- isNullable: true
- sourceColumn: spend
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- title: Spend
- grain:
- - id: campaign_channel_id
- type: attribute
- id: campaign_channels
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- dataType: INT
- isNullable: true
- target:
- id: campaign_id
- type: attribute
- tags:
- - Campaign channels
- title: Campaign channels
- - aggregatedFacts:
- - description: Budget Agg
- id: budget_agg
- sourceColumn: budget
- sourceColumnDataType: INT
- sourceFactReference:
- operation: SUM
- reference:
- id: budget
- type: fact
- tags:
- - Campaign channels per category
- attributes: []
- description: Campaign channels per categories
- facts: []
- grain: []
- id: campaign_channels_per_category
- precedence: 1
- references:
- - identifier:
- id: campaign_channels
- type: dataset
- multivalue: false
- sources:
- - column: campaign_channel_id
- dataType: STRING
- isNullable: true
- target:
- id: campaign_channel_id
- type: attribute
- sql:
- dataSourceId: demo-test-ds
- statement: SELECT category, SUM(budget) FROM campaign_channels GROUP
- BY category
- tags:
- - Campaign channels per category
- title: Campaign channels per category
- - aggregatedFacts: []
- attributes:
- - description: Campaign id
- id: campaign_id
- isNullable: false
- labels: []
- sourceColumn: campaign_id
- sourceColumnDataType: INT
- tags:
- - Campaigns
- title: Campaign id
- - description: Campaign name
- id: campaign_name
- isNullable: true
- labels: []
- sourceColumn: campaign_name
- sourceColumnDataType: STRING
- tags:
- - Campaigns
- title: Campaign name
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaigns
- path:
- - demo
- - campaigns
- type: dataSource
- description: Campaigns
- facts: []
- grain:
- - id: campaign_id
- type: attribute
- id: campaigns
- references: []
- tags:
- - Campaigns
- title: Campaigns
- - aggregatedFacts: []
- attributes:
- - description: Customer id
- id: customer_id
- isNullable: false
- labels: []
- sourceColumn: customer_id
- sourceColumnDataType: INT
- tags:
- - Customers
- title: Customer id
- - description: Customer name
- id: customer_name
- isNullable: true
- labels: []
- sourceColumn: customer_name
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Customer name
- - description: Region
- id: region
- isNullable: true
- labels: []
- sourceColumn: region
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Region
- - description: State
- id: state
- isNullable: true
- labels:
- - description: Location
- id: geo__state__location
- isNullable: true
- sourceColumn: geo__state__location
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Location
- valueType: GEO
- sourceColumn: state
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: State
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: customers
- path:
- - demo
- - customers
- type: dataSource
- description: Customers
- facts: []
- grain:
- - id: customer_id
- type: attribute
- id: customers
- references: []
- tags:
- - Customers
- title: Customers
- - aggregatedFacts: []
- attributes:
- - description: Order id
- id: order_id
- isNullable: true
- labels: []
- sourceColumn: order_id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order id
- - description: Order line id
- id: order_line_id
- isNullable: false
- labels: []
- sourceColumn: order_line_id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order line id
- - description: Order status
- id: order_status
- isNullable: true
- labels: []
- sourceColumn: order_status
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order status
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: order_lines
- path:
- - demo
- - order_lines
- type: dataSource
- description: Order lines
- facts:
- - description: Price
- id: price
- isNullable: true
- sourceColumn: price
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- title: Price
- - description: Quantity
- id: quantity
- isNullable: true
- sourceColumn: quantity
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- title: Quantity
- grain:
- - id: order_line_id
- type: attribute
- id: order_lines
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- dataType: INT
- isNullable: true
- target:
- id: campaign_id
- type: attribute
- - identifier:
- id: customers
- type: dataset
- multivalue: false
- sources:
- - column: customer_id
- dataType: INT
- isNullable: true
- target:
- id: customer_id
- type: attribute
- - identifier:
- id: date
- type: dataset
- multivalue: false
- sources:
- - column: date
- dataType: DATE
- isNullable: true
- target:
- id: date
- type: date
- - identifier:
- id: products
- type: dataset
- multivalue: false
- sources:
- - column: product_id
- dataType: INT
- isNullable: true
- target:
- id: product_id
- type: attribute
- tags:
- - Order lines
- title: Order lines
- workspaceDataFilterColumns:
- - dataType: STRING
- name: wdf__region
- - dataType: STRING
- name: wdf__state
- workspaceDataFilterReferences:
- - filterColumn: wdf__region
- filterColumnDataType: STRING
- filterId:
- id: wdf__region
- type: workspaceDataFilter
- - aggregatedFacts: []
- attributes:
- - description: Product id
- id: product_id
- isNullable: false
- labels: []
- sourceColumn: product_id
- sourceColumnDataType: INT
- tags:
- - Products
- title: Product id
- - description: Product name
- id: product_name
- isNullable: true
- labels: []
- sourceColumn: product_name
- sourceColumnDataType: STRING
- tags:
- - Products
- title: Product name
- - description: Category
- id: products.category
- isNullable: true
- labels: []
- sourceColumn: category
- sourceColumnDataType: STRING
- tags:
- - Products
- title: Category
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: products
- path:
- - demo
- - products
- type: dataSource
- description: Products
- facts: []
- grain:
- - id: product_id
- type: attribute
- id: products
- references: []
- tags:
- - Products
- title: Products
- dateInstances:
- - description: ''
- granularities:
- - DAY
- - WEEK
- - MONTH
- - QUARTER
- - YEAR
- granularitiesFormatting:
- titleBase: ''
- titlePattern: '%titleBase - %granularityTitle'
- id: date
- tags:
- - Date
- title: Date
- - request:
- method: POST
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/actions/dataSources/demo-test-ds/generateLogicalModel
- body:
- separator: __
- wdfPrefix: wdf
- pdm:
- tables:
- - columns:
- - dataType: NUMERIC
- name: budget
- isPrimaryKey: false
- isNullable: true
- - dataType: STRING
- name: campaign_channel_id
- isPrimaryKey: true
- isNullable: false
- - dataType: INT
- name: campaign_id
- isPrimaryKey: false
- referencedTableId: campaigns
- referencedTableColumn: campaign_id
- isNullable: true
- - dataType: STRING
- name: category
- isPrimaryKey: false
- isNullable: true
- - dataType: NUMERIC
- name: spend
- isPrimaryKey: false
- isNullable: true
- - dataType: STRING
- name: type
- isPrimaryKey: false
- isNullable: true
- id: campaign_channels
- path:
- - demo
- - campaign_channels
- type: TABLE
- - columns:
- - dataType: INT
- name: campaign_id
- isPrimaryKey: true
- isNullable: false
- - dataType: STRING
- name: campaign_name
- isPrimaryKey: false
- isNullable: true
- id: campaigns
- path:
- - demo
- - campaigns
- type: TABLE
- - columns:
- - dataType: INT
- name: customer_id
- isPrimaryKey: true
- isNullable: false
- - dataType: STRING
- name: customer_name
- isPrimaryKey: false
- isNullable: true
- - dataType: STRING
- name: geo__state__location
- isPrimaryKey: false
- isNullable: true
- - dataType: STRING
- name: region
- isPrimaryKey: false
- isNullable: true
- - dataType: STRING
- name: state
- isPrimaryKey: false
- isNullable: true
- id: customers
- path:
- - demo
- - customers
- type: TABLE
- - columns:
- - dataType: INT
- name: campaign_id
- isPrimaryKey: false
- referencedTableId: campaigns
- referencedTableColumn: campaign_id
- isNullable: true
- - dataType: INT
- name: customer_id
- isPrimaryKey: false
- referencedTableId: customers
- referencedTableColumn: customer_id
- isNullable: true
- - dataType: DATE
- name: date
- isPrimaryKey: false
- isNullable: true
- - dataType: STRING
- name: order_id
- isPrimaryKey: false
- isNullable: true
- - dataType: STRING
- name: order_line_id
- isPrimaryKey: true
- isNullable: false
- - dataType: STRING
- name: order_status
- isPrimaryKey: false
- isNullable: true
- - dataType: NUMERIC
- name: price
- isPrimaryKey: false
- isNullable: true
- - dataType: INT
- name: product_id
- isPrimaryKey: false
- referencedTableId: products
- referencedTableColumn: product_id
- isNullable: true
- - dataType: NUMERIC
- name: quantity
- isPrimaryKey: false
- isNullable: true
- - dataType: STRING
- name: wdf__region
- isPrimaryKey: false
- isNullable: true
- - dataType: STRING
- name: wdf__state
- isPrimaryKey: false
- isNullable: true
- id: order_lines
- path:
- - demo
- - order_lines
- type: TABLE
- - columns:
- - dataType: STRING
- name: category
- isPrimaryKey: false
- isNullable: true
- - dataType: INT
- name: product_id
- isPrimaryKey: true
- isNullable: false
- - dataType: STRING
- name: product_name
- isPrimaryKey: false
- isNullable: true
- id: products
- path:
- - demo
- - products
- type: TABLE
- workspaceId: demo
- translationPrefix: tr
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- ldm:
- datasets:
- - aggregatedFacts: []
- attributes:
- - description: Campaign channel id
- id: campaign_channel_id
- isNullable: false
- labels: []
- sourceColumn: campaign_channel_id
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Campaign channel id
- - description: Category
- id: campaign_channels.category
- isNullable: true
- labels: []
- sourceColumn: category
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Category
- - description: Type
- id: type
- isNullable: true
- labels: []
- sourceColumn: type
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Type
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaign_channels
- path:
- - demo
- - campaign_channels
- type: dataSource
- description: Campaign channels
- facts:
- - description: Budget
- id: budget
- isNullable: true
- sourceColumn: budget
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- title: Budget
- - description: Spend
- id: spend
- isNullable: true
- sourceColumn: spend
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- title: Spend
- grain:
- - id: campaign_channel_id
- type: attribute
- id: campaign_channels
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- dataType: INT
- isNullable: true
- target:
- id: campaign_id
- type: attribute
- tags:
- - Campaign channels
- title: Campaign channels
- - aggregatedFacts: []
- attributes:
- - description: Campaign id
- id: campaign_id
- isNullable: false
- labels: []
- sourceColumn: campaign_id
- sourceColumnDataType: INT
- tags:
- - Campaigns
- title: Campaign id
- - description: Campaign name
- id: campaign_name
- isNullable: true
- labels: []
- sourceColumn: campaign_name
- sourceColumnDataType: STRING
- tags:
- - Campaigns
- title: Campaign name
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaigns
- path:
- - demo
- - campaigns
- type: dataSource
- description: Campaigns
- facts: []
- grain:
- - id: campaign_id
- type: attribute
- id: campaigns
- references: []
- tags:
- - Campaigns
- title: Campaigns
- - aggregatedFacts: []
- attributes:
- - description: Customer id
- id: customer_id
- isNullable: false
- labels: []
- sourceColumn: customer_id
- sourceColumnDataType: INT
- tags:
- - Customers
- title: Customer id
- - description: Customer name
- id: customer_name
- isNullable: true
- labels: []
- sourceColumn: customer_name
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Customer name
- - description: Region
- id: region
- isNullable: true
- labels: []
- sourceColumn: region
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Region
- - description: State
- id: state
- isNullable: true
- labels:
- - description: Location
- id: geo__state__location
- isNullable: true
- sourceColumn: geo__state__location
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Location
- valueType: GEO
- sourceColumn: state
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: State
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: customers
- path:
- - demo
- - customers
- type: dataSource
- description: Customers
- facts: []
- grain:
- - id: customer_id
- type: attribute
- id: customers
- references: []
- tags:
- - Customers
- title: Customers
- - aggregatedFacts: []
- attributes:
- - description: Order id
- id: order_id
- isNullable: true
- labels: []
- sourceColumn: order_id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order id
- - description: Order line id
- id: order_line_id
- isNullable: false
- labels: []
- sourceColumn: order_line_id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order line id
- - description: Order status
- id: order_status
- isNullable: true
- labels: []
- sourceColumn: order_status
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order status
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: order_lines
- path:
- - demo
- - order_lines
- type: dataSource
- description: Order lines
- facts:
- - description: Price
- id: price
- isNullable: true
- sourceColumn: price
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- title: Price
- - description: Quantity
- id: quantity
- isNullable: true
- sourceColumn: quantity
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- title: Quantity
- grain:
- - id: order_line_id
- type: attribute
- id: order_lines
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- dataType: INT
- isNullable: true
- target:
- id: campaign_id
- type: attribute
- - identifier:
- id: customers
- type: dataset
- multivalue: false
- sources:
- - column: customer_id
- dataType: INT
- isNullable: true
- target:
- id: customer_id
- type: attribute
- - identifier:
- id: date
- type: dataset
- multivalue: false
- sources:
- - column: date
- dataType: DATE
- isNullable: true
- target:
- id: date
- type: date
- - identifier:
- id: products
- type: dataset
- multivalue: false
- sources:
- - column: product_id
- dataType: INT
- isNullable: true
- target:
- id: product_id
- type: attribute
- tags:
- - Order lines
- title: Order lines
- workspaceDataFilterColumns:
- - dataType: STRING
- name: wdf__region
- - dataType: STRING
- name: wdf__state
- workspaceDataFilterReferences:
- - filterColumn: wdf__region
- filterColumnDataType: STRING
- filterId:
- id: wdf__region
- type: workspaceDataFilter
- - aggregatedFacts: []
- attributes:
- - description: Product id
- id: product_id
- isNullable: false
- labels: []
- sourceColumn: product_id
- sourceColumnDataType: INT
- tags:
- - Products
- title: Product id
- - description: Product name
- id: product_name
- isNullable: true
- labels: []
- sourceColumn: product_name
- sourceColumnDataType: STRING
- tags:
- - Products
- title: Product name
- - description: Category
- id: products.category
- isNullable: true
- labels: []
- sourceColumn: category
- sourceColumnDataType: STRING
- tags:
- - Products
- title: Category
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: products
- path:
- - demo
- - 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_QUARTER
- - 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/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_generate_logical_model_sql_datasets.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_generate_logical_model_sql_datasets.yaml
deleted file mode 100644
index 3f8d72f59..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_generate_logical_model_sql_datasets.yaml
+++ /dev/null
@@ -1,731 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: POST
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/actions/dataSources/demo-test-ds/generateLogicalModel
- body:
- separator: __
- wdfPrefix: wdf
- pdm:
- sqls:
- - statement: SELECT * FROM order_lines
- title: Order lines duplicate sql dataset
- columns:
- - dataType: STRING
- name: order_line_id
- - dataType: STRING
- name: order_id
- - dataType: STRING
- name: order_status
- - dataType: DATE
- name: date
- - dataType: INT
- name: campaign_id
- - dataType: INT
- name: customer_id
- - dataType: INT
- name: product_id
- - dataType: NUMERIC
- name: price
- - dataType: NUMERIC
- name: quantity
- - statement: SELECT * FROM v_wdf_customers
- title: Customers sql dataset with WDF
- columns:
- - dataType: INT
- name: customer_id
- - dataType: STRING
- name: customer_name
- - dataType: STRING
- name: state
- - dataType: STRING
- name: region
- - dataType: STRING
- name: wdf__region
- tables:
- - columns:
- - dataType: NUMERIC
- name: budget
- isPrimaryKey: false
- isNullable: true
- - dataType: STRING
- name: campaign_channel_id
- isPrimaryKey: true
- isNullable: false
- - dataType: INT
- name: campaign_id
- isPrimaryKey: false
- referencedTableId: campaigns
- referencedTableColumn: campaign_id
- isNullable: true
- - dataType: STRING
- name: category
- isPrimaryKey: false
- isNullable: true
- - dataType: NUMERIC
- name: spend
- isPrimaryKey: false
- isNullable: true
- - dataType: STRING
- name: type
- isPrimaryKey: false
- isNullable: true
- id: campaign_channels
- path:
- - demo
- - campaign_channels
- type: TABLE
- - columns:
- - dataType: INT
- name: campaign_id
- isPrimaryKey: true
- isNullable: false
- - dataType: STRING
- name: campaign_name
- isPrimaryKey: false
- isNullable: true
- id: campaigns
- path:
- - demo
- - campaigns
- type: TABLE
- - columns:
- - dataType: INT
- name: customer_id
- isPrimaryKey: true
- isNullable: false
- - dataType: STRING
- name: customer_name
- isPrimaryKey: false
- isNullable: true
- - dataType: STRING
- name: geo__state__location
- isPrimaryKey: false
- isNullable: true
- - dataType: STRING
- name: region
- isPrimaryKey: false
- isNullable: true
- - dataType: STRING
- name: state
- isPrimaryKey: false
- isNullable: true
- id: customers
- path:
- - demo
- - customers
- type: TABLE
- - columns:
- - dataType: INT
- name: campaign_id
- isPrimaryKey: false
- referencedTableId: campaigns
- referencedTableColumn: campaign_id
- isNullable: true
- - dataType: INT
- name: customer_id
- isPrimaryKey: false
- referencedTableId: customers
- referencedTableColumn: customer_id
- isNullable: true
- - dataType: DATE
- name: date
- isPrimaryKey: false
- isNullable: true
- - dataType: STRING
- name: order_id
- isPrimaryKey: false
- isNullable: true
- - dataType: STRING
- name: order_line_id
- isPrimaryKey: true
- isNullable: false
- - dataType: STRING
- name: order_status
- isPrimaryKey: false
- isNullable: true
- - dataType: NUMERIC
- name: price
- isPrimaryKey: false
- isNullable: true
- - dataType: INT
- name: product_id
- isPrimaryKey: false
- referencedTableId: products
- referencedTableColumn: product_id
- isNullable: true
- - dataType: NUMERIC
- name: quantity
- isPrimaryKey: false
- isNullable: true
- - dataType: STRING
- name: wdf__region
- isPrimaryKey: false
- isNullable: true
- - dataType: STRING
- name: wdf__state
- isPrimaryKey: false
- isNullable: true
- id: order_lines
- path:
- - demo
- - order_lines
- type: TABLE
- - columns:
- - dataType: STRING
- name: category
- isPrimaryKey: false
- isNullable: true
- - dataType: INT
- name: product_id
- isPrimaryKey: true
- isNullable: false
- - dataType: STRING
- name: product_name
- isPrimaryKey: false
- isNullable: true
- id: products
- path:
- - demo
- - products
- type: TABLE
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- ldm:
- datasets:
- - aggregatedFacts: []
- attributes:
- - description: Campaign channel id
- id: campaign_channel_id
- isNullable: false
- labels: []
- sourceColumn: campaign_channel_id
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Campaign channel id
- - description: Category
- id: campaign_channels.category
- isNullable: true
- labels: []
- sourceColumn: category
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Category
- - description: Type
- id: type
- isNullable: true
- labels: []
- sourceColumn: type
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Type
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaign_channels
- path:
- - demo
- - campaign_channels
- type: dataSource
- description: Campaign channels
- facts:
- - description: Budget
- id: budget
- isNullable: true
- sourceColumn: budget
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- title: Budget
- - description: Spend
- id: spend
- isNullable: true
- sourceColumn: spend
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- title: Spend
- grain:
- - id: campaign_channel_id
- type: attribute
- id: campaign_channels
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- dataType: INT
- isNullable: true
- target:
- id: campaigns.campaign_id
- type: attribute
- tags:
- - Campaign channels
- title: Campaign channels
- - aggregatedFacts: []
- attributes:
- - description: Campaign name
- id: campaign_name
- isNullable: true
- labels: []
- sourceColumn: campaign_name
- sourceColumnDataType: STRING
- tags:
- - Campaigns
- title: Campaign name
- - description: Campaign id
- id: campaigns.campaign_id
- isNullable: false
- labels: []
- sourceColumn: campaign_id
- sourceColumnDataType: INT
- tags:
- - Campaigns
- title: Campaign id
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaigns
- path:
- - demo
- - campaigns
- type: dataSource
- description: Campaigns
- facts: []
- grain:
- - id: campaigns.campaign_id
- type: attribute
- id: campaigns
- references: []
- tags:
- - Campaigns
- title: Campaigns
- - aggregatedFacts: []
- attributes:
- - description: Customer id
- id: customers.customer_id
- isNullable: false
- labels: []
- sourceColumn: customer_id
- sourceColumnDataType: INT
- tags:
- - Customers
- title: Customer id
- - description: Customer name
- id: customers.customer_name
- isNullable: true
- labels: []
- sourceColumn: customer_name
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Customer name
- - description: Region
- id: customers.region
- isNullable: true
- labels: []
- sourceColumn: region
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Region
- - description: State
- id: customers.state
- isNullable: true
- labels:
- - description: Location
- id: geo__state__location
- isNullable: true
- sourceColumn: geo__state__location
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Location
- valueType: GEO
- sourceColumn: state
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: State
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: customers
- path:
- - demo
- - customers
- type: dataSource
- description: Customers
- facts: []
- grain:
- - id: customers.customer_id
- type: attribute
- id: customers
- references: []
- tags:
- - Customers
- title: Customers
- - aggregatedFacts: []
- attributes:
- - description: Order id
- id: order_lines.order_id
- isNullable: true
- labels: []
- sourceColumn: order_id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order id
- - description: Order line id
- id: order_lines.order_line_id
- isNullable: false
- labels: []
- sourceColumn: order_line_id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order line id
- - description: Order status
- id: order_lines.order_status
- isNullable: true
- labels: []
- sourceColumn: order_status
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order status
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: order_lines
- path:
- - demo
- - order_lines
- type: dataSource
- description: Order lines
- facts:
- - description: Price
- id: order_lines.price
- isNullable: true
- sourceColumn: price
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- title: Price
- - description: Quantity
- id: order_lines.quantity
- isNullable: true
- sourceColumn: quantity
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- title: Quantity
- grain:
- - id: order_lines.order_line_id
- type: attribute
- id: order_lines
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- dataType: INT
- isNullable: true
- target:
- id: campaigns.campaign_id
- type: attribute
- - identifier:
- id: customers
- type: dataset
- multivalue: false
- sources:
- - column: customer_id
- dataType: INT
- isNullable: true
- target:
- id: customers.customer_id
- type: attribute
- - identifier:
- id: date
- type: dataset
- multivalue: false
- sources:
- - column: date
- dataType: DATE
- isNullable: true
- target:
- id: date
- type: date
- - identifier:
- id: products
- type: dataset
- multivalue: false
- sources:
- - column: product_id
- dataType: INT
- isNullable: true
- target:
- id: products.product_id
- type: attribute
- tags:
- - Order lines
- title: Order lines
- workspaceDataFilterColumns:
- - dataType: STRING
- name: wdf__region
- - dataType: STRING
- name: wdf__state
- - aggregatedFacts: []
- attributes:
- - description: Product name
- id: product_name
- isNullable: true
- labels: []
- sourceColumn: product_name
- sourceColumnDataType: STRING
- tags:
- - Products
- title: Product name
- - description: Category
- id: products.category
- isNullable: true
- labels: []
- sourceColumn: category
- sourceColumnDataType: STRING
- tags:
- - Products
- title: Category
- - description: Product id
- id: products.product_id
- isNullable: false
- labels: []
- sourceColumn: product_id
- sourceColumnDataType: INT
- tags:
- - Products
- title: Product id
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: products
- path:
- - demo
- - products
- type: dataSource
- description: Products
- facts: []
- grain:
- - id: products.product_id
- type: attribute
- id: products
- references: []
- tags:
- - Products
- title: Products
- - aggregatedFacts: []
- attributes:
- - description: Campaign id
- id: Order_lines_duplicate_sql_dataset.campaign_id
- labels: []
- sourceColumn: campaign_id
- sourceColumnDataType: INT
- tags:
- - Order lines duplicate sql dataset
- title: Campaign id
- - description: Customer id
- id: Order_lines_duplicate_sql_dataset.customer_id
- labels: []
- sourceColumn: customer_id
- sourceColumnDataType: INT
- tags:
- - Order lines duplicate sql dataset
- title: Customer id
- - description: Order id
- id: Order_lines_duplicate_sql_dataset.order_id
- labels: []
- sourceColumn: order_id
- sourceColumnDataType: STRING
- tags:
- - Order lines duplicate sql dataset
- title: Order id
- - description: Order line id
- id: Order_lines_duplicate_sql_dataset.order_line_id
- labels: []
- sourceColumn: order_line_id
- sourceColumnDataType: STRING
- tags:
- - Order lines duplicate sql dataset
- title: Order line id
- - description: Order status
- id: Order_lines_duplicate_sql_dataset.order_status
- labels: []
- sourceColumn: order_status
- sourceColumnDataType: STRING
- tags:
- - Order lines duplicate sql dataset
- title: Order status
- - description: Product id
- id: Order_lines_duplicate_sql_dataset.product_id
- labels: []
- sourceColumn: product_id
- sourceColumnDataType: INT
- tags:
- - Order lines duplicate sql dataset
- title: Product id
- description: Order lines duplicate sql dataset
- facts:
- - description: Price
- id: Order_lines_duplicate_sql_dataset.price
- sourceColumn: price
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines duplicate sql dataset
- title: Price
- - description: Quantity
- id: Order_lines_duplicate_sql_dataset.quantity
- sourceColumn: quantity
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines duplicate sql dataset
- title: Quantity
- grain: []
- id: Order_lines_duplicate_sql_dataset
- references:
- - identifier:
- id: date
- type: dataset
- multivalue: false
- sources:
- - column: date
- dataType: DATE
- target:
- id: date
- type: date
- sql:
- dataSourceId: demo-test-ds
- statement: SELECT * FROM order_lines
- tags:
- - Order lines duplicate sql dataset
- title: Order lines duplicate sql dataset
- - aggregatedFacts: []
- attributes:
- - description: Customer id
- id: Customers_sql_dataset_with_WDF.customer_id
- labels: []
- sourceColumn: customer_id
- sourceColumnDataType: INT
- tags:
- - Customers sql dataset with WDF
- title: Customer id
- - description: Customer name
- id: Customers_sql_dataset_with_WDF.customer_name
- labels: []
- sourceColumn: customer_name
- sourceColumnDataType: STRING
- tags:
- - Customers sql dataset with WDF
- title: Customer name
- - description: Region
- id: Customers_sql_dataset_with_WDF.region
- labels: []
- sourceColumn: region
- sourceColumnDataType: STRING
- tags:
- - Customers sql dataset with WDF
- title: Region
- - description: State
- id: Customers_sql_dataset_with_WDF.state
- labels: []
- sourceColumn: state
- sourceColumnDataType: STRING
- tags:
- - Customers sql dataset with WDF
- title: State
- description: Customers sql dataset with WDF
- facts: []
- grain: []
- id: Customers_sql_dataset_with_WDF
- references: []
- sql:
- dataSourceId: demo-test-ds
- statement: SELECT * FROM v_wdf_customers
- tags:
- - Customers sql dataset with WDF
- title: Customers sql dataset with WDF
- workspaceDataFilterColumns:
- - dataType: STRING
- name: wdf__region
- dateInstances:
- - granularities:
- - MINUTE
- - HOUR
- - DAY
- - WEEK
- - MONTH
- - QUARTER
- - YEAR
- - MINUTE_OF_HOUR
- - HOUR_OF_DAY
- - DAY_OF_WEEK
- - DAY_OF_MONTH
- - DAY_OF_QUARTER
- - 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/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_load_and_put_declarative_data_sources.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_load_and_put_declarative_data_sources.yaml
deleted file mode 100644
index 3960a76cd..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_load_and_put_declarative_data_sources.yaml
+++ /dev/null
@@ -1,457 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: PUT
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/dataSources
- body:
- dataSources: []
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/organization
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 302
- message: Found
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '0'
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Location:
- - /api/v1/entities/admin/organizations/python-sdk-dex
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/admin/organizations/python-sdk-dex
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '564'
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- name: Python SDK Dex
- hostname: python-sdk-dex.dev-latest.stg11.panther.intgdc.com
- allowedOrigins: []
- earlyAccess: enableAlerting
- earlyAccessValues:
- - enableAlerting
- - enableSmtp
- - enablePreAggregationDatasets
- - enableScheduling
- - enableCompositeGrain
- - enableUserManagement
- - enableRawExports
- - enableFlexibleDashboardLayout
- region: ''
- dataCenter: ''
- id: python-sdk-dex
- type: organization
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/admin/organizations/python-sdk-dex
- - request:
- method: PUT
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/dataSources
- body:
- dataSources:
- - id: demo-bigquery-ds
- name: demo-bigquery-ds
- schema: demo
- type: BIGQUERY
- parameters:
- - name: projectId
- value: projectId-value-override
- decodedParameters:
- - name: clientEmail
- value: fake email
- permissions: []
- token: eyJ0eXBlIjogInNlcnZpY2VfYWNjb3VudCIsICJwcm9qZWN0X2lkIjogIlBST0pFQ1RfSUQiLCAicHJpdmF0ZV9rZXlfaWQiOiAiS0VZX0lEIiwgInByaXZhdGVfa2V5IjogIi0tLS0tQkVHSU4gUFJJVkFURSBLRVktLS0tLVxuUFJJVkFURV9LRVlcbi0tLS0tRU5EIFBSSVZBVEUgS0VZLS0tLS1cbiIsICJjbGllbnRfZW1haWwiOiAiU0VSVklDRV9BQ0NPVU5UX0VNQUlMIiwgImNsaWVudF9pZCI6ICJDTElFTlRfSUQiLCAiYXV0aF91cmkiOiAiaHR0cHM6Ly9hY2NvdW50cy5nb29nbGUuY29tL28vb2F1dGgyL2F1dGgiLCAidG9rZW5fdXJpIjogImh0dHBzOi8vYWNjb3VudHMuZ29vZ2xlLmNvbS9vL29hdXRoMi90b2tlbiIsICJhdXRoX3Byb3ZpZGVyX3g1MDlfY2VydF91cmwiOiAiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vb2F1dGgyL3YxL2NlcnRzIiwgImNsaWVudF94NTA5X2NlcnRfdXJsIjogImh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3JvYm90L3YxL21ldGFkYXRhL3g1MDkvU0VSVklDRV9BQ0NPVU5UX0VNQUlMIn0=
- - id: demo-test-ds
- name: demo-test-ds
- schema: demo
- type: POSTGRESQL
- url: jdbc:postgresql://postgres:5432/tiger?sslmode=prefer
- username: postgres
- permissions:
- - assignee:
- id: demo2
- type: user
- name: MANAGE
- - assignee:
- id: demoGroup
- type: userGroup
- name: USE
- password: secret
- - id: demo-test-ds-databricks-client-secret
- name: demo-test-ds-databricks-client-secret
- schema: demo
- type: DATABRICKS
- url: jdbc:databricks://dbc-1234-abc.cloud.databricks.com:443;httpPath=/sql/1.0/warehouses/9876fdsa;
- parameters:
- - name: catalog
- value: demo
- permissions:
- - assignee:
- id: demo2
- type: user
- name: MANAGE
- - assignee:
- id: demoGroup
- type: userGroup
- name: USE
- clientId: client-id
- clientSecret: databricks-client-secret
- - id: demo-test-ds-databricks-token
- name: demo-test-ds-databricks-token
- schema: demo
- type: DATABRICKS
- url: jdbc:databricks://dbc-1234-abc.cloud.databricks.com:443;httpPath=/sql/1.0/warehouses/9876fdsa;
- parameters:
- - name: catalog
- value: demo
- permissions:
- - assignee:
- id: demo2
- type: user
- name: MANAGE
- - assignee:
- id: demoGroup
- type: userGroup
- name: USE
- token: databricks-token
- - id: demo-vertica-ds
- name: demo-vertica-ds
- schema: demo
- type: VERTICA
- url: jdbc:vertica://localhost:5434/demo
- permissions: []
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/dataSources
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- dataSources:
- - authenticationType: TOKEN
- decodedParameters:
- - name: clientEmail
- value: SERVICE_ACCOUNT_EMAIL
- - name: keyId
- value: KEY_ID
- - name: projectId
- value: PROJECT_ID
- id: demo-bigquery-ds
- name: demo-bigquery-ds
- parameters:
- - name: projectId
- value: projectId-value-override
- permissions: []
- schema: demo
- type: BIGQUERY
- - authenticationType: USERNAME_PASSWORD
- id: demo-test-ds
- name: demo-test-ds
- permissions:
- - assignee:
- id: demo2
- type: user
- name: MANAGE
- - assignee:
- id: demoGroup
- type: userGroup
- name: USE
- schema: demo
- type: POSTGRESQL
- url: jdbc:postgresql://postgres:5432/tiger?sslmode=prefer
- username: postgres
- - authenticationType: CLIENT_SECRET
- clientId: client-id
- id: demo-test-ds-databricks-client-secret
- name: demo-test-ds-databricks-client-secret
- parameters:
- - name: catalog
- value: demo
- permissions:
- - assignee:
- id: demo2
- type: user
- name: MANAGE
- - assignee:
- id: demoGroup
- type: userGroup
- name: USE
- schema: demo
- type: DATABRICKS
- url: jdbc:databricks://dbc-1234-abc.cloud.databricks.com:443;httpPath=/sql/1.0/warehouses/9876fdsa;AuthMech=11;Auth_Flow=1
- - authenticationType: TOKEN
- id: demo-test-ds-databricks-token
- name: demo-test-ds-databricks-token
- parameters:
- - name: catalog
- value: demo
- permissions:
- - assignee:
- id: demo2
- type: user
- name: MANAGE
- - assignee:
- id: demoGroup
- type: userGroup
- name: USE
- schema: demo
- type: DATABRICKS
- url: jdbc:databricks://dbc-1234-abc.cloud.databricks.com:443;httpPath=/sql/1.0/warehouses/9876fdsa;UID=token;AuthMech=3
- - id: demo-vertica-ds
- name: demo-vertica-ds
- permissions: []
- schema: demo
- type: VERTICA
- url: jdbc:vertica://localhost:5434/demo
- - request:
- method: PUT
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/dataSources
- body:
- dataSources:
- - id: demo-test-ds
- name: demo-test-ds
- schema: demo
- type: POSTGRESQL
- url: jdbc:postgresql://postgres:5432/tiger?sslmode=prefer
- username: postgres
- permissions:
- - assignee:
- id: demo2
- type: user
- name: MANAGE
- - assignee:
- id: demoGroup
- type: userGroup
- name: USE
- alternativeDataSourceId: ds-put-abc-id
- password: secret
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_put_declarative_data_sources.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_put_declarative_data_sources.yaml
deleted file mode 100644
index 601a25aa8..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_put_declarative_data_sources.yaml
+++ /dev/null
@@ -1,253 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/dataSources
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '428'
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- dataSources:
- - alternativeDataSourceId: ds-put-abc-id
- authenticationType: USERNAME_PASSWORD
- id: demo-test-ds
- name: demo-test-ds
- permissions:
- - assignee:
- id: demo2
- type: user
- name: MANAGE
- - assignee:
- id: demoGroup
- type: userGroup
- name: USE
- schema: demo
- type: POSTGRESQL
- url: jdbc:postgresql://postgresql-ha-pgpool.postgresql-ha/tiger_tests?sslmode=prefer
- username: postgres
- - request:
- method: PUT
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/dataSources
- body:
- dataSources:
- - id: demo-test-ds
- name: demo-test-ds
- schema: demo
- type: POSTGRESQL
- url: jdbc:postgresql://postgresql-ha-pgpool.postgresql-ha/tiger_tests?sslmode=prefer
- username: postgres
- permissions:
- - assignee:
- id: demo2
- type: user
- name: MANAGE
- - assignee:
- id: demoGroup
- type: userGroup
- name: USE
- authenticationType: USERNAME_PASSWORD
- alternativeDataSourceId: ds-put-abc-id
- password: secret
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/dataSources
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '428'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- dataSources:
- - alternativeDataSourceId: ds-put-abc-id
- authenticationType: USERNAME_PASSWORD
- id: demo-test-ds
- name: demo-test-ds
- permissions:
- - assignee:
- id: demo2
- type: user
- name: MANAGE
- - assignee:
- id: demoGroup
- type: userGroup
- name: USE
- schema: demo
- type: POSTGRESQL
- url: jdbc:postgresql://postgresql-ha-pgpool.postgresql-ha/tiger_tests?sslmode=prefer
- username: postgres
- - request:
- method: PUT
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/dataSources
- body:
- dataSources:
- - id: demo-test-ds
- name: demo-test-ds
- schema: demo
- type: POSTGRESQL
- url: jdbc:postgresql://postgresql-ha-pgpool.postgresql-ha/tiger_tests?sslmode=prefer
- username: postgres
- permissions:
- - assignee:
- id: demo2
- type: user
- name: MANAGE
- - assignee:
- id: demoGroup
- type: userGroup
- name: USE
- alternativeDataSourceId: ds-put-abc-id
- password: secret
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_put_declarative_data_sources_connection.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_put_declarative_data_sources_connection.yaml
deleted file mode 100644
index e52389d1c..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_put_declarative_data_sources_connection.yaml
+++ /dev/null
@@ -1,310 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/dataSources
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '428'
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- dataSources:
- - alternativeDataSourceId: ds-put-abc-id
- authenticationType: USERNAME_PASSWORD
- id: demo-test-ds
- name: demo-test-ds
- permissions:
- - assignee:
- id: demo2
- type: user
- name: MANAGE
- - assignee:
- id: demoGroup
- type: userGroup
- name: USE
- schema: demo
- type: POSTGRESQL
- url: jdbc:postgresql://postgresql-ha-pgpool.postgresql-ha/tiger_tests?sslmode=prefer
- username: postgres
- - request:
- method: POST
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/actions/dataSource/test
- body:
- type: POSTGRESQL
- url: jdbc:postgresql://postgresql-ha-pgpool.postgresql-ha/tiger_tests?sslmode=prefer
- schema: demo
- password: secret
- username: postgres
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '82'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- queryDurationMillis:
- createCacheTable: 0
- simpleSelect: 12
- successful: true
- - request:
- method: PUT
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/dataSources
- body:
- dataSources:
- - id: demo-test-ds
- name: demo-test-ds
- schema: demo
- type: POSTGRESQL
- url: jdbc:postgresql://postgresql-ha-pgpool.postgresql-ha/tiger_tests?sslmode=prefer
- username: postgres
- permissions:
- - assignee:
- id: demo2
- type: user
- name: MANAGE
- - assignee:
- id: demoGroup
- type: userGroup
- name: USE
- authenticationType: USERNAME_PASSWORD
- alternativeDataSourceId: ds-put-abc-id
- password: secret
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/dataSources
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '428'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- dataSources:
- - alternativeDataSourceId: ds-put-abc-id
- authenticationType: USERNAME_PASSWORD
- id: demo-test-ds
- name: demo-test-ds
- permissions:
- - assignee:
- id: demo2
- type: user
- name: MANAGE
- - assignee:
- id: demoGroup
- type: userGroup
- name: USE
- schema: demo
- type: POSTGRESQL
- url: jdbc:postgresql://postgresql-ha-pgpool.postgresql-ha/tiger_tests?sslmode=prefer
- username: postgres
- - request:
- method: PUT
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/dataSources
- body:
- dataSources:
- - id: demo-test-ds
- name: demo-test-ds
- schema: demo
- type: POSTGRESQL
- url: jdbc:postgresql://postgresql-ha-pgpool.postgresql-ha/tiger_tests?sslmode=prefer
- username: postgres
- permissions:
- - assignee:
- id: demo2
- type: user
- name: MANAGE
- - assignee:
- id: demoGroup
- type: userGroup
- name: USE
- alternativeDataSourceId: ds-put-abc-id
- password: secret
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_register_upload_notification.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_register_upload_notification.yaml
deleted file mode 100644
index 815ade76b..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_register_upload_notification.yaml
+++ /dev/null
@@ -1,630 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics?page=0&size=500
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- - attributes:
- title: '# of Active Customers'
- areRelationsValid: true
- content:
- format: '#,##0'
- maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id})
- createdAt: 2025-08-07 11:45
- id: amount_of_active_customers
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/amount_of_active_customers
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: metric
- - attributes:
- title: '# of Orders'
- areRelationsValid: true
- content:
- format: '#,##0'
- maql: SELECT COUNT({attribute/order_id})
- createdAt: 2025-08-07 11:45
- id: amount_of_orders
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/amount_of_orders
- meta:
- origin:
- originId: demo
- originType: NATIVE
- 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 '
- createdAt: 2025-08-07 11:45
- id: amount_of_top_customers
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/amount_of_top_customers
- meta:
- origin:
- originId: demo
- originType: NATIVE
- 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"))
- createdAt: 2025-08-07 11:45
- id: amount_of_valid_orders
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/amount_of_valid_orders
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: metric
- - attributes:
- title: Campaign Spend
- areRelationsValid: true
- content:
- format: $#,##0
- maql: SELECT SUM({fact/spend})
- createdAt: 2025-08-07 11:45
- id: campaign_spend
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/campaign_spend
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: metric
- - attributes:
- title: Order Amount
- areRelationsValid: true
- content:
- format: $#,##0
- maql: SELECT SUM({fact/price}*{fact/quantity})
- createdAt: 2025-08-07 11:45
- id: order_amount
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/order_amount
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: metric
- - attributes:
- title: '% Revenue'
- areRelationsValid: true
- content:
- format: '#,##0.0%'
- maql: SELECT {metric/revenue} / {metric/total_revenue}
- createdAt: 2025-08-07 11:45
- id: percent_revenue
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/percent_revenue
- meta:
- origin:
- originId: demo
- originType: NATIVE
- 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}"
- createdAt: 2025-08-07 11:45
- id: percent_revenue_from_top_10_customers
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_customers
- meta:
- origin:
- originId: demo
- originType: NATIVE
- 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}"
- createdAt: 2025-08-07 11:45
- id: percent_revenue_from_top_10_percent_customers
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_customers
- meta:
- origin:
- originId: demo
- originType: NATIVE
- 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}"
- createdAt: 2025-08-07 11:45
- id: percent_revenue_from_top_10_percent_products
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_products
- meta:
- origin:
- originId: demo
- originType: NATIVE
- 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}"
- createdAt: 2025-08-07 11:45
- id: percent_revenue_from_top_10_products
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_products
- meta:
- origin:
- originId: demo
- originType: NATIVE
- 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)
- createdAt: 2025-08-07 11:45
- id: percent_revenue_in_category
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/percent_revenue_in_category
- meta:
- origin:
- originId: demo
- originType: NATIVE
- 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})
- createdAt: 2025-08-07 11:45
- id: percent_revenue_per_product
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/percent_revenue_per_product
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: metric
- - attributes:
- title: Revenue
- description: ''
- areRelationsValid: true
- content:
- format: $#,##0
- maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status}
- IN ("Returned", "Canceled"))
- createdAt: 2025-08-07 11:45
- id: revenue
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/revenue
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: metric
- - attributes:
- title: Revenue (Clothing)
- areRelationsValid: true
- content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE {label/products.category} IN
- ("Clothing")
- createdAt: 2025-08-07 11:45
- id: revenue-clothing
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/revenue-clothing
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: metric
- - attributes:
- title: Revenue (Electronic)
- areRelationsValid: true
- content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE {label/products.category} IN
- ( "Electronics")
- createdAt: 2025-08-07 11:45
- id: revenue-electronic
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/revenue-electronic
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: metric
- - attributes:
- title: Revenue (Home)
- areRelationsValid: true
- content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE {label/products.category} IN
- ("Home")
- createdAt: 2025-08-07 11:45
- id: revenue-home
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/revenue-home
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: metric
- - attributes:
- title: Revenue (Outdoor)
- areRelationsValid: true
- content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE {label/products.category} IN
- ("Outdoor")
- createdAt: 2025-08-07 11:45
- id: revenue-outdoor
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/revenue-outdoor
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: metric
- - attributes:
- title: Revenue per Customer
- areRelationsValid: true
- content:
- format: $#,##0.0
- maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id})
- createdAt: 2025-08-07 11:45
- id: revenue_per_customer
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/revenue_per_customer
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: metric
- - attributes:
- title: Revenue per Dollar Spent
- areRelationsValid: true
- content:
- format: $#,##0.0
- maql: SELECT {metric/revenue} / {metric/campaign_spend}
- createdAt: 2025-08-07 11:45
- id: revenue_per_dollar_spent
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/revenue_per_dollar_spent
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: metric
- - attributes:
- title: Revenue / Top 10
- areRelationsValid: true
- content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue})
- createdAt: 2025-08-07 11:45
- id: revenue_top_10
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/revenue_top_10
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: metric
- - attributes:
- title: Revenue / Top 10%
- areRelationsValid: true
- content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue})
- createdAt: 2025-08-07 11:45
- id: revenue_top_10_percent
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/revenue_top_10_percent
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: metric
- - attributes:
- title: Total Revenue
- areRelationsValid: true
- content:
- format: $#,##0
- maql: SELECT {metric/revenue} BY ALL OTHER
- createdAt: 2025-08-07 11:45
- id: total_revenue
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/total_revenue
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: metric
- - attributes:
- title: Total Revenue (No Filters)
- areRelationsValid: true
- content:
- format: $#,##0
- maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER
- createdAt: 2025-08-07 11:45
- id: total_revenue-no_filters
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/total_revenue-no_filters
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: metric
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics?page=0&size=500
- next: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics?page=1&size=500
- - request:
- method: POST
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/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
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '337'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-CANCEL-TOKEN:
- - cc351094-43f7-4004-bde7-2576aaab112c
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- executionResponse:
- dimensions:
- - headers:
- - measureGroupHeaders:
- - localIdentifier: amount_of_active_customers
- format: '#,##0'
- name: '# of Active Customers'
- localIdentifier: dim_0
- links:
- executionResult: e634429a8a94a8d8cd6515382f18f80ce12964e9:116165a10ca5e19f7e2bd5b45348106f14d72eebe522316b25231881371f5532
- - request:
- method: POST
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/actions/dataSources/demo-test-ds/uploadNotification
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: POST
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/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
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '337'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-CANCEL-TOKEN:
- - 02b25b56-c095-4194-b44a-3b60bfea80d7
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- executionResponse:
- dimensions:
- - headers:
- - measureGroupHeaders:
- - localIdentifier: amount_of_active_customers
- format: '#,##0'
- name: '# of Active Customers'
- localIdentifier: dim_0
- links:
- executionResult: d84cf434cc6800215a21e7a7e7a068ff39aedb97:db64173e3a46017a3d797d326733ad85612fbf595ff97885d7f96b5549dd4203
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_scan_pdm_and_generate_logical_model.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_scan_pdm_and_generate_logical_model.yaml
deleted file mode 100644
index e2719172f..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_scan_pdm_and_generate_logical_model.yaml
+++ /dev/null
@@ -1,1214 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces/demo/logicalModel
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- ldm:
- datasets:
- - aggregatedFacts: []
- attributes:
- - description: Campaign channel id
- id: campaign_channel_id
- isNullable: false
- labels: []
- sourceColumn: campaign_channel_id
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Campaign channel id
- - description: Category
- id: campaign_channels.category
- isNullable: true
- labels: []
- sourceColumn: category
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Category
- - description: Type
- id: type
- isNullable: true
- labels: []
- sourceColumn: type
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Type
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaign_channels
- path:
- - demo
- - campaign_channels
- type: dataSource
- description: Campaign channels
- facts:
- - description: Budget
- id: budget
- isNullable: true
- sourceColumn: budget
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- title: Budget
- - description: Spend
- id: spend
- isNullable: true
- sourceColumn: spend
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- title: Spend
- grain:
- - id: campaign_channel_id
- type: attribute
- id: campaign_channels
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- dataType: INT
- isNullable: true
- target:
- id: campaign_id
- type: attribute
- tags:
- - Campaign channels
- title: Campaign channels
- - aggregatedFacts:
- - description: Budget Agg
- id: budget_agg
- sourceColumn: budget
- sourceColumnDataType: INT
- sourceFactReference:
- operation: SUM
- reference:
- id: budget
- type: fact
- tags:
- - Campaign channels per category
- attributes: []
- description: Campaign channels per categories
- facts: []
- grain: []
- id: campaign_channels_per_category
- precedence: 1
- references:
- - identifier:
- id: campaign_channels
- type: dataset
- multivalue: false
- sources:
- - column: campaign_channel_id
- dataType: STRING
- isNullable: true
- target:
- id: campaign_channel_id
- type: attribute
- sql:
- dataSourceId: demo-test-ds
- statement: SELECT category, SUM(budget) FROM campaign_channels GROUP
- BY category
- tags:
- - Campaign channels per category
- title: Campaign channels per category
- - aggregatedFacts: []
- attributes:
- - description: Campaign id
- id: campaign_id
- isNullable: false
- labels: []
- sourceColumn: campaign_id
- sourceColumnDataType: INT
- tags:
- - Campaigns
- title: Campaign id
- - description: Campaign name
- id: campaign_name
- isNullable: true
- labels: []
- sourceColumn: campaign_name
- sourceColumnDataType: STRING
- tags:
- - Campaigns
- title: Campaign name
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaigns
- path:
- - demo
- - campaigns
- type: dataSource
- description: Campaigns
- facts: []
- grain:
- - id: campaign_id
- type: attribute
- id: campaigns
- references: []
- tags:
- - Campaigns
- title: Campaigns
- - aggregatedFacts: []
- attributes:
- - description: Customer id
- id: customer_id
- isNullable: false
- labels: []
- sourceColumn: customer_id
- sourceColumnDataType: INT
- tags:
- - Customers
- title: Customer id
- - description: Customer name
- id: customer_name
- isNullable: true
- labels: []
- sourceColumn: customer_name
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Customer name
- - description: Region
- id: region
- isNullable: true
- labels: []
- sourceColumn: region
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Region
- - description: State
- id: state
- isNullable: true
- labels:
- - description: Location
- id: geo__state__location
- isNullable: true
- sourceColumn: geo__state__location
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Location
- valueType: GEO
- sourceColumn: state
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: State
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: customers
- path:
- - demo
- - customers
- type: dataSource
- description: Customers
- facts: []
- grain:
- - id: customer_id
- type: attribute
- id: customers
- references: []
- tags:
- - Customers
- title: Customers
- - aggregatedFacts: []
- attributes:
- - description: Order id
- id: order_id
- isNullable: true
- labels: []
- sourceColumn: order_id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order id
- - description: Order line id
- id: order_line_id
- isNullable: false
- labels: []
- sourceColumn: order_line_id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order line id
- - description: Order status
- id: order_status
- isNullable: true
- labels: []
- sourceColumn: order_status
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order status
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: order_lines
- path:
- - demo
- - order_lines
- type: dataSource
- description: Order lines
- facts:
- - description: Price
- id: price
- isNullable: true
- sourceColumn: price
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- title: Price
- - description: Quantity
- id: quantity
- isNullable: true
- sourceColumn: quantity
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- title: Quantity
- grain:
- - id: order_line_id
- type: attribute
- id: order_lines
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- dataType: INT
- isNullable: true
- target:
- id: campaign_id
- type: attribute
- - identifier:
- id: customers
- type: dataset
- multivalue: false
- sources:
- - column: customer_id
- dataType: INT
- isNullable: true
- target:
- id: customer_id
- type: attribute
- - identifier:
- id: date
- type: dataset
- multivalue: false
- sources:
- - column: date
- dataType: DATE
- isNullable: true
- target:
- id: date
- type: date
- - identifier:
- id: products
- type: dataset
- multivalue: false
- sources:
- - column: product_id
- dataType: INT
- isNullable: true
- target:
- id: product_id
- type: attribute
- tags:
- - Order lines
- title: Order lines
- workspaceDataFilterColumns:
- - dataType: STRING
- name: wdf__region
- - dataType: STRING
- name: wdf__state
- workspaceDataFilterReferences:
- - filterColumn: wdf__region
- filterColumnDataType: STRING
- filterId:
- id: wdf__region
- type: workspaceDataFilter
- - aggregatedFacts: []
- attributes:
- - description: Product id
- id: product_id
- isNullable: false
- labels: []
- sourceColumn: product_id
- sourceColumnDataType: INT
- tags:
- - Products
- title: Product id
- - description: Product name
- id: product_name
- isNullable: true
- labels: []
- sourceColumn: product_name
- sourceColumnDataType: STRING
- tags:
- - Products
- title: Product name
- - description: Category
- id: products.category
- isNullable: true
- labels: []
- sourceColumn: category
- sourceColumnDataType: STRING
- tags:
- - Products
- title: Category
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: products
- path:
- - demo
- - products
- type: dataSource
- description: Products
- facts: []
- grain:
- - id: product_id
- type: attribute
- id: products
- references: []
- tags:
- - Products
- title: Products
- dateInstances:
- - description: ''
- granularities:
- - DAY
- - WEEK
- - MONTH
- - QUARTER
- - YEAR
- granularitiesFormatting:
- titleBase: ''
- titlePattern: '%titleBase - %granularityTitle'
- id: date
- tags:
- - Date
- title: Date
- - request:
- method: POST
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/actions/dataSources/demo-test-ds/scan
- body:
- scanTables: true
- scanViews: false
- separator: __
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- pdm:
- tables:
- - columns:
- - dataType: NUMERIC
- isNullable: true
- isPrimaryKey: false
- name: budget
- - dataType: STRING
- isNullable: false
- isPrimaryKey: true
- name: campaign_channel_id
- - dataType: INT
- isNullable: true
- isPrimaryKey: false
- name: campaign_id
- referencedTableColumn: campaign_id
- referencedTableId: campaigns
- - dataType: STRING
- isNullable: true
- isPrimaryKey: false
- name: category
- - dataType: NUMERIC
- isNullable: true
- isPrimaryKey: false
- name: spend
- - dataType: STRING
- isNullable: true
- isPrimaryKey: false
- name: type
- id: campaign_channels
- path:
- - demo
- - campaign_channels
- type: TABLE
- - columns:
- - dataType: INT
- isNullable: false
- isPrimaryKey: true
- name: campaign_id
- - dataType: STRING
- isNullable: true
- isPrimaryKey: false
- name: campaign_name
- id: campaigns
- path:
- - demo
- - campaigns
- type: TABLE
- - columns:
- - dataType: INT
- isNullable: false
- isPrimaryKey: true
- name: customer_id
- - dataType: STRING
- isNullable: true
- isPrimaryKey: false
- name: customer_name
- - dataType: STRING
- isNullable: true
- isPrimaryKey: false
- name: geo__state__location
- - dataType: STRING
- isNullable: true
- isPrimaryKey: false
- name: region
- - dataType: STRING
- isNullable: true
- isPrimaryKey: false
- name: state
- id: customers
- path:
- - demo
- - customers
- type: TABLE
- - columns:
- - dataType: INT
- isNullable: true
- isPrimaryKey: false
- name: campaign_id
- referencedTableColumn: campaign_id
- referencedTableId: campaigns
- - dataType: INT
- isNullable: true
- isPrimaryKey: false
- name: customer_id
- referencedTableColumn: customer_id
- referencedTableId: customers
- - dataType: DATE
- isNullable: true
- isPrimaryKey: false
- name: date
- - dataType: STRING
- isNullable: true
- isPrimaryKey: false
- name: order_id
- - dataType: STRING
- isNullable: false
- isPrimaryKey: true
- name: order_line_id
- - dataType: STRING
- isNullable: true
- isPrimaryKey: false
- name: order_status
- - dataType: NUMERIC
- isNullable: true
- isPrimaryKey: false
- name: price
- - dataType: INT
- isNullable: true
- isPrimaryKey: false
- name: product_id
- referencedTableColumn: product_id
- referencedTableId: products
- - dataType: NUMERIC
- isNullable: true
- isPrimaryKey: false
- name: quantity
- - dataType: STRING
- isNullable: true
- isPrimaryKey: false
- name: wdf__region
- - dataType: STRING
- isNullable: true
- isPrimaryKey: false
- name: wdf__state
- id: order_lines
- path:
- - demo
- - order_lines
- type: TABLE
- - columns:
- - dataType: STRING
- isNullable: true
- isPrimaryKey: false
- name: category
- - dataType: INT
- isNullable: false
- isPrimaryKey: true
- name: product_id
- - dataType: STRING
- isNullable: true
- isPrimaryKey: false
- name: product_name
- id: products
- path:
- - demo
- - products
- type: TABLE
- warnings: []
- - request:
- method: POST
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/actions/dataSources/demo-test-ds/generateLogicalModel
- body:
- separator: __
- wdfPrefix: wdf
- pdm:
- tables:
- - columns:
- - dataType: NUMERIC
- name: budget
- isPrimaryKey: false
- isNullable: true
- - dataType: STRING
- name: campaign_channel_id
- isPrimaryKey: true
- isNullable: false
- - dataType: INT
- name: campaign_id
- isPrimaryKey: false
- referencedTableId: campaigns
- referencedTableColumn: campaign_id
- isNullable: true
- - dataType: STRING
- name: category
- isPrimaryKey: false
- isNullable: true
- - dataType: NUMERIC
- name: spend
- isPrimaryKey: false
- isNullable: true
- - dataType: STRING
- name: type
- isPrimaryKey: false
- isNullable: true
- id: campaign_channels
- path:
- - demo
- - campaign_channels
- type: TABLE
- - columns:
- - dataType: INT
- name: campaign_id
- isPrimaryKey: true
- isNullable: false
- - dataType: STRING
- name: campaign_name
- isPrimaryKey: false
- isNullable: true
- id: campaigns
- path:
- - demo
- - campaigns
- type: TABLE
- - columns:
- - dataType: INT
- name: customer_id
- isPrimaryKey: true
- isNullable: false
- - dataType: STRING
- name: customer_name
- isPrimaryKey: false
- isNullable: true
- - dataType: STRING
- name: geo__state__location
- isPrimaryKey: false
- isNullable: true
- - dataType: STRING
- name: region
- isPrimaryKey: false
- isNullable: true
- - dataType: STRING
- name: state
- isPrimaryKey: false
- isNullable: true
- id: customers
- path:
- - demo
- - customers
- type: TABLE
- - columns:
- - dataType: INT
- name: campaign_id
- isPrimaryKey: false
- referencedTableId: campaigns
- referencedTableColumn: campaign_id
- isNullable: true
- - dataType: INT
- name: customer_id
- isPrimaryKey: false
- referencedTableId: customers
- referencedTableColumn: customer_id
- isNullable: true
- - dataType: DATE
- name: date
- isPrimaryKey: false
- isNullable: true
- - dataType: STRING
- name: order_id
- isPrimaryKey: false
- isNullable: true
- - dataType: STRING
- name: order_line_id
- isPrimaryKey: true
- isNullable: false
- - dataType: STRING
- name: order_status
- isPrimaryKey: false
- isNullable: true
- - dataType: NUMERIC
- name: price
- isPrimaryKey: false
- isNullable: true
- - dataType: INT
- name: product_id
- isPrimaryKey: false
- referencedTableId: products
- referencedTableColumn: product_id
- isNullable: true
- - dataType: NUMERIC
- name: quantity
- isPrimaryKey: false
- isNullable: true
- - dataType: STRING
- name: wdf__region
- isPrimaryKey: false
- isNullable: true
- - dataType: STRING
- name: wdf__state
- isPrimaryKey: false
- isNullable: true
- id: order_lines
- path:
- - demo
- - order_lines
- type: TABLE
- - columns:
- - dataType: STRING
- name: category
- isPrimaryKey: false
- isNullable: true
- - dataType: INT
- name: product_id
- isPrimaryKey: true
- isNullable: false
- - dataType: STRING
- name: product_name
- isPrimaryKey: false
- isNullable: true
- id: products
- path:
- - demo
- - products
- type: TABLE
- workspaceId: demo
- translationPrefix: tr
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- ldm:
- datasets:
- - aggregatedFacts: []
- attributes:
- - description: Campaign channel id
- id: campaign_channel_id
- isNullable: false
- labels: []
- sourceColumn: campaign_channel_id
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Campaign channel id
- - description: Category
- id: campaign_channels.category
- isNullable: true
- labels: []
- sourceColumn: category
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Category
- - description: Type
- id: type
- isNullable: true
- labels: []
- sourceColumn: type
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Type
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaign_channels
- path:
- - demo
- - campaign_channels
- type: dataSource
- description: Campaign channels
- facts:
- - description: Budget
- id: budget
- isNullable: true
- sourceColumn: budget
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- title: Budget
- - description: Spend
- id: spend
- isNullable: true
- sourceColumn: spend
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- title: Spend
- grain:
- - id: campaign_channel_id
- type: attribute
- id: campaign_channels
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- dataType: INT
- isNullable: true
- target:
- id: campaign_id
- type: attribute
- tags:
- - Campaign channels
- title: Campaign channels
- - aggregatedFacts: []
- attributes:
- - description: Campaign id
- id: campaign_id
- isNullable: false
- labels: []
- sourceColumn: campaign_id
- sourceColumnDataType: INT
- tags:
- - Campaigns
- title: Campaign id
- - description: Campaign name
- id: campaign_name
- isNullable: true
- labels: []
- sourceColumn: campaign_name
- sourceColumnDataType: STRING
- tags:
- - Campaigns
- title: Campaign name
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaigns
- path:
- - demo
- - campaigns
- type: dataSource
- description: Campaigns
- facts: []
- grain:
- - id: campaign_id
- type: attribute
- id: campaigns
- references: []
- tags:
- - Campaigns
- title: Campaigns
- - aggregatedFacts: []
- attributes:
- - description: Customer id
- id: customer_id
- isNullable: false
- labels: []
- sourceColumn: customer_id
- sourceColumnDataType: INT
- tags:
- - Customers
- title: Customer id
- - description: Customer name
- id: customer_name
- isNullable: true
- labels: []
- sourceColumn: customer_name
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Customer name
- - description: Region
- id: region
- isNullable: true
- labels: []
- sourceColumn: region
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Region
- - description: State
- id: state
- isNullable: true
- labels:
- - description: Location
- id: geo__state__location
- isNullable: true
- sourceColumn: geo__state__location
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Location
- valueType: GEO
- sourceColumn: state
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: State
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: customers
- path:
- - demo
- - customers
- type: dataSource
- description: Customers
- facts: []
- grain:
- - id: customer_id
- type: attribute
- id: customers
- references: []
- tags:
- - Customers
- title: Customers
- - aggregatedFacts: []
- attributes:
- - description: Order id
- id: order_id
- isNullable: true
- labels: []
- sourceColumn: order_id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order id
- - description: Order line id
- id: order_line_id
- isNullable: false
- labels: []
- sourceColumn: order_line_id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order line id
- - description: Order status
- id: order_status
- isNullable: true
- labels: []
- sourceColumn: order_status
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order status
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: order_lines
- path:
- - demo
- - order_lines
- type: dataSource
- description: Order lines
- facts:
- - description: Price
- id: price
- isNullable: true
- sourceColumn: price
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- title: Price
- - description: Quantity
- id: quantity
- isNullable: true
- sourceColumn: quantity
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- title: Quantity
- grain:
- - id: order_line_id
- type: attribute
- id: order_lines
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- dataType: INT
- isNullable: true
- target:
- id: campaign_id
- type: attribute
- - identifier:
- id: customers
- type: dataset
- multivalue: false
- sources:
- - column: customer_id
- dataType: INT
- isNullable: true
- target:
- id: customer_id
- type: attribute
- - identifier:
- id: date
- type: dataset
- multivalue: false
- sources:
- - column: date
- dataType: DATE
- isNullable: true
- target:
- id: date
- type: date
- - identifier:
- id: products
- type: dataset
- multivalue: false
- sources:
- - column: product_id
- dataType: INT
- isNullable: true
- target:
- id: product_id
- type: attribute
- tags:
- - Order lines
- title: Order lines
- workspaceDataFilterColumns:
- - dataType: STRING
- name: wdf__region
- - dataType: STRING
- name: wdf__state
- workspaceDataFilterReferences:
- - filterColumn: wdf__region
- filterColumnDataType: STRING
- filterId:
- id: wdf__region
- type: workspaceDataFilter
- - aggregatedFacts: []
- attributes:
- - description: Product id
- id: product_id
- isNullable: false
- labels: []
- sourceColumn: product_id
- sourceColumnDataType: INT
- tags:
- - Products
- title: Product id
- - description: Product name
- id: product_name
- isNullable: true
- labels: []
- sourceColumn: product_name
- sourceColumnDataType: STRING
- tags:
- - Products
- title: Product name
- - description: Category
- id: products.category
- isNullable: true
- labels: []
- sourceColumn: category
- sourceColumnDataType: STRING
- tags:
- - Products
- title: Category
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: products
- path:
- - demo
- - 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_QUARTER
- - 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/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_scan_pdm_and_generate_logical_model_sql_datasets.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_scan_pdm_and_generate_logical_model_sql_datasets.yaml
deleted file mode 100644
index 551fa0d3b..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_scan_pdm_and_generate_logical_model_sql_datasets.yaml
+++ /dev/null
@@ -1,935 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: POST
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/actions/dataSources/demo-test-ds/scan
- body:
- scanTables: true
- scanViews: false
- separator: __
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- pdm:
- tables:
- - columns:
- - dataType: NUMERIC
- isNullable: true
- isPrimaryKey: false
- name: budget
- - dataType: STRING
- isNullable: false
- isPrimaryKey: true
- name: campaign_channel_id
- - dataType: INT
- isNullable: true
- isPrimaryKey: false
- name: campaign_id
- referencedTableColumn: campaign_id
- referencedTableId: campaigns
- - dataType: STRING
- isNullable: true
- isPrimaryKey: false
- name: category
- - dataType: NUMERIC
- isNullable: true
- isPrimaryKey: false
- name: spend
- - dataType: STRING
- isNullable: true
- isPrimaryKey: false
- name: type
- id: campaign_channels
- path:
- - demo
- - campaign_channels
- type: TABLE
- - columns:
- - dataType: INT
- isNullable: false
- isPrimaryKey: true
- name: campaign_id
- - dataType: STRING
- isNullable: true
- isPrimaryKey: false
- name: campaign_name
- id: campaigns
- path:
- - demo
- - campaigns
- type: TABLE
- - columns:
- - dataType: INT
- isNullable: false
- isPrimaryKey: true
- name: customer_id
- - dataType: STRING
- isNullable: true
- isPrimaryKey: false
- name: customer_name
- - dataType: STRING
- isNullable: true
- isPrimaryKey: false
- name: geo__state__location
- - dataType: STRING
- isNullable: true
- isPrimaryKey: false
- name: region
- - dataType: STRING
- isNullable: true
- isPrimaryKey: false
- name: state
- id: customers
- path:
- - demo
- - customers
- type: TABLE
- - columns:
- - dataType: INT
- isNullable: true
- isPrimaryKey: false
- name: campaign_id
- referencedTableColumn: campaign_id
- referencedTableId: campaigns
- - dataType: INT
- isNullable: true
- isPrimaryKey: false
- name: customer_id
- referencedTableColumn: customer_id
- referencedTableId: customers
- - dataType: DATE
- isNullable: true
- isPrimaryKey: false
- name: date
- - dataType: STRING
- isNullable: true
- isPrimaryKey: false
- name: order_id
- - dataType: STRING
- isNullable: false
- isPrimaryKey: true
- name: order_line_id
- - dataType: STRING
- isNullable: true
- isPrimaryKey: false
- name: order_status
- - dataType: NUMERIC
- isNullable: true
- isPrimaryKey: false
- name: price
- - dataType: INT
- isNullable: true
- isPrimaryKey: false
- name: product_id
- referencedTableColumn: product_id
- referencedTableId: products
- - dataType: NUMERIC
- isNullable: true
- isPrimaryKey: false
- name: quantity
- - dataType: STRING
- isNullable: true
- isPrimaryKey: false
- name: wdf__region
- - dataType: STRING
- isNullable: true
- isPrimaryKey: false
- name: wdf__state
- id: order_lines
- path:
- - demo
- - order_lines
- type: TABLE
- - columns:
- - dataType: STRING
- isNullable: true
- isPrimaryKey: false
- name: category
- - dataType: INT
- isNullable: false
- isPrimaryKey: true
- name: product_id
- - dataType: STRING
- isNullable: true
- isPrimaryKey: false
- name: product_name
- id: products
- path:
- - demo
- - products
- type: TABLE
- warnings: []
- - request:
- method: POST
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/actions/dataSources/demo-test-ds/generateLogicalModel
- body:
- separator: __
- wdfPrefix: wdf
- pdm:
- sqls:
- - statement: SELECT * FROM order_lines
- title: Order lines duplicate sql dataset
- columns:
- - dataType: STRING
- name: order_line_id
- - dataType: STRING
- name: order_id
- - dataType: STRING
- name: order_status
- - dataType: DATE
- name: date
- - dataType: INT
- name: campaign_id
- - dataType: INT
- name: customer_id
- - dataType: INT
- name: product_id
- - dataType: NUMERIC
- name: price
- - dataType: NUMERIC
- name: quantity
- - statement: SELECT * FROM v_wdf_customers
- title: Customers sql dataset with WDF
- columns:
- - dataType: INT
- name: customer_id
- - dataType: STRING
- name: customer_name
- - dataType: STRING
- name: state
- - dataType: STRING
- name: region
- - dataType: STRING
- name: wdf__region
- tables:
- - columns:
- - dataType: NUMERIC
- name: budget
- isPrimaryKey: false
- isNullable: true
- - dataType: STRING
- name: campaign_channel_id
- isPrimaryKey: true
- isNullable: false
- - dataType: INT
- name: campaign_id
- isPrimaryKey: false
- referencedTableId: campaigns
- referencedTableColumn: campaign_id
- isNullable: true
- - dataType: STRING
- name: category
- isPrimaryKey: false
- isNullable: true
- - dataType: NUMERIC
- name: spend
- isPrimaryKey: false
- isNullable: true
- - dataType: STRING
- name: type
- isPrimaryKey: false
- isNullable: true
- id: campaign_channels
- path:
- - demo
- - campaign_channels
- type: TABLE
- - columns:
- - dataType: INT
- name: campaign_id
- isPrimaryKey: true
- isNullable: false
- - dataType: STRING
- name: campaign_name
- isPrimaryKey: false
- isNullable: true
- id: campaigns
- path:
- - demo
- - campaigns
- type: TABLE
- - columns:
- - dataType: INT
- name: customer_id
- isPrimaryKey: true
- isNullable: false
- - dataType: STRING
- name: customer_name
- isPrimaryKey: false
- isNullable: true
- - dataType: STRING
- name: geo__state__location
- isPrimaryKey: false
- isNullable: true
- - dataType: STRING
- name: region
- isPrimaryKey: false
- isNullable: true
- - dataType: STRING
- name: state
- isPrimaryKey: false
- isNullable: true
- id: customers
- path:
- - demo
- - customers
- type: TABLE
- - columns:
- - dataType: INT
- name: campaign_id
- isPrimaryKey: false
- referencedTableId: campaigns
- referencedTableColumn: campaign_id
- isNullable: true
- - dataType: INT
- name: customer_id
- isPrimaryKey: false
- referencedTableId: customers
- referencedTableColumn: customer_id
- isNullable: true
- - dataType: DATE
- name: date
- isPrimaryKey: false
- isNullable: true
- - dataType: STRING
- name: order_id
- isPrimaryKey: false
- isNullable: true
- - dataType: STRING
- name: order_line_id
- isPrimaryKey: true
- isNullable: false
- - dataType: STRING
- name: order_status
- isPrimaryKey: false
- isNullable: true
- - dataType: NUMERIC
- name: price
- isPrimaryKey: false
- isNullable: true
- - dataType: INT
- name: product_id
- isPrimaryKey: false
- referencedTableId: products
- referencedTableColumn: product_id
- isNullable: true
- - dataType: NUMERIC
- name: quantity
- isPrimaryKey: false
- isNullable: true
- - dataType: STRING
- name: wdf__region
- isPrimaryKey: false
- isNullable: true
- - dataType: STRING
- name: wdf__state
- isPrimaryKey: false
- isNullable: true
- id: order_lines
- path:
- - demo
- - order_lines
- type: TABLE
- - columns:
- - dataType: STRING
- name: category
- isPrimaryKey: false
- isNullable: true
- - dataType: INT
- name: product_id
- isPrimaryKey: true
- isNullable: false
- - dataType: STRING
- name: product_name
- isPrimaryKey: false
- isNullable: true
- id: products
- path:
- - demo
- - products
- type: TABLE
- translationPrefix: tr
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- ldm:
- datasets:
- - aggregatedFacts: []
- attributes:
- - description: Campaign channel id
- id: campaign_channel_id
- isNullable: false
- labels: []
- sourceColumn: campaign_channel_id
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Campaign channel id
- - description: Category
- id: campaign_channels.category
- isNullable: true
- labels: []
- sourceColumn: category
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Category
- - description: Type
- id: type
- isNullable: true
- labels: []
- sourceColumn: type
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Type
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaign_channels
- path:
- - demo
- - campaign_channels
- type: dataSource
- description: Campaign channels
- facts:
- - description: Budget
- id: budget
- isNullable: true
- sourceColumn: budget
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- title: Budget
- - description: Spend
- id: spend
- isNullable: true
- sourceColumn: spend
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- title: Spend
- grain:
- - id: campaign_channel_id
- type: attribute
- id: campaign_channels
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- dataType: INT
- isNullable: true
- target:
- id: campaigns.campaign_id
- type: attribute
- tags:
- - Campaign channels
- title: Campaign channels
- - aggregatedFacts: []
- attributes:
- - description: Campaign name
- id: campaign_name
- isNullable: true
- labels: []
- sourceColumn: campaign_name
- sourceColumnDataType: STRING
- tags:
- - Campaigns
- title: Campaign name
- - description: Campaign id
- id: campaigns.campaign_id
- isNullable: false
- labels: []
- sourceColumn: campaign_id
- sourceColumnDataType: INT
- tags:
- - Campaigns
- title: Campaign id
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaigns
- path:
- - demo
- - campaigns
- type: dataSource
- description: Campaigns
- facts: []
- grain:
- - id: campaigns.campaign_id
- type: attribute
- id: campaigns
- references: []
- tags:
- - Campaigns
- title: Campaigns
- - aggregatedFacts: []
- attributes:
- - description: Customer id
- id: customers.customer_id
- isNullable: false
- labels: []
- sourceColumn: customer_id
- sourceColumnDataType: INT
- tags:
- - Customers
- title: Customer id
- - description: Customer name
- id: customers.customer_name
- isNullable: true
- labels: []
- sourceColumn: customer_name
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Customer name
- - description: Region
- id: customers.region
- isNullable: true
- labels: []
- sourceColumn: region
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Region
- - description: State
- id: customers.state
- isNullable: true
- labels:
- - description: Location
- id: geo__state__location
- isNullable: true
- sourceColumn: geo__state__location
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Location
- valueType: GEO
- sourceColumn: state
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: State
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: customers
- path:
- - demo
- - customers
- type: dataSource
- description: Customers
- facts: []
- grain:
- - id: customers.customer_id
- type: attribute
- id: customers
- references: []
- tags:
- - Customers
- title: Customers
- - aggregatedFacts: []
- attributes:
- - description: Order id
- id: order_lines.order_id
- isNullable: true
- labels: []
- sourceColumn: order_id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order id
- - description: Order line id
- id: order_lines.order_line_id
- isNullable: false
- labels: []
- sourceColumn: order_line_id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order line id
- - description: Order status
- id: order_lines.order_status
- isNullable: true
- labels: []
- sourceColumn: order_status
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order status
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: order_lines
- path:
- - demo
- - order_lines
- type: dataSource
- description: Order lines
- facts:
- - description: Price
- id: order_lines.price
- isNullable: true
- sourceColumn: price
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- title: Price
- - description: Quantity
- id: order_lines.quantity
- isNullable: true
- sourceColumn: quantity
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- title: Quantity
- grain:
- - id: order_lines.order_line_id
- type: attribute
- id: order_lines
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- dataType: INT
- isNullable: true
- target:
- id: campaigns.campaign_id
- type: attribute
- - identifier:
- id: customers
- type: dataset
- multivalue: false
- sources:
- - column: customer_id
- dataType: INT
- isNullable: true
- target:
- id: customers.customer_id
- type: attribute
- - identifier:
- id: date
- type: dataset
- multivalue: false
- sources:
- - column: date
- dataType: DATE
- isNullable: true
- target:
- id: date
- type: date
- - identifier:
- id: products
- type: dataset
- multivalue: false
- sources:
- - column: product_id
- dataType: INT
- isNullable: true
- target:
- id: products.product_id
- type: attribute
- tags:
- - Order lines
- title: Order lines
- workspaceDataFilterColumns:
- - dataType: STRING
- name: wdf__region
- - dataType: STRING
- name: wdf__state
- - aggregatedFacts: []
- attributes:
- - description: Product name
- id: product_name
- isNullable: true
- labels: []
- sourceColumn: product_name
- sourceColumnDataType: STRING
- tags:
- - Products
- title: Product name
- - description: Category
- id: products.category
- isNullable: true
- labels: []
- sourceColumn: category
- sourceColumnDataType: STRING
- tags:
- - Products
- title: Category
- - description: Product id
- id: products.product_id
- isNullable: false
- labels: []
- sourceColumn: product_id
- sourceColumnDataType: INT
- tags:
- - Products
- title: Product id
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: products
- path:
- - demo
- - products
- type: dataSource
- description: Products
- facts: []
- grain:
- - id: products.product_id
- type: attribute
- id: products
- references: []
- tags:
- - Products
- title: Products
- - aggregatedFacts: []
- attributes:
- - description: Campaign id
- id: Order_lines_duplicate_sql_dataset.campaign_id
- labels: []
- sourceColumn: campaign_id
- sourceColumnDataType: INT
- tags:
- - Order lines duplicate sql dataset
- title: Campaign id
- - description: Customer id
- id: Order_lines_duplicate_sql_dataset.customer_id
- labels: []
- sourceColumn: customer_id
- sourceColumnDataType: INT
- tags:
- - Order lines duplicate sql dataset
- title: Customer id
- - description: Order id
- id: Order_lines_duplicate_sql_dataset.order_id
- labels: []
- sourceColumn: order_id
- sourceColumnDataType: STRING
- tags:
- - Order lines duplicate sql dataset
- title: Order id
- - description: Order line id
- id: Order_lines_duplicate_sql_dataset.order_line_id
- labels: []
- sourceColumn: order_line_id
- sourceColumnDataType: STRING
- tags:
- - Order lines duplicate sql dataset
- title: Order line id
- - description: Order status
- id: Order_lines_duplicate_sql_dataset.order_status
- labels: []
- sourceColumn: order_status
- sourceColumnDataType: STRING
- tags:
- - Order lines duplicate sql dataset
- title: Order status
- - description: Product id
- id: Order_lines_duplicate_sql_dataset.product_id
- labels: []
- sourceColumn: product_id
- sourceColumnDataType: INT
- tags:
- - Order lines duplicate sql dataset
- title: Product id
- description: Order lines duplicate sql dataset
- facts:
- - description: Price
- id: Order_lines_duplicate_sql_dataset.price
- sourceColumn: price
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines duplicate sql dataset
- title: Price
- - description: Quantity
- id: Order_lines_duplicate_sql_dataset.quantity
- sourceColumn: quantity
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines duplicate sql dataset
- title: Quantity
- grain: []
- id: Order_lines_duplicate_sql_dataset
- references:
- - identifier:
- id: date
- type: dataset
- multivalue: false
- sources:
- - column: date
- dataType: DATE
- target:
- id: date
- type: date
- sql:
- dataSourceId: demo-test-ds
- statement: SELECT * FROM order_lines
- tags:
- - Order lines duplicate sql dataset
- title: Order lines duplicate sql dataset
- - aggregatedFacts: []
- attributes:
- - description: Customer id
- id: Customers_sql_dataset_with_WDF.customer_id
- labels: []
- sourceColumn: customer_id
- sourceColumnDataType: INT
- tags:
- - Customers sql dataset with WDF
- title: Customer id
- - description: Customer name
- id: Customers_sql_dataset_with_WDF.customer_name
- labels: []
- sourceColumn: customer_name
- sourceColumnDataType: STRING
- tags:
- - Customers sql dataset with WDF
- title: Customer name
- - description: Region
- id: Customers_sql_dataset_with_WDF.region
- labels: []
- sourceColumn: region
- sourceColumnDataType: STRING
- tags:
- - Customers sql dataset with WDF
- title: Region
- - description: State
- id: Customers_sql_dataset_with_WDF.state
- labels: []
- sourceColumn: state
- sourceColumnDataType: STRING
- tags:
- - Customers sql dataset with WDF
- title: State
- description: Customers sql dataset with WDF
- facts: []
- grain: []
- id: Customers_sql_dataset_with_WDF
- references: []
- sql:
- dataSourceId: demo-test-ds
- statement: SELECT * FROM v_wdf_customers
- tags:
- - Customers sql dataset with WDF
- title: Customers sql dataset with WDF
- workspaceDataFilterColumns:
- - dataType: STRING
- name: wdf__region
- dateInstances:
- - granularities:
- - MINUTE
- - HOUR
- - DAY
- - WEEK
- - MONTH
- - QUARTER
- - YEAR
- - MINUTE_OF_HOUR
- - HOUR_OF_DAY
- - DAY_OF_WEEK
- - DAY_OF_MONTH
- - DAY_OF_QUARTER
- - 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/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_scan_schemata.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_scan_schemata.yaml
deleted file mode 100644
index 7efe03113..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_scan_schemata.yaml
+++ /dev/null
@@ -1,52 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/actions/dataSources/demo-test-ds/scanSchemata
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '24'
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- schemaNames:
- - demo
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_store_declarative_data_sources.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_store_declarative_data_sources.yaml
deleted file mode 100644
index 820f28204..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_store_declarative_data_sources.yaml
+++ /dev/null
@@ -1,354 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/dataSources
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '428'
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- dataSources:
- - alternativeDataSourceId: ds-put-abc-id
- authenticationType: USERNAME_PASSWORD
- id: demo-test-ds
- name: demo-test-ds
- permissions:
- - assignee:
- id: demo2
- type: user
- name: MANAGE
- - assignee:
- id: demoGroup
- type: userGroup
- name: USE
- schema: demo
- type: POSTGRESQL
- url: jdbc:postgresql://postgresql-ha-pgpool.postgresql-ha/tiger_tests?sslmode=prefer
- username: postgres
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/dataSources
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '428'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- dataSources:
- - alternativeDataSourceId: ds-put-abc-id
- authenticationType: USERNAME_PASSWORD
- id: demo-test-ds
- name: demo-test-ds
- permissions:
- - assignee:
- id: demo2
- type: user
- name: MANAGE
- - assignee:
- id: demoGroup
- type: userGroup
- name: USE
- schema: demo
- type: POSTGRESQL
- url: jdbc:postgresql://postgresql-ha-pgpool.postgresql-ha/tiger_tests?sslmode=prefer
- username: postgres
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/organization
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 302
- message: Found
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '0'
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Location:
- - /api/v1/entities/admin/organizations/python-sdk-dex
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/admin/organizations/python-sdk-dex
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '564'
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- name: Python SDK Dex
- hostname: python-sdk-dex.dev-latest.stg11.panther.intgdc.com
- allowedOrigins: []
- earlyAccess: enableAlerting
- earlyAccessValues:
- - enableAlerting
- - enableSmtp
- - enablePreAggregationDatasets
- - enableScheduling
- - enableCompositeGrain
- - enableUserManagement
- - enableRawExports
- - enableFlexibleDashboardLayout
- region: ''
- dataCenter: ''
- id: python-sdk-dex
- type: organization
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/admin/organizations/python-sdk-dex
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/organization
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 302
- message: Found
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '0'
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Location:
- - /api/v1/entities/admin/organizations/python-sdk-dex
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/admin/organizations/python-sdk-dex
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '564'
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- name: Python SDK Dex
- hostname: python-sdk-dex.dev-latest.stg11.panther.intgdc.com
- allowedOrigins: []
- earlyAccess: enableAlerting
- earlyAccessValues:
- - enableAlerting
- - enableSmtp
- - enablePreAggregationDatasets
- - enableScheduling
- - enableCompositeGrain
- - enableUserManagement
- - enableRawExports
- - enableFlexibleDashboardLayout
- region: ''
- dataCenter: ''
- id: python-sdk-dex
- type: organization
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/admin/organizations/python-sdk-dex
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_test_declarative_data_sources.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_test_declarative_data_sources.yaml
deleted file mode 100644
index c85c53ea1..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_test_declarative_data_sources.yaml
+++ /dev/null
@@ -1,183 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/dataSources
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '428'
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- dataSources:
- - alternativeDataSourceId: ds-put-abc-id
- authenticationType: USERNAME_PASSWORD
- id: demo-test-ds
- name: demo-test-ds
- permissions:
- - assignee:
- id: demo2
- type: user
- name: MANAGE
- - assignee:
- id: demoGroup
- type: userGroup
- name: USE
- schema: demo
- type: POSTGRESQL
- url: jdbc:postgresql://postgresql-ha-pgpool.postgresql-ha/tiger_tests?sslmode=prefer
- username: postgres
- - request:
- method: POST
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/actions/dataSource/test
- body:
- type: POSTGRESQL
- url: jdbc:postgresql://postgresql-ha-pgpool.postgresql-ha/tiger_tests?sslmode=prefer
- schema: demo
- username: postgres
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '373'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- error: 'DB request exception (state=GENERAL_ERROR dataSourceId=null vendorErrorState=08004
- vendorErrorCode=0) org.postgresql.util.PSQLException: The server requested
- SCRAM-based authentication, but the password is an empty string.org.postgresql.util.PSQLException:
- The server requested SCRAM-based authentication, but the password is an
- empty string.'
- successful: false
- - request:
- method: POST
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/actions/dataSource/test
- body:
- type: POSTGRESQL
- url: jdbc:postgresql://postgresql-ha-pgpool.postgresql-ha/tiger_tests?sslmode=prefer
- schema: demo
- password: secret
- username: postgres
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '82'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- queryDurationMillis:
- createCacheTable: 0
- simpleSelect: 11
- successful: true
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_test_scan_model.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_test_scan_model.yaml
deleted file mode 100644
index 4726d87ed..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_test_scan_model.yaml
+++ /dev/null
@@ -1,261 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: POST
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/actions/dataSources/demo-test-ds/scan
- body:
- scanTables: true
- scanViews: false
- separator: __
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- pdm:
- tables:
- - columns:
- - dataType: NUMERIC
- isNullable: true
- isPrimaryKey: false
- name: budget
- - dataType: STRING
- isNullable: false
- isPrimaryKey: true
- name: campaign_channel_id
- - dataType: INT
- isNullable: true
- isPrimaryKey: false
- name: campaign_id
- referencedTableColumn: campaign_id
- referencedTableId: campaigns
- - dataType: STRING
- isNullable: true
- isPrimaryKey: false
- name: category
- - dataType: NUMERIC
- isNullable: true
- isPrimaryKey: false
- name: spend
- - dataType: STRING
- isNullable: true
- isPrimaryKey: false
- name: type
- id: campaign_channels
- path:
- - demo
- - campaign_channels
- type: TABLE
- - columns:
- - dataType: INT
- isNullable: false
- isPrimaryKey: true
- name: campaign_id
- - dataType: STRING
- isNullable: true
- isPrimaryKey: false
- name: campaign_name
- id: campaigns
- path:
- - demo
- - campaigns
- type: TABLE
- - columns:
- - dataType: INT
- isNullable: false
- isPrimaryKey: true
- name: customer_id
- - dataType: STRING
- isNullable: true
- isPrimaryKey: false
- name: customer_name
- - dataType: STRING
- isNullable: true
- isPrimaryKey: false
- name: geo__state__location
- - dataType: STRING
- isNullable: true
- isPrimaryKey: false
- name: region
- - dataType: STRING
- isNullable: true
- isPrimaryKey: false
- name: state
- id: customers
- path:
- - demo
- - customers
- type: TABLE
- - columns:
- - dataType: INT
- isNullable: true
- isPrimaryKey: false
- name: campaign_id
- referencedTableColumn: campaign_id
- referencedTableId: campaigns
- - dataType: INT
- isNullable: true
- isPrimaryKey: false
- name: customer_id
- referencedTableColumn: customer_id
- referencedTableId: customers
- - dataType: DATE
- isNullable: true
- isPrimaryKey: false
- name: date
- - dataType: STRING
- isNullable: true
- isPrimaryKey: false
- name: order_id
- - dataType: STRING
- isNullable: false
- isPrimaryKey: true
- name: order_line_id
- - dataType: STRING
- isNullable: true
- isPrimaryKey: false
- name: order_status
- - dataType: NUMERIC
- isNullable: true
- isPrimaryKey: false
- name: price
- - dataType: INT
- isNullable: true
- isPrimaryKey: false
- name: product_id
- referencedTableColumn: product_id
- referencedTableId: products
- - dataType: NUMERIC
- isNullable: true
- isPrimaryKey: false
- name: quantity
- - dataType: STRING
- isNullable: true
- isPrimaryKey: false
- name: wdf__region
- - dataType: STRING
- isNullable: true
- isPrimaryKey: false
- name: wdf__state
- id: order_lines
- path:
- - demo
- - order_lines
- type: TABLE
- - columns:
- - dataType: STRING
- isNullable: true
- isPrimaryKey: false
- name: category
- - dataType: INT
- isNullable: false
- isPrimaryKey: true
- name: product_id
- - dataType: STRING
- isNullable: true
- isPrimaryKey: false
- name: product_name
- id: products
- path:
- - demo
- - products
- type: TABLE
- warnings: []
- - request:
- method: POST
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/actions/dataSources/demo-test-ds/scan
- body:
- scanTables: false
- scanViews: true
- separator: __
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '35'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- pdm:
- tables: []
- warnings: []
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_test_scan_model_with_schemata.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_test_scan_model_with_schemata.yaml
deleted file mode 100644
index 3aeb56a2a..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_test_scan_model_with_schemata.yaml
+++ /dev/null
@@ -1,209 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: POST
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/actions/dataSources/demo-test-ds/scan
- body:
- scanTables: true
- scanViews: false
- separator: __
- schemata:
- - demo
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- pdm:
- tables:
- - columns:
- - dataType: NUMERIC
- isNullable: true
- isPrimaryKey: false
- name: budget
- - dataType: STRING
- isNullable: false
- isPrimaryKey: true
- name: campaign_channel_id
- - dataType: INT
- isNullable: true
- isPrimaryKey: false
- name: campaign_id
- referencedTableColumn: campaign_id
- referencedTableId: campaigns
- - dataType: STRING
- isNullable: true
- isPrimaryKey: false
- name: category
- - dataType: NUMERIC
- isNullable: true
- isPrimaryKey: false
- name: spend
- - dataType: STRING
- isNullable: true
- isPrimaryKey: false
- name: type
- id: campaign_channels
- path:
- - demo
- - campaign_channels
- type: TABLE
- - columns:
- - dataType: INT
- isNullable: false
- isPrimaryKey: true
- name: campaign_id
- - dataType: STRING
- isNullable: true
- isPrimaryKey: false
- name: campaign_name
- id: campaigns
- path:
- - demo
- - campaigns
- type: TABLE
- - columns:
- - dataType: INT
- isNullable: false
- isPrimaryKey: true
- name: customer_id
- - dataType: STRING
- isNullable: true
- isPrimaryKey: false
- name: customer_name
- - dataType: STRING
- isNullable: true
- isPrimaryKey: false
- name: geo__state__location
- - dataType: STRING
- isNullable: true
- isPrimaryKey: false
- name: region
- - dataType: STRING
- isNullable: true
- isPrimaryKey: false
- name: state
- id: customers
- path:
- - demo
- - customers
- type: TABLE
- - columns:
- - dataType: INT
- isNullable: true
- isPrimaryKey: false
- name: campaign_id
- referencedTableColumn: campaign_id
- referencedTableId: campaigns
- - dataType: INT
- isNullable: true
- isPrimaryKey: false
- name: customer_id
- referencedTableColumn: customer_id
- referencedTableId: customers
- - dataType: DATE
- isNullable: true
- isPrimaryKey: false
- name: date
- - dataType: STRING
- isNullable: true
- isPrimaryKey: false
- name: order_id
- - dataType: STRING
- isNullable: false
- isPrimaryKey: true
- name: order_line_id
- - dataType: STRING
- isNullable: true
- isPrimaryKey: false
- name: order_status
- - dataType: NUMERIC
- isNullable: true
- isPrimaryKey: false
- name: price
- - dataType: INT
- isNullable: true
- isPrimaryKey: false
- name: product_id
- referencedTableColumn: product_id
- referencedTableId: products
- - dataType: NUMERIC
- isNullable: true
- isPrimaryKey: false
- name: quantity
- - dataType: STRING
- isNullable: true
- isPrimaryKey: false
- name: wdf__region
- - dataType: STRING
- isNullable: true
- isPrimaryKey: false
- name: wdf__state
- id: order_lines
- path:
- - demo
- - order_lines
- type: TABLE
- - columns:
- - dataType: STRING
- isNullable: true
- isPrimaryKey: false
- name: category
- - dataType: INT
- isNullable: false
- isPrimaryKey: true
- name: product_id
- - dataType: STRING
- isNullable: true
- isPrimaryKey: false
- name: product_name
- id: products
- path:
- - demo
- - products
- type: TABLE
- warnings: []
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_test_scan_model_with_table_prefix.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_test_scan_model_with_table_prefix.yaml
deleted file mode 100644
index 1eaeeeffb..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_test_scan_model_with_table_prefix.yaml
+++ /dev/null
@@ -1,116 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: POST
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/actions/dataSources/demo-test-ds/scan
- body:
- scanTables: true
- scanViews: false
- separator: _
- tablePrefix: order
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- pdm:
- tables:
- - columns:
- - dataType: INT
- isNullable: true
- isPrimaryKey: false
- name: campaign_id
- referencedTableColumn: campaign_id
- - dataType: INT
- isNullable: true
- isPrimaryKey: false
- name: customer_id
- referencedTableColumn: customer_id
- - dataType: DATE
- isNullable: true
- isPrimaryKey: false
- name: date
- - dataType: STRING
- isNullable: true
- isPrimaryKey: false
- name: order_id
- - dataType: STRING
- isNullable: false
- isPrimaryKey: true
- name: order_line_id
- - dataType: STRING
- isNullable: true
- isPrimaryKey: false
- name: order_status
- - dataType: NUMERIC
- isNullable: true
- isPrimaryKey: false
- name: price
- - dataType: INT
- isNullable: true
- isPrimaryKey: false
- name: product_id
- referencedTableColumn: product_id
- - dataType: NUMERIC
- isNullable: true
- isPrimaryKey: false
- name: quantity
- - dataType: STRING
- isNullable: true
- isPrimaryKey: false
- name: wdf__region
- - dataType: STRING
- isNullable: true
- isPrimaryKey: false
- name: wdf__state
- id: order_lines
- namePrefix: order
- path:
- - demo
- - order_lines
- type: TABLE
- warnings: []
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/dremio.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/dremio.yaml
deleted file mode 100644
index ff3bf49d5..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/dremio.yaml
+++ /dev/null
@@ -1,225 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/dataSources/dremio
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 404
- message: Not Found
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '172'
- Content-Type:
- - application/problem+json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- detail: The requested endpoint does not exist or you do not have permission
- to access it.
- status: 404
- title: Not Found
- traceId: ab644bd972d1f53f8d9fe0298b29e067
- - request:
- method: POST
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/dataSources
- body:
- data:
- attributes:
- name: Dremio
- schema: ''
- type: DREMIO
- username: demouser
- password: demopass
- url: jdbc:dremio:direct=dremio:31010
- id: dremio
- type: dataSource
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 201
- message: Created
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '319'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- url: jdbc:dremio:direct=dremio:31010
- username: demouser
- authenticationType: USERNAME_PASSWORD
- name: Dremio
- type: DREMIO
- schema: ''
- id: dremio
- type: dataSource
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/dataSources/dremio
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/dataSources/dremio
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '319'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- url: jdbc:dremio:direct=dremio:31010
- username: demouser
- authenticationType: USERNAME_PASSWORD
- name: Dremio
- type: DREMIO
- schema: ''
- id: dremio
- type: dataSource
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/dataSources/dremio
- - request:
- method: DELETE
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/dataSources/dremio
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/patch.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/patch.yaml
deleted file mode 100644
index 982af06c7..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/patch.yaml
+++ /dev/null
@@ -1,473 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/dataSources?page=0&size=500
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '671'
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- - attributes:
- url: jdbc:postgresql://postgresql-ha-pgpool.postgresql-ha/tiger_tests?sslmode=prefer
- username: postgres
- authenticationType: USERNAME_PASSWORD
- alternativeDataSourceId: ds-put-abc-id
- name: demo-test-ds
- type: POSTGRESQL
- schema: demo
- id: demo-test-ds
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/dataSources/demo-test-ds
- type: dataSource
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/dataSources?page=0&size=500
- next: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/dataSources?page=1&size=500
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/dataSources/test
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 404
- message: Not Found
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '172'
- Content-Type:
- - application/problem+json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- detail: The requested endpoint does not exist or you do not have permission
- to access it.
- status: 404
- title: Not Found
- traceId: 0f7a4b8de462416994c63b25ac304a4c
- - request:
- method: POST
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/dataSources
- body:
- data:
- attributes:
- name: Test
- schema: demo
- type: POSTGRESQL
- username: demouser
- password: demopass
- url: jdbc:postgresql://localhost:5432/demo?autosave=true&sslmode=prefer
- id: test
- type: dataSource
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 201
- message: Created
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '356'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- url: jdbc:postgresql://localhost:5432/demo?autosave=true&sslmode=prefer
- username: demouser
- authenticationType: USERNAME_PASSWORD
- name: Test
- type: POSTGRESQL
- schema: demo
- id: test
- type: dataSource
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/dataSources/test
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/dataSources/test
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '356'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- url: jdbc:postgresql://localhost:5432/demo?autosave=true&sslmode=prefer
- username: demouser
- authenticationType: USERNAME_PASSWORD
- name: Test
- type: POSTGRESQL
- schema: demo
- id: test
- type: dataSource
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/dataSources/test
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/dataSources/test
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '356'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- url: jdbc:postgresql://localhost:5432/demo?autosave=true&sslmode=prefer
- username: demouser
- authenticationType: USERNAME_PASSWORD
- name: Test
- type: POSTGRESQL
- schema: demo
- id: test
- type: dataSource
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/dataSources/test
- - request:
- method: PATCH
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/dataSources/test
- body:
- data:
- attributes:
- name: Test2
- alternativeDataSourceId: ds-patch-abc-id
- type: POSTGRESQL
- url: jdbc:postgresql://localhost:5432/demo?autosave=true&sslmode=prefer
- id: test
- type: dataSource
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '401'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- url: jdbc:postgresql://localhost:5432/demo?autosave=true&sslmode=prefer
- username: demouser
- authenticationType: USERNAME_PASSWORD
- alternativeDataSourceId: ds-patch-abc-id
- name: Test2
- type: POSTGRESQL
- schema: demo
- id: test
- type: dataSource
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/dataSources/test
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/dataSources/test
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '401'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- url: jdbc:postgresql://localhost:5432/demo?autosave=true&sslmode=prefer
- username: demouser
- authenticationType: USERNAME_PASSWORD
- alternativeDataSourceId: ds-patch-abc-id
- name: Test2
- type: POSTGRESQL
- schema: demo
- id: test
- type: dataSource
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/dataSources/test
- - request:
- method: DELETE
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/dataSources/test
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/redshift.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/redshift.yaml
deleted file mode 100644
index f4d9b3624..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/redshift.yaml
+++ /dev/null
@@ -1,228 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/dataSources/test
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 404
- message: Not Found
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '172'
- Content-Type:
- - application/problem+json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- detail: The requested endpoint does not exist or you do not have permission
- to access it.
- status: 404
- title: Not Found
- traceId: 91771d4e564ae5f17c86201e47fdda34
- - request:
- method: POST
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/dataSources
- body:
- data:
- attributes:
- name: Test2
- schema: demo
- type: REDSHIFT
- username: demouser
- password: demopass
- url: jdbc:redshift://aws.endpoint:5439/demo?autosave=true
- alternativeDataSourceId: ds-abc-id
- id: test
- type: dataSource
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 201
- message: Created
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '379'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- url: jdbc:redshift://aws.endpoint:5439/demo?autosave=true
- username: demouser
- authenticationType: USERNAME_PASSWORD
- alternativeDataSourceId: ds-abc-id
- name: Test2
- type: REDSHIFT
- schema: demo
- id: test
- type: dataSource
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/dataSources/test
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/dataSources/test
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '379'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- url: jdbc:redshift://aws.endpoint:5439/demo?autosave=true
- username: demouser
- authenticationType: USERNAME_PASSWORD
- alternativeDataSourceId: ds-abc-id
- name: Test2
- type: REDSHIFT
- schema: demo
- id: test
- type: dataSource
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/dataSources/test
- - request:
- method: DELETE
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/dataSources/test
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/scan_scan_sql_without_preview.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/scan_scan_sql_without_preview.yaml
deleted file mode 100644
index 0c912cbba..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/scan_scan_sql_without_preview.yaml
+++ /dev/null
@@ -1,56 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: POST
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/actions/dataSources/demo-test-ds/scanSql
- body:
- sql: SELECT ol.campaign_id FROM order_lines ol LIMIT 0
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '53'
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- columns:
- - dataType: INT
- name: campaign_id
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/scan_sql.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/scan_sql.yaml
deleted file mode 100644
index 94e9d391a..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/scan_sql.yaml
+++ /dev/null
@@ -1,91 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: POST
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/actions/dataSources/demo-test-ds/scanSql
- body:
- sql: SELECT * FROM products
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '442'
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- columns:
- - dataType: INT
- name: product_id
- - dataType: STRING
- name: product_name
- - dataType: STRING
- name: category
- dataPreview:
- - - '150'
- - Skirt
- - Clothing
- - - '210'
- - Artego
- - Electronics
- - - '240'
- - PortaCode
- - Electronics
- - - '420'
- - Elentrix
- - Outdoor
- - - '430'
- - Integres
- - Outdoor
- - - '120'
- - Polo Shirt
- - Clothing
- - - '110'
- - Pullover
- - Clothing
- - - '310'
- - Applica
- - Home
- - - '330'
- - Optique
- - Home
- - - '140'
- - Shorts
- - Clothing
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/scan_sql_with_nulls_in_preview.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/scan_sql_with_nulls_in_preview.yaml
deleted file mode 100644
index e1835b1be..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/scan_sql_with_nulls_in_preview.yaml
+++ /dev/null
@@ -1,63 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: POST
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/actions/dataSources/demo-test-ds/scanSql
- body:
- sql: SELECT ol.campaign_id FROM order_lines ol ORDER BY campaign_id NULLS
- FIRST LIMIT 5
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '104'
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- columns:
- - dataType: INT
- name: campaign_id
- dataPreview:
- - - null
- - - null
- - - null
- - - null
- - - null
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/snowflake.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/snowflake.yaml
deleted file mode 100644
index 8cce234bc..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/snowflake.yaml
+++ /dev/null
@@ -1,447 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/dataSources/test
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 404
- message: Not Found
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '172'
- Content-Type:
- - application/problem+json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- detail: The requested endpoint does not exist or you do not have permission
- to access it.
- status: 404
- title: Not Found
- traceId: a361270e77694e18b35d0389b9abd834
- - request:
- method: POST
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/dataSources
- body:
- data:
- attributes:
- name: Test
- schema: demo
- type: SNOWFLAKE
- username: demouser
- password: demopass
- url: jdbc:snowflake://gooddata.snowflakecomputing.com:443?warehouse=TIGER&db=TIGER&useProxy=true
- id: test
- type: dataSource
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 201
- message: Created
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '413'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- url: jdbc:snowflake://gooddata.snowflakecomputing.com:443/?application=GoodData_GoodDataCN&db=TIGER&useProxy=true&warehouse=TIGER
- username: demouser
- authenticationType: USERNAME_PASSWORD
- name: Test
- type: SNOWFLAKE
- schema: demo
- id: test
- type: dataSource
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/dataSources/test
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/dataSources/test
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '413'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- url: jdbc:snowflake://gooddata.snowflakecomputing.com:443/?application=GoodData_GoodDataCN&db=TIGER&useProxy=true&warehouse=TIGER
- username: demouser
- authenticationType: USERNAME_PASSWORD
- name: Test
- type: SNOWFLAKE
- schema: demo
- id: test
- type: dataSource
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/dataSources/test
- - request:
- method: DELETE
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/dataSources/test
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/dataSources/test
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 404
- message: Not Found
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '172'
- Content-Type:
- - application/problem+json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- detail: The requested endpoint does not exist or you do not have permission
- to access it.
- status: 404
- title: Not Found
- traceId: 65d6abccf753b88d6c4286a4046a8fe1
- - request:
- method: POST
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/dataSources
- body:
- data:
- attributes:
- name: Test
- schema: demo
- type: SNOWFLAKE
- username: demouser
- privateKey: private_key
- privateKeyPassphrase: private_key_passphrase
- url: jdbc:snowflake://gooddata.snowflakecomputing.com:443?warehouse=TIGER&db=TIGER&useProxy=true
- id: test
- type: dataSource
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 201
- message: Created
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '404'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- url: jdbc:snowflake://gooddata.snowflakecomputing.com:443/?application=GoodData_GoodDataCN&db=TIGER&useProxy=true&warehouse=TIGER
- username: demouser
- authenticationType: KEY_PAIR
- name: Test
- type: SNOWFLAKE
- schema: demo
- id: test
- type: dataSource
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/dataSources/test
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/dataSources/test
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '404'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- url: jdbc:snowflake://gooddata.snowflakecomputing.com:443/?application=GoodData_GoodDataCN&db=TIGER&useProxy=true&warehouse=TIGER
- username: demouser
- authenticationType: KEY_PAIR
- name: Test
- type: SNOWFLAKE
- schema: demo
- id: test
- type: dataSource
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/dataSources/test
- - request:
- method: DELETE
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/dataSources/test
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/test_create_update.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/test_create_update.yaml
deleted file mode 100644
index b3f2ce2bb..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/test_create_update.yaml
+++ /dev/null
@@ -1,488 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/dataSources?page=0&size=500
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '671'
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- - attributes:
- url: jdbc:postgresql://postgresql-ha-pgpool.postgresql-ha/tiger_tests?sslmode=prefer
- username: postgres
- authenticationType: USERNAME_PASSWORD
- alternativeDataSourceId: ds-put-abc-id
- name: demo-test-ds
- type: POSTGRESQL
- schema: demo
- id: demo-test-ds
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/dataSources/demo-test-ds
- type: dataSource
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/dataSources?page=0&size=500
- next: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/dataSources?page=1&size=500
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/dataSources/test
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 404
- message: Not Found
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '172'
- Content-Type:
- - application/problem+json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- detail: The requested endpoint does not exist or you do not have permission
- to access it.
- status: 404
- title: Not Found
- traceId: 18aee01b26daf9bf9c24219d1c368dca
- - request:
- method: POST
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/dataSources
- body:
- data:
- attributes:
- name: Test
- schema: demo
- type: POSTGRESQL
- username: demouser
- password: demopass
- url: jdbc:postgresql://localhost:5432/demo?autosave=true&sslmode=prefer
- id: test
- type: dataSource
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 201
- message: Created
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '356'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- url: jdbc:postgresql://localhost:5432/demo?autosave=true&sslmode=prefer
- username: demouser
- authenticationType: USERNAME_PASSWORD
- name: Test
- type: POSTGRESQL
- schema: demo
- id: test
- type: dataSource
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/dataSources/test
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/dataSources/test
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '356'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- url: jdbc:postgresql://localhost:5432/demo?autosave=true&sslmode=prefer
- username: demouser
- authenticationType: USERNAME_PASSWORD
- name: Test
- type: POSTGRESQL
- schema: demo
- id: test
- type: dataSource
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/dataSources/test
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/dataSources/test
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '356'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- url: jdbc:postgresql://localhost:5432/demo?autosave=true&sslmode=prefer
- username: demouser
- authenticationType: USERNAME_PASSWORD
- name: Test
- type: POSTGRESQL
- schema: demo
- id: test
- type: dataSource
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/dataSources/test
- - request:
- method: PUT
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/dataSources/test
- body:
- data:
- attributes:
- name: Test2
- schema: demo
- type: POSTGRESQL
- username: demouser
- password: demopass
- url: jdbc:postgresql://localhost:5432/demo?autosave=false&sslmode=prefer
- id: test
- type: dataSource
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '358'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- url: jdbc:postgresql://localhost:5432/demo?autosave=false&sslmode=prefer
- username: demouser
- authenticationType: USERNAME_PASSWORD
- name: Test2
- type: POSTGRESQL
- schema: demo
- id: test
- type: dataSource
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/dataSources/test
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/dataSources?page=0&size=500
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '1021'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- - attributes:
- url: jdbc:postgresql://postgresql-ha-pgpool.postgresql-ha/tiger_tests?sslmode=prefer
- username: postgres
- authenticationType: USERNAME_PASSWORD
- alternativeDataSourceId: ds-put-abc-id
- name: demo-test-ds
- type: POSTGRESQL
- schema: demo
- id: demo-test-ds
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/dataSources/demo-test-ds
- type: dataSource
- - attributes:
- url: jdbc:postgresql://localhost:5432/demo?autosave=false&sslmode=prefer
- username: demouser
- authenticationType: USERNAME_PASSWORD
- name: Test2
- type: POSTGRESQL
- schema: demo
- id: test
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/dataSources/test
- type: dataSource
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/dataSources?page=0&size=500
- next: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/dataSources?page=1&size=500
- - request:
- method: DELETE
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/dataSources/test
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/vertica.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/vertica.yaml
deleted file mode 100644
index e437e6880..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/vertica.yaml
+++ /dev/null
@@ -1,225 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/dataSources/test
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 404
- message: Not Found
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '172'
- Content-Type:
- - application/problem+json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- detail: The requested endpoint does not exist or you do not have permission
- to access it.
- status: 404
- title: Not Found
- traceId: 3acaba1753cecd630ad17783e01a0512
- - request:
- method: POST
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/dataSources
- body:
- data:
- attributes:
- name: Test2
- schema: demo
- type: VERTICA
- username: demouser
- password: demopass
- url: jdbc:vertica://localhost:5433/demo?TLSmode=false
- id: test
- type: dataSource
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 201
- message: Created
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '336'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- url: jdbc:vertica://localhost:5433/demo?TLSmode=false
- username: demouser
- authenticationType: USERNAME_PASSWORD
- name: Test2
- type: VERTICA
- schema: demo
- id: test
- type: dataSource
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/dataSources/test
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/dataSources/test
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '336'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- url: jdbc:vertica://localhost:5433/demo?TLSmode=false
- username: demouser
- authenticationType: USERNAME_PASSWORD
- name: Test2
- type: VERTICA
- schema: demo
- id: test
- type: dataSource
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/dataSources/test
- - request:
- method: DELETE
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/dataSources/test
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/organization/create_csp_directive.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/organization/create_csp_directive.yaml
deleted file mode 100644
index 0b1e5aae7..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/organization/create_csp_directive.yaml
+++ /dev/null
@@ -1,162 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: POST
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/cspDirectives
- body:
- data:
- attributes:
- sources:
- - https://test.com
- id: font-src
- type: cspDirective
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 201
- message: Created
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '211'
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- sources:
- - https://test.com
- id: font-src
- type: cspDirective
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/cspDirectives/font-src
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/cspDirectives/font-src
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '211'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- sources:
- - https://test.com
- id: font-src
- type: cspDirective
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/cspDirectives/font-src
- - request:
- method: DELETE
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/cspDirectives/font-src
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/organization/create_jwk.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/organization/create_jwk.yaml
deleted file mode 100644
index 0a9fa3c87..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/organization/create_jwk.yaml
+++ /dev/null
@@ -1,240 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/jwks/demoJwk
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 404
- message: Not Found
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '172'
- Content-Type:
- - application/problem+json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- detail: The requested endpoint does not exist or you do not have permission
- to access it.
- status: 404
- title: Not Found
- traceId: dcab779ee8f5cf7e390b3d6406dc377e
- - request:
- method: POST
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/jwks
- body:
- data:
- id: demoJwk
- type: jwk
- attributes:
- content:
- alg: RS256
- e: AQAB
- kid: Gkncy6f9BSp7wdav8w4SNZE1yt0
- kty: RSA
- n: sXiw5dOOl6DwAFKYQP623hUOs7T0f2mJEvMN1P-AkVbwagxanJzyRpJJX2zyXtIYnsTrlsjrSRzBTvWBZCXGW4XpmcSIKoRky_hBJGgK6shK3375oThcAq01JZWEWXU2roYyBQz7VxvUSIAPmQVXn9TCQ7YT_TQOg39Dzot2PZPZtabKM2IQEtV6vVmciqz3QkMnclvGnUAca6KZCPBotdNX9dWedAOBHmipCzzYIHutnMXsTZtPCEvrlgYyS1yD7u1WaxPgl84D6uglqDBF6WF1Vr2fgeeWfyujiJ_U26BCq6DmGQCN7BPAhJJso6bvP27G58wZGR3HM_bjJ716Zw
- use: sig
- x5c:
- - MIIDbjCCAlagAwIBAgIUQ/BwWYGeDkDQjbUycWZqI/FeUDcwDQYJKoZIhvcNAQELBQAwZDELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFjAUBgNVBAcMDVNhbiBGcmFuY2lzY28xETAPBgNVBAoMCEdvb2REYXRhMRUwEwYDVQQDDAxnb29kZGF0YS5jb20wHhcNMjMwODE2MTM1NDMyWhcNMjMwOTE1MTM1NDMyWjBkMQswCQYDVQQGEwJVUzETMBEGA1UECAwKQ2FsaWZvcm5pYTEWMBQGA1UEBwwNU2FuIEZyYW5jaXNjbzERMA8GA1UECgwIR29vZERhdGExFTATBgNVBAMMDGdvb2RkYXRhLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALF4sOXTjpeg8ABSmED+tt4VDrO09H9piRLzDdT/gJFW8GoMWpyc8kaSSV9s8l7SGJ7E65bI60kcwU71gWQlxluF6ZnEiCqEZMv4QSRoCurISt9++aE4XAKtNSWVhFl1Nq6GMgUM+1cb1EiAD5kFV5/UwkO2E/00DoN/Q86Ldj2T2bWmyjNiEBLVer1ZnIqs90JDJ3Jbxp1AHGuimQjwaLXTV/XVnnQDgR5oqQs82CB7rZzF7E2bTwhL65YGMktcg+7tVmsT4JfOA+roJagwRelhdVa9n4Hnln8ro4if1NugQqug5hkAjewTwISSbKOm7z9uxufMGRkdxzP24ye9emcCAwEAAaMYMBYwFAYDVR0RBA0wC4IJbG9jYWxob3N0MA0GCSqGSIb3DQEBCwUAA4IBAQA2j3W4+qAkp0K6WP0gogMhqToJCx4/ojRdJ0hJeoIluIAiTzL3uDmG+85xbQ758qD6Ya1Mty6aPdNekFxYlUmulhYY+2Sdby6ChQIUgS9wj1sNFuo4e3U3JVpBfdtJq3diNTcEO/iNWds9MRtNzmrkRIDxAyZvB79Ghuq8i+J9OQ1Na0MEDqKD+KrW0eLT661sT0HgBJCyZaDFQHaiFs3GXEP2QMseMXZuuhLrg8im7DsO+skQtIWH02x6xxKgj/o5bRmoU4ArOzYRWehrrj+pEeAEIVStLzSnhl4v4ovrQ7P5YbeHLFvmw6rb0wp0HYmuZIvA+wJa0uazJjfzjv3a
- x5t: tGg2yZgC0sVyvaK49GenyQB7cuA
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 201
- message: Created
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '1829'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- content:
- kty: RSA
- alg: RS256
- use: sig
- x5c:
- - MIIDbjCCAlagAwIBAgIUQ/BwWYGeDkDQjbUycWZqI/FeUDcwDQYJKoZIhvcNAQELBQAwZDELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFjAUBgNVBAcMDVNhbiBGcmFuY2lzY28xETAPBgNVBAoMCEdvb2REYXRhMRUwEwYDVQQDDAxnb29kZGF0YS5jb20wHhcNMjMwODE2MTM1NDMyWhcNMjMwOTE1MTM1NDMyWjBkMQswCQYDVQQGEwJVUzETMBEGA1UECAwKQ2FsaWZvcm5pYTEWMBQGA1UEBwwNU2FuIEZyYW5jaXNjbzERMA8GA1UECgwIR29vZERhdGExFTATBgNVBAMMDGdvb2RkYXRhLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALF4sOXTjpeg8ABSmED+tt4VDrO09H9piRLzDdT/gJFW8GoMWpyc8kaSSV9s8l7SGJ7E65bI60kcwU71gWQlxluF6ZnEiCqEZMv4QSRoCurISt9++aE4XAKtNSWVhFl1Nq6GMgUM+1cb1EiAD5kFV5/UwkO2E/00DoN/Q86Ldj2T2bWmyjNiEBLVer1ZnIqs90JDJ3Jbxp1AHGuimQjwaLXTV/XVnnQDgR5oqQs82CB7rZzF7E2bTwhL65YGMktcg+7tVmsT4JfOA+roJagwRelhdVa9n4Hnln8ro4if1NugQqug5hkAjewTwISSbKOm7z9uxufMGRkdxzP24ye9emcCAwEAAaMYMBYwFAYDVR0RBA0wC4IJbG9jYWxob3N0MA0GCSqGSIb3DQEBCwUAA4IBAQA2j3W4+qAkp0K6WP0gogMhqToJCx4/ojRdJ0hJeoIluIAiTzL3uDmG+85xbQ758qD6Ya1Mty6aPdNekFxYlUmulhYY+2Sdby6ChQIUgS9wj1sNFuo4e3U3JVpBfdtJq3diNTcEO/iNWds9MRtNzmrkRIDxAyZvB79Ghuq8i+J9OQ1Na0MEDqKD+KrW0eLT661sT0HgBJCyZaDFQHaiFs3GXEP2QMseMXZuuhLrg8im7DsO+skQtIWH02x6xxKgj/o5bRmoU4ArOzYRWehrrj+pEeAEIVStLzSnhl4v4ovrQ7P5YbeHLFvmw6rb0wp0HYmuZIvA+wJa0uazJjfzjv3a
- n: sXiw5dOOl6DwAFKYQP623hUOs7T0f2mJEvMN1P-AkVbwagxanJzyRpJJX2zyXtIYnsTrlsjrSRzBTvWBZCXGW4XpmcSIKoRky_hBJGgK6shK3375oThcAq01JZWEWXU2roYyBQz7VxvUSIAPmQVXn9TCQ7YT_TQOg39Dzot2PZPZtabKM2IQEtV6vVmciqz3QkMnclvGnUAca6KZCPBotdNX9dWedAOBHmipCzzYIHutnMXsTZtPCEvrlgYyS1yD7u1WaxPgl84D6uglqDBF6WF1Vr2fgeeWfyujiJ_U26BCq6DmGQCN7BPAhJJso6bvP27G58wZGR3HM_bjJ716Zw
- e: AQAB
- kid: Gkncy6f9BSp7wdav8w4SNZE1yt0
- x5t: tGg2yZgC0sVyvaK49GenyQB7cuA
- id: demoJwk
- type: jwk
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/jwks/demoJwk
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/jwks/demoJwk
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- content:
- kty: RSA
- alg: RS256
- use: sig
- x5c:
- - MIIDbjCCAlagAwIBAgIUQ/BwWYGeDkDQjbUycWZqI/FeUDcwDQYJKoZIhvcNAQELBQAwZDELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFjAUBgNVBAcMDVNhbiBGcmFuY2lzY28xETAPBgNVBAoMCEdvb2REYXRhMRUwEwYDVQQDDAxnb29kZGF0YS5jb20wHhcNMjMwODE2MTM1NDMyWhcNMjMwOTE1MTM1NDMyWjBkMQswCQYDVQQGEwJVUzETMBEGA1UECAwKQ2FsaWZvcm5pYTEWMBQGA1UEBwwNU2FuIEZyYW5jaXNjbzERMA8GA1UECgwIR29vZERhdGExFTATBgNVBAMMDGdvb2RkYXRhLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALF4sOXTjpeg8ABSmED+tt4VDrO09H9piRLzDdT/gJFW8GoMWpyc8kaSSV9s8l7SGJ7E65bI60kcwU71gWQlxluF6ZnEiCqEZMv4QSRoCurISt9++aE4XAKtNSWVhFl1Nq6GMgUM+1cb1EiAD5kFV5/UwkO2E/00DoN/Q86Ldj2T2bWmyjNiEBLVer1ZnIqs90JDJ3Jbxp1AHGuimQjwaLXTV/XVnnQDgR5oqQs82CB7rZzF7E2bTwhL65YGMktcg+7tVmsT4JfOA+roJagwRelhdVa9n4Hnln8ro4if1NugQqug5hkAjewTwISSbKOm7z9uxufMGRkdxzP24ye9emcCAwEAAaMYMBYwFAYDVR0RBA0wC4IJbG9jYWxob3N0MA0GCSqGSIb3DQEBCwUAA4IBAQA2j3W4+qAkp0K6WP0gogMhqToJCx4/ojRdJ0hJeoIluIAiTzL3uDmG+85xbQ758qD6Ya1Mty6aPdNekFxYlUmulhYY+2Sdby6ChQIUgS9wj1sNFuo4e3U3JVpBfdtJq3diNTcEO/iNWds9MRtNzmrkRIDxAyZvB79Ghuq8i+J9OQ1Na0MEDqKD+KrW0eLT661sT0HgBJCyZaDFQHaiFs3GXEP2QMseMXZuuhLrg8im7DsO+skQtIWH02x6xxKgj/o5bRmoU4ArOzYRWehrrj+pEeAEIVStLzSnhl4v4ovrQ7P5YbeHLFvmw6rb0wp0HYmuZIvA+wJa0uazJjfzjv3a
- n: sXiw5dOOl6DwAFKYQP623hUOs7T0f2mJEvMN1P-AkVbwagxanJzyRpJJX2zyXtIYnsTrlsjrSRzBTvWBZCXGW4XpmcSIKoRky_hBJGgK6shK3375oThcAq01JZWEWXU2roYyBQz7VxvUSIAPmQVXn9TCQ7YT_TQOg39Dzot2PZPZtabKM2IQEtV6vVmciqz3QkMnclvGnUAca6KZCPBotdNX9dWedAOBHmipCzzYIHutnMXsTZtPCEvrlgYyS1yD7u1WaxPgl84D6uglqDBF6WF1Vr2fgeeWfyujiJ_U26BCq6DmGQCN7BPAhJJso6bvP27G58wZGR3HM_bjJ716Zw
- e: AQAB
- kid: Gkncy6f9BSp7wdav8w4SNZE1yt0
- x5t: tGg2yZgC0sVyvaK49GenyQB7cuA
- id: demoJwk
- type: jwk
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/jwks/demoJwk
- - request:
- method: DELETE
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/jwks/demoJwk
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/organization/create_organization_setting.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/organization/create_organization_setting.yaml
deleted file mode 100644
index 4f04c335b..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/organization/create_organization_setting.yaml
+++ /dev/null
@@ -1,165 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: POST
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/organizationSettings
- body:
- data:
- id: test_setting
- type: organizationSetting
- attributes:
- type: LOCALE
- content:
- value: fr-FR
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 201
- message: Created
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '246'
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- content:
- value: fr-FR
- type: LOCALE
- id: test_setting
- type: organizationSetting
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/organizationSettings/test_setting
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/organizationSettings/test_setting
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '246'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- content:
- value: fr-FR
- type: LOCALE
- id: test_setting
- type: organizationSetting
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/organizationSettings/test_setting
- - request:
- method: DELETE
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/organizationSettings/test_setting
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/organization/delete_csp_directive.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/organization/delete_csp_directive.yaml
deleted file mode 100644
index d9adc581f..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/organization/delete_csp_directive.yaml
+++ /dev/null
@@ -1,201 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: POST
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/cspDirectives
- body:
- data:
- attributes:
- sources:
- - https://test.com
- id: font-src
- type: cspDirective
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 201
- message: Created
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '211'
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- sources:
- - https://test.com
- id: font-src
- type: cspDirective
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/cspDirectives/font-src
- - request:
- method: DELETE
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/cspDirectives/font-src
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/cspDirectives/font-src
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 404
- message: Not Found
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '172'
- Content-Type:
- - application/problem+json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- detail: The requested endpoint does not exist or you do not have permission
- to access it.
- status: 404
- title: Not Found
- traceId: 5306149cd0936a18d255ccc2329223b8
- - request:
- method: DELETE
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/cspDirectives/font-src
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/organization/delete_jwk.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/organization/delete_jwk.yaml
deleted file mode 100644
index c5c51971a..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/organization/delete_jwk.yaml
+++ /dev/null
@@ -1,268 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/jwks/demoJwk
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 404
- message: Not Found
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '172'
- Content-Type:
- - application/problem+json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- detail: The requested endpoint does not exist or you do not have permission
- to access it.
- status: 404
- title: Not Found
- traceId: bdf42ba1da0c0b08d4d155b3eeab5b4b
- - request:
- method: POST
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/jwks
- body:
- data:
- id: demoJwk
- type: jwk
- attributes:
- content:
- alg: RS256
- e: AQAB
- kid: Gkncy6f9BSp7wdav8w4SNZE1yt0
- kty: RSA
- n: sXiw5dOOl6DwAFKYQP623hUOs7T0f2mJEvMN1P-AkVbwagxanJzyRpJJX2zyXtIYnsTrlsjrSRzBTvWBZCXGW4XpmcSIKoRky_hBJGgK6shK3375oThcAq01JZWEWXU2roYyBQz7VxvUSIAPmQVXn9TCQ7YT_TQOg39Dzot2PZPZtabKM2IQEtV6vVmciqz3QkMnclvGnUAca6KZCPBotdNX9dWedAOBHmipCzzYIHutnMXsTZtPCEvrlgYyS1yD7u1WaxPgl84D6uglqDBF6WF1Vr2fgeeWfyujiJ_U26BCq6DmGQCN7BPAhJJso6bvP27G58wZGR3HM_bjJ716Zw
- use: sig
- x5c:
- - MIIDbjCCAlagAwIBAgIUQ/BwWYGeDkDQjbUycWZqI/FeUDcwDQYJKoZIhvcNAQELBQAwZDELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFjAUBgNVBAcMDVNhbiBGcmFuY2lzY28xETAPBgNVBAoMCEdvb2REYXRhMRUwEwYDVQQDDAxnb29kZGF0YS5jb20wHhcNMjMwODE2MTM1NDMyWhcNMjMwOTE1MTM1NDMyWjBkMQswCQYDVQQGEwJVUzETMBEGA1UECAwKQ2FsaWZvcm5pYTEWMBQGA1UEBwwNU2FuIEZyYW5jaXNjbzERMA8GA1UECgwIR29vZERhdGExFTATBgNVBAMMDGdvb2RkYXRhLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALF4sOXTjpeg8ABSmED+tt4VDrO09H9piRLzDdT/gJFW8GoMWpyc8kaSSV9s8l7SGJ7E65bI60kcwU71gWQlxluF6ZnEiCqEZMv4QSRoCurISt9++aE4XAKtNSWVhFl1Nq6GMgUM+1cb1EiAD5kFV5/UwkO2E/00DoN/Q86Ldj2T2bWmyjNiEBLVer1ZnIqs90JDJ3Jbxp1AHGuimQjwaLXTV/XVnnQDgR5oqQs82CB7rZzF7E2bTwhL65YGMktcg+7tVmsT4JfOA+roJagwRelhdVa9n4Hnln8ro4if1NugQqug5hkAjewTwISSbKOm7z9uxufMGRkdxzP24ye9emcCAwEAAaMYMBYwFAYDVR0RBA0wC4IJbG9jYWxob3N0MA0GCSqGSIb3DQEBCwUAA4IBAQA2j3W4+qAkp0K6WP0gogMhqToJCx4/ojRdJ0hJeoIluIAiTzL3uDmG+85xbQ758qD6Ya1Mty6aPdNekFxYlUmulhYY+2Sdby6ChQIUgS9wj1sNFuo4e3U3JVpBfdtJq3diNTcEO/iNWds9MRtNzmrkRIDxAyZvB79Ghuq8i+J9OQ1Na0MEDqKD+KrW0eLT661sT0HgBJCyZaDFQHaiFs3GXEP2QMseMXZuuhLrg8im7DsO+skQtIWH02x6xxKgj/o5bRmoU4ArOzYRWehrrj+pEeAEIVStLzSnhl4v4ovrQ7P5YbeHLFvmw6rb0wp0HYmuZIvA+wJa0uazJjfzjv3a
- x5t: tGg2yZgC0sVyvaK49GenyQB7cuA
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 201
- message: Created
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '1829'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- content:
- kty: RSA
- alg: RS256
- use: sig
- x5c:
- - MIIDbjCCAlagAwIBAgIUQ/BwWYGeDkDQjbUycWZqI/FeUDcwDQYJKoZIhvcNAQELBQAwZDELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFjAUBgNVBAcMDVNhbiBGcmFuY2lzY28xETAPBgNVBAoMCEdvb2REYXRhMRUwEwYDVQQDDAxnb29kZGF0YS5jb20wHhcNMjMwODE2MTM1NDMyWhcNMjMwOTE1MTM1NDMyWjBkMQswCQYDVQQGEwJVUzETMBEGA1UECAwKQ2FsaWZvcm5pYTEWMBQGA1UEBwwNU2FuIEZyYW5jaXNjbzERMA8GA1UECgwIR29vZERhdGExFTATBgNVBAMMDGdvb2RkYXRhLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALF4sOXTjpeg8ABSmED+tt4VDrO09H9piRLzDdT/gJFW8GoMWpyc8kaSSV9s8l7SGJ7E65bI60kcwU71gWQlxluF6ZnEiCqEZMv4QSRoCurISt9++aE4XAKtNSWVhFl1Nq6GMgUM+1cb1EiAD5kFV5/UwkO2E/00DoN/Q86Ldj2T2bWmyjNiEBLVer1ZnIqs90JDJ3Jbxp1AHGuimQjwaLXTV/XVnnQDgR5oqQs82CB7rZzF7E2bTwhL65YGMktcg+7tVmsT4JfOA+roJagwRelhdVa9n4Hnln8ro4if1NugQqug5hkAjewTwISSbKOm7z9uxufMGRkdxzP24ye9emcCAwEAAaMYMBYwFAYDVR0RBA0wC4IJbG9jYWxob3N0MA0GCSqGSIb3DQEBCwUAA4IBAQA2j3W4+qAkp0K6WP0gogMhqToJCx4/ojRdJ0hJeoIluIAiTzL3uDmG+85xbQ758qD6Ya1Mty6aPdNekFxYlUmulhYY+2Sdby6ChQIUgS9wj1sNFuo4e3U3JVpBfdtJq3diNTcEO/iNWds9MRtNzmrkRIDxAyZvB79Ghuq8i+J9OQ1Na0MEDqKD+KrW0eLT661sT0HgBJCyZaDFQHaiFs3GXEP2QMseMXZuuhLrg8im7DsO+skQtIWH02x6xxKgj/o5bRmoU4ArOzYRWehrrj+pEeAEIVStLzSnhl4v4ovrQ7P5YbeHLFvmw6rb0wp0HYmuZIvA+wJa0uazJjfzjv3a
- n: sXiw5dOOl6DwAFKYQP623hUOs7T0f2mJEvMN1P-AkVbwagxanJzyRpJJX2zyXtIYnsTrlsjrSRzBTvWBZCXGW4XpmcSIKoRky_hBJGgK6shK3375oThcAq01JZWEWXU2roYyBQz7VxvUSIAPmQVXn9TCQ7YT_TQOg39Dzot2PZPZtabKM2IQEtV6vVmciqz3QkMnclvGnUAca6KZCPBotdNX9dWedAOBHmipCzzYIHutnMXsTZtPCEvrlgYyS1yD7u1WaxPgl84D6uglqDBF6WF1Vr2fgeeWfyujiJ_U26BCq6DmGQCN7BPAhJJso6bvP27G58wZGR3HM_bjJ716Zw
- e: AQAB
- kid: Gkncy6f9BSp7wdav8w4SNZE1yt0
- x5t: tGg2yZgC0sVyvaK49GenyQB7cuA
- id: demoJwk
- type: jwk
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/jwks/demoJwk
- - request:
- method: DELETE
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/jwks/demoJwk
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/jwks/demoJwk
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 404
- message: Not Found
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '172'
- Content-Type:
- - application/problem+json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- detail: The requested endpoint does not exist or you do not have permission
- to access it.
- status: 404
- title: Not Found
- traceId: 7e2c892cd373c1045935f4b343d73cc3
- - request:
- method: DELETE
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/jwks/demoJwk
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/organization/delete_organization_setting.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/organization/delete_organization_setting.yaml
deleted file mode 100644
index 7243f1a74..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/organization/delete_organization_setting.yaml
+++ /dev/null
@@ -1,203 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: POST
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/organizationSettings
- body:
- data:
- id: test_setting
- type: organizationSetting
- attributes:
- type: LOCALE
- content:
- value: fr-FR
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 201
- message: Created
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '246'
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- content:
- value: fr-FR
- type: LOCALE
- id: test_setting
- type: organizationSetting
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/organizationSettings/test_setting
- - request:
- method: DELETE
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/organizationSettings/test_setting
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/organizationSettings/test_setting
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 404
- message: Not Found
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '172'
- Content-Type:
- - application/problem+json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- detail: The requested endpoint does not exist or you do not have permission
- to access it.
- status: 404
- title: Not Found
- traceId: 9d3471cd2ea50e679c09db79cbbdd7ab
- - request:
- method: DELETE
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/organizationSettings/test_setting
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/organization/layout_notification_channels.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/organization/layout_notification_channels.yaml
deleted file mode 100644
index 4bd4482bf..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/organization/layout_notification_channels.yaml
+++ /dev/null
@@ -1,114 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: PUT
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/notificationChannels
- body:
- notificationChannels:
- - id: webhook
- name: Webhook
- customDashboardUrl: https://dashboard.site
- allowedRecipients: CREATOR
- destination:
- type: WEBHOOK
- url: https://webhook.site
- token: '123'
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/notificationChannels
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '341'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- notificationChannels:
- - allowedRecipients: CREATOR
- customDashboardUrl: https://dashboard.site
- dashboardLinkVisibility: INTERNAL_ONLY
- destination:
- hasSecretKey: false
- hasToken: true
- type: WEBHOOK
- url: https://webhook.site
- destinationType: WEBHOOK
- id: webhook
- inPlatformNotification: DISABLED
- name: Webhook
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/organization/list_csp_directives.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/organization/list_csp_directives.yaml
deleted file mode 100644
index c6f551d26..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/organization/list_csp_directives.yaml
+++ /dev/null
@@ -1,326 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/cspDirectives?page=0&size=500
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '249'
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data: []
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/cspDirectives?page=0&size=500
- next: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/cspDirectives?page=1&size=500
- - request:
- method: POST
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/cspDirectives
- body:
- data:
- attributes:
- sources:
- - https://test.com
- id: font-src
- type: cspDirective
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 201
- message: Created
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '211'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- sources:
- - https://test.com
- id: font-src
- type: cspDirective
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/cspDirectives/font-src
- - request:
- method: POST
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/cspDirectives
- body:
- data:
- attributes:
- sources:
- - https://test2.com
- id: script-src
- type: cspDirective
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 201
- message: Created
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '216'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- sources:
- - https://test2.com
- id: script-src
- type: cspDirective
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/cspDirectives/script-src
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/cspDirectives?page=0&size=500
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '659'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- - attributes:
- sources:
- - https://test.com
- id: font-src
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/cspDirectives/font-src
- type: cspDirective
- - attributes:
- sources:
- - https://test2.com
- id: script-src
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/cspDirectives/script-src
- type: cspDirective
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/cspDirectives?page=0&size=500
- next: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/cspDirectives?page=1&size=500
- - request:
- method: DELETE
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/cspDirectives/font-src
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: DELETE
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/cspDirectives/script-src
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/organization/list_jwk.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/organization/list_jwk.yaml
deleted file mode 100644
index b636a1835..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/organization/list_jwk.yaml
+++ /dev/null
@@ -1,479 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/jwks?page=0&size=500
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '231'
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data: []
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/jwks?page=0&size=500
- next: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/jwks?page=1&size=500
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/jwks/demoJwk1
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 404
- message: Not Found
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '172'
- Content-Type:
- - application/problem+json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- detail: The requested endpoint does not exist or you do not have permission
- to access it.
- status: 404
- title: Not Found
- traceId: 2ddbb363e991dc452c4c13852cef611d
- - request:
- method: POST
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/jwks
- body:
- data:
- id: demoJwk1
- type: jwk
- attributes:
- content:
- alg: RS256
- e: AQAB
- kid: kid1
- kty: RSA
- n: sXiw5dOOl6DwAFKYQP623hUOs7T0f2mJEvMN1P-AkVbwagxanJzyRpJJX2zyXtIYnsTrlsjrSRzBTvWBZCXGW4XpmcSIKoRky_hBJGgK6shK3375oThcAq01JZWEWXU2roYyBQz7VxvUSIAPmQVXn9TCQ7YT_TQOg39Dzot2PZPZtabKM2IQEtV6vVmciqz3QkMnclvGnUAca6KZCPBotdNX9dWedAOBHmipCzzYIHutnMXsTZtPCEvrlgYyS1yD7u1WaxPgl84D6uglqDBF6WF1Vr2fgeeWfyujiJ_U26BCq6DmGQCN7BPAhJJso6bvP27G58wZGR3HM_bjJ716Zw
- use: sig
- x5c:
- - MIIDbjCCAlagAwIBAgIUQ/BwWYGeDkDQjbUycWZqI/FeUDcwDQYJKoZIhvcNAQELBQAwZDELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFjAUBgNVBAcMDVNhbiBGcmFuY2lzY28xETAPBgNVBAoMCEdvb2REYXRhMRUwEwYDVQQDDAxnb29kZGF0YS5jb20wHhcNMjMwODE2MTM1NDMyWhcNMjMwOTE1MTM1NDMyWjBkMQswCQYDVQQGEwJVUzETMBEGA1UECAwKQ2FsaWZvcm5pYTEWMBQGA1UEBwwNU2FuIEZyYW5jaXNjbzERMA8GA1UECgwIR29vZERhdGExFTATBgNVBAMMDGdvb2RkYXRhLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALF4sOXTjpeg8ABSmED+tt4VDrO09H9piRLzDdT/gJFW8GoMWpyc8kaSSV9s8l7SGJ7E65bI60kcwU71gWQlxluF6ZnEiCqEZMv4QSRoCurISt9++aE4XAKtNSWVhFl1Nq6GMgUM+1cb1EiAD5kFV5/UwkO2E/00DoN/Q86Ldj2T2bWmyjNiEBLVer1ZnIqs90JDJ3Jbxp1AHGuimQjwaLXTV/XVnnQDgR5oqQs82CB7rZzF7E2bTwhL65YGMktcg+7tVmsT4JfOA+roJagwRelhdVa9n4Hnln8ro4if1NugQqug5hkAjewTwISSbKOm7z9uxufMGRkdxzP24ye9emcCAwEAAaMYMBYwFAYDVR0RBA0wC4IJbG9jYWxob3N0MA0GCSqGSIb3DQEBCwUAA4IBAQA2j3W4+qAkp0K6WP0gogMhqToJCx4/ojRdJ0hJeoIluIAiTzL3uDmG+85xbQ758qD6Ya1Mty6aPdNekFxYlUmulhYY+2Sdby6ChQIUgS9wj1sNFuo4e3U3JVpBfdtJq3diNTcEO/iNWds9MRtNzmrkRIDxAyZvB79Ghuq8i+J9OQ1Na0MEDqKD+KrW0eLT661sT0HgBJCyZaDFQHaiFs3GXEP2QMseMXZuuhLrg8im7DsO+skQtIWH02x6xxKgj/o5bRmoU4ArOzYRWehrrj+pEeAEIVStLzSnhl4v4ovrQ7P5YbeHLFvmw6rb0wp0HYmuZIvA+wJa0uazJjfzjv3a
- x5t: tGg2yZgC0sVyvaK49GenyQB7cuA
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 201
- message: Created
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '1808'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- content:
- kty: RSA
- alg: RS256
- use: sig
- x5c:
- - MIIDbjCCAlagAwIBAgIUQ/BwWYGeDkDQjbUycWZqI/FeUDcwDQYJKoZIhvcNAQELBQAwZDELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFjAUBgNVBAcMDVNhbiBGcmFuY2lzY28xETAPBgNVBAoMCEdvb2REYXRhMRUwEwYDVQQDDAxnb29kZGF0YS5jb20wHhcNMjMwODE2MTM1NDMyWhcNMjMwOTE1MTM1NDMyWjBkMQswCQYDVQQGEwJVUzETMBEGA1UECAwKQ2FsaWZvcm5pYTEWMBQGA1UEBwwNU2FuIEZyYW5jaXNjbzERMA8GA1UECgwIR29vZERhdGExFTATBgNVBAMMDGdvb2RkYXRhLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALF4sOXTjpeg8ABSmED+tt4VDrO09H9piRLzDdT/gJFW8GoMWpyc8kaSSV9s8l7SGJ7E65bI60kcwU71gWQlxluF6ZnEiCqEZMv4QSRoCurISt9++aE4XAKtNSWVhFl1Nq6GMgUM+1cb1EiAD5kFV5/UwkO2E/00DoN/Q86Ldj2T2bWmyjNiEBLVer1ZnIqs90JDJ3Jbxp1AHGuimQjwaLXTV/XVnnQDgR5oqQs82CB7rZzF7E2bTwhL65YGMktcg+7tVmsT4JfOA+roJagwRelhdVa9n4Hnln8ro4if1NugQqug5hkAjewTwISSbKOm7z9uxufMGRkdxzP24ye9emcCAwEAAaMYMBYwFAYDVR0RBA0wC4IJbG9jYWxob3N0MA0GCSqGSIb3DQEBCwUAA4IBAQA2j3W4+qAkp0K6WP0gogMhqToJCx4/ojRdJ0hJeoIluIAiTzL3uDmG+85xbQ758qD6Ya1Mty6aPdNekFxYlUmulhYY+2Sdby6ChQIUgS9wj1sNFuo4e3U3JVpBfdtJq3diNTcEO/iNWds9MRtNzmrkRIDxAyZvB79Ghuq8i+J9OQ1Na0MEDqKD+KrW0eLT661sT0HgBJCyZaDFQHaiFs3GXEP2QMseMXZuuhLrg8im7DsO+skQtIWH02x6xxKgj/o5bRmoU4ArOzYRWehrrj+pEeAEIVStLzSnhl4v4ovrQ7P5YbeHLFvmw6rb0wp0HYmuZIvA+wJa0uazJjfzjv3a
- n: sXiw5dOOl6DwAFKYQP623hUOs7T0f2mJEvMN1P-AkVbwagxanJzyRpJJX2zyXtIYnsTrlsjrSRzBTvWBZCXGW4XpmcSIKoRky_hBJGgK6shK3375oThcAq01JZWEWXU2roYyBQz7VxvUSIAPmQVXn9TCQ7YT_TQOg39Dzot2PZPZtabKM2IQEtV6vVmciqz3QkMnclvGnUAca6KZCPBotdNX9dWedAOBHmipCzzYIHutnMXsTZtPCEvrlgYyS1yD7u1WaxPgl84D6uglqDBF6WF1Vr2fgeeWfyujiJ_U26BCq6DmGQCN7BPAhJJso6bvP27G58wZGR3HM_bjJ716Zw
- e: AQAB
- kid: kid1
- x5t: tGg2yZgC0sVyvaK49GenyQB7cuA
- id: demoJwk1
- type: jwk
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/jwks/demoJwk1
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/jwks/demoJwk2
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 404
- message: Not Found
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '172'
- Content-Type:
- - application/problem+json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- detail: The requested endpoint does not exist or you do not have permission
- to access it.
- status: 404
- title: Not Found
- traceId: b4b804b8c547855d1f7632a090590087
- - request:
- method: POST
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/jwks
- body:
- data:
- id: demoJwk2
- type: jwk
- attributes:
- content:
- alg: RS256
- e: AQAB
- kid: kid2
- kty: RSA
- n: sXiw5dOOl6DwAFKYQP623hUOs7T0f2mJEvMN1P-AkVbwagxanJzyRpJJX2zyXtIYnsTrlsjrSRzBTvWBZCXGW4XpmcSIKoRky_hBJGgK6shK3375oThcAq01JZWEWXU2roYyBQz7VxvUSIAPmQVXn9TCQ7YT_TQOg39Dzot2PZPZtabKM2IQEtV6vVmciqz3QkMnclvGnUAca6KZCPBotdNX9dWedAOBHmipCzzYIHutnMXsTZtPCEvrlgYyS1yD7u1WaxPgl84D6uglqDBF6WF1Vr2fgeeWfyujiJ_U26BCq6DmGQCN7BPAhJJso6bvP27G58wZGR3HM_bjJ716Zw
- use: sig
- x5c:
- - MIIDbjCCAlagAwIBAgIUQ/BwWYGeDkDQjbUycWZqI/FeUDcwDQYJKoZIhvcNAQELBQAwZDELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFjAUBgNVBAcMDVNhbiBGcmFuY2lzY28xETAPBgNVBAoMCEdvb2REYXRhMRUwEwYDVQQDDAxnb29kZGF0YS5jb20wHhcNMjMwODE2MTM1NDMyWhcNMjMwOTE1MTM1NDMyWjBkMQswCQYDVQQGEwJVUzETMBEGA1UECAwKQ2FsaWZvcm5pYTEWMBQGA1UEBwwNU2FuIEZyYW5jaXNjbzERMA8GA1UECgwIR29vZERhdGExFTATBgNVBAMMDGdvb2RkYXRhLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALF4sOXTjpeg8ABSmED+tt4VDrO09H9piRLzDdT/gJFW8GoMWpyc8kaSSV9s8l7SGJ7E65bI60kcwU71gWQlxluF6ZnEiCqEZMv4QSRoCurISt9++aE4XAKtNSWVhFl1Nq6GMgUM+1cb1EiAD5kFV5/UwkO2E/00DoN/Q86Ldj2T2bWmyjNiEBLVer1ZnIqs90JDJ3Jbxp1AHGuimQjwaLXTV/XVnnQDgR5oqQs82CB7rZzF7E2bTwhL65YGMktcg+7tVmsT4JfOA+roJagwRelhdVa9n4Hnln8ro4if1NugQqug5hkAjewTwISSbKOm7z9uxufMGRkdxzP24ye9emcCAwEAAaMYMBYwFAYDVR0RBA0wC4IJbG9jYWxob3N0MA0GCSqGSIb3DQEBCwUAA4IBAQA2j3W4+qAkp0K6WP0gogMhqToJCx4/ojRdJ0hJeoIluIAiTzL3uDmG+85xbQ758qD6Ya1Mty6aPdNekFxYlUmulhYY+2Sdby6ChQIUgS9wj1sNFuo4e3U3JVpBfdtJq3diNTcEO/iNWds9MRtNzmrkRIDxAyZvB79Ghuq8i+J9OQ1Na0MEDqKD+KrW0eLT661sT0HgBJCyZaDFQHaiFs3GXEP2QMseMXZuuhLrg8im7DsO+skQtIWH02x6xxKgj/o5bRmoU4ArOzYRWehrrj+pEeAEIVStLzSnhl4v4ovrQ7P5YbeHLFvmw6rb0wp0HYmuZIvA+wJa0uazJjfzjv3a
- x5t: tGg2yZgC0sVyvaK49GenyQB7cuA
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 201
- message: Created
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '1808'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- content:
- kty: RSA
- alg: RS256
- use: sig
- x5c:
- - MIIDbjCCAlagAwIBAgIUQ/BwWYGeDkDQjbUycWZqI/FeUDcwDQYJKoZIhvcNAQELBQAwZDELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFjAUBgNVBAcMDVNhbiBGcmFuY2lzY28xETAPBgNVBAoMCEdvb2REYXRhMRUwEwYDVQQDDAxnb29kZGF0YS5jb20wHhcNMjMwODE2MTM1NDMyWhcNMjMwOTE1MTM1NDMyWjBkMQswCQYDVQQGEwJVUzETMBEGA1UECAwKQ2FsaWZvcm5pYTEWMBQGA1UEBwwNU2FuIEZyYW5jaXNjbzERMA8GA1UECgwIR29vZERhdGExFTATBgNVBAMMDGdvb2RkYXRhLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALF4sOXTjpeg8ABSmED+tt4VDrO09H9piRLzDdT/gJFW8GoMWpyc8kaSSV9s8l7SGJ7E65bI60kcwU71gWQlxluF6ZnEiCqEZMv4QSRoCurISt9++aE4XAKtNSWVhFl1Nq6GMgUM+1cb1EiAD5kFV5/UwkO2E/00DoN/Q86Ldj2T2bWmyjNiEBLVer1ZnIqs90JDJ3Jbxp1AHGuimQjwaLXTV/XVnnQDgR5oqQs82CB7rZzF7E2bTwhL65YGMktcg+7tVmsT4JfOA+roJagwRelhdVa9n4Hnln8ro4if1NugQqug5hkAjewTwISSbKOm7z9uxufMGRkdxzP24ye9emcCAwEAAaMYMBYwFAYDVR0RBA0wC4IJbG9jYWxob3N0MA0GCSqGSIb3DQEBCwUAA4IBAQA2j3W4+qAkp0K6WP0gogMhqToJCx4/ojRdJ0hJeoIluIAiTzL3uDmG+85xbQ758qD6Ya1Mty6aPdNekFxYlUmulhYY+2Sdby6ChQIUgS9wj1sNFuo4e3U3JVpBfdtJq3diNTcEO/iNWds9MRtNzmrkRIDxAyZvB79Ghuq8i+J9OQ1Na0MEDqKD+KrW0eLT661sT0HgBJCyZaDFQHaiFs3GXEP2QMseMXZuuhLrg8im7DsO+skQtIWH02x6xxKgj/o5bRmoU4ArOzYRWehrrj+pEeAEIVStLzSnhl4v4ovrQ7P5YbeHLFvmw6rb0wp0HYmuZIvA+wJa0uazJjfzjv3a
- n: sXiw5dOOl6DwAFKYQP623hUOs7T0f2mJEvMN1P-AkVbwagxanJzyRpJJX2zyXtIYnsTrlsjrSRzBTvWBZCXGW4XpmcSIKoRky_hBJGgK6shK3375oThcAq01JZWEWXU2roYyBQz7VxvUSIAPmQVXn9TCQ7YT_TQOg39Dzot2PZPZtabKM2IQEtV6vVmciqz3QkMnclvGnUAca6KZCPBotdNX9dWedAOBHmipCzzYIHutnMXsTZtPCEvrlgYyS1yD7u1WaxPgl84D6uglqDBF6WF1Vr2fgeeWfyujiJ_U26BCq6DmGQCN7BPAhJJso6bvP27G58wZGR3HM_bjJ716Zw
- e: AQAB
- kid: kid2
- x5t: tGg2yZgC0sVyvaK49GenyQB7cuA
- id: demoJwk2
- type: jwk
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/jwks/demoJwk2
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/jwks?page=0&size=500
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- - attributes:
- content:
- kty: RSA
- alg: RS256
- use: sig
- x5c:
- - MIIDbjCCAlagAwIBAgIUQ/BwWYGeDkDQjbUycWZqI/FeUDcwDQYJKoZIhvcNAQELBQAwZDELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFjAUBgNVBAcMDVNhbiBGcmFuY2lzY28xETAPBgNVBAoMCEdvb2REYXRhMRUwEwYDVQQDDAxnb29kZGF0YS5jb20wHhcNMjMwODE2MTM1NDMyWhcNMjMwOTE1MTM1NDMyWjBkMQswCQYDVQQGEwJVUzETMBEGA1UECAwKQ2FsaWZvcm5pYTEWMBQGA1UEBwwNU2FuIEZyYW5jaXNjbzERMA8GA1UECgwIR29vZERhdGExFTATBgNVBAMMDGdvb2RkYXRhLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALF4sOXTjpeg8ABSmED+tt4VDrO09H9piRLzDdT/gJFW8GoMWpyc8kaSSV9s8l7SGJ7E65bI60kcwU71gWQlxluF6ZnEiCqEZMv4QSRoCurISt9++aE4XAKtNSWVhFl1Nq6GMgUM+1cb1EiAD5kFV5/UwkO2E/00DoN/Q86Ldj2T2bWmyjNiEBLVer1ZnIqs90JDJ3Jbxp1AHGuimQjwaLXTV/XVnnQDgR5oqQs82CB7rZzF7E2bTwhL65YGMktcg+7tVmsT4JfOA+roJagwRelhdVa9n4Hnln8ro4if1NugQqug5hkAjewTwISSbKOm7z9uxufMGRkdxzP24ye9emcCAwEAAaMYMBYwFAYDVR0RBA0wC4IJbG9jYWxob3N0MA0GCSqGSIb3DQEBCwUAA4IBAQA2j3W4+qAkp0K6WP0gogMhqToJCx4/ojRdJ0hJeoIluIAiTzL3uDmG+85xbQ758qD6Ya1Mty6aPdNekFxYlUmulhYY+2Sdby6ChQIUgS9wj1sNFuo4e3U3JVpBfdtJq3diNTcEO/iNWds9MRtNzmrkRIDxAyZvB79Ghuq8i+J9OQ1Na0MEDqKD+KrW0eLT661sT0HgBJCyZaDFQHaiFs3GXEP2QMseMXZuuhLrg8im7DsO+skQtIWH02x6xxKgj/o5bRmoU4ArOzYRWehrrj+pEeAEIVStLzSnhl4v4ovrQ7P5YbeHLFvmw6rb0wp0HYmuZIvA+wJa0uazJjfzjv3a
- n: sXiw5dOOl6DwAFKYQP623hUOs7T0f2mJEvMN1P-AkVbwagxanJzyRpJJX2zyXtIYnsTrlsjrSRzBTvWBZCXGW4XpmcSIKoRky_hBJGgK6shK3375oThcAq01JZWEWXU2roYyBQz7VxvUSIAPmQVXn9TCQ7YT_TQOg39Dzot2PZPZtabKM2IQEtV6vVmciqz3QkMnclvGnUAca6KZCPBotdNX9dWedAOBHmipCzzYIHutnMXsTZtPCEvrlgYyS1yD7u1WaxPgl84D6uglqDBF6WF1Vr2fgeeWfyujiJ_U26BCq6DmGQCN7BPAhJJso6bvP27G58wZGR3HM_bjJ716Zw
- e: AQAB
- kid: kid1
- x5t: tGg2yZgC0sVyvaK49GenyQB7cuA
- id: demoJwk1
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/jwks/demoJwk1
- type: jwk
- - attributes:
- content:
- kty: RSA
- alg: RS256
- use: sig
- x5c:
- - MIIDbjCCAlagAwIBAgIUQ/BwWYGeDkDQjbUycWZqI/FeUDcwDQYJKoZIhvcNAQELBQAwZDELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFjAUBgNVBAcMDVNhbiBGcmFuY2lzY28xETAPBgNVBAoMCEdvb2REYXRhMRUwEwYDVQQDDAxnb29kZGF0YS5jb20wHhcNMjMwODE2MTM1NDMyWhcNMjMwOTE1MTM1NDMyWjBkMQswCQYDVQQGEwJVUzETMBEGA1UECAwKQ2FsaWZvcm5pYTEWMBQGA1UEBwwNU2FuIEZyYW5jaXNjbzERMA8GA1UECgwIR29vZERhdGExFTATBgNVBAMMDGdvb2RkYXRhLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALF4sOXTjpeg8ABSmED+tt4VDrO09H9piRLzDdT/gJFW8GoMWpyc8kaSSV9s8l7SGJ7E65bI60kcwU71gWQlxluF6ZnEiCqEZMv4QSRoCurISt9++aE4XAKtNSWVhFl1Nq6GMgUM+1cb1EiAD5kFV5/UwkO2E/00DoN/Q86Ldj2T2bWmyjNiEBLVer1ZnIqs90JDJ3Jbxp1AHGuimQjwaLXTV/XVnnQDgR5oqQs82CB7rZzF7E2bTwhL65YGMktcg+7tVmsT4JfOA+roJagwRelhdVa9n4Hnln8ro4if1NugQqug5hkAjewTwISSbKOm7z9uxufMGRkdxzP24ye9emcCAwEAAaMYMBYwFAYDVR0RBA0wC4IJbG9jYWxob3N0MA0GCSqGSIb3DQEBCwUAA4IBAQA2j3W4+qAkp0K6WP0gogMhqToJCx4/ojRdJ0hJeoIluIAiTzL3uDmG+85xbQ758qD6Ya1Mty6aPdNekFxYlUmulhYY+2Sdby6ChQIUgS9wj1sNFuo4e3U3JVpBfdtJq3diNTcEO/iNWds9MRtNzmrkRIDxAyZvB79Ghuq8i+J9OQ1Na0MEDqKD+KrW0eLT661sT0HgBJCyZaDFQHaiFs3GXEP2QMseMXZuuhLrg8im7DsO+skQtIWH02x6xxKgj/o5bRmoU4ArOzYRWehrrj+pEeAEIVStLzSnhl4v4ovrQ7P5YbeHLFvmw6rb0wp0HYmuZIvA+wJa0uazJjfzjv3a
- n: sXiw5dOOl6DwAFKYQP623hUOs7T0f2mJEvMN1P-AkVbwagxanJzyRpJJX2zyXtIYnsTrlsjrSRzBTvWBZCXGW4XpmcSIKoRky_hBJGgK6shK3375oThcAq01JZWEWXU2roYyBQz7VxvUSIAPmQVXn9TCQ7YT_TQOg39Dzot2PZPZtabKM2IQEtV6vVmciqz3QkMnclvGnUAca6KZCPBotdNX9dWedAOBHmipCzzYIHutnMXsTZtPCEvrlgYyS1yD7u1WaxPgl84D6uglqDBF6WF1Vr2fgeeWfyujiJ_U26BCq6DmGQCN7BPAhJJso6bvP27G58wZGR3HM_bjJ716Zw
- e: AQAB
- kid: kid2
- x5t: tGg2yZgC0sVyvaK49GenyQB7cuA
- id: demoJwk2
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/jwks/demoJwk2
- type: jwk
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/jwks?page=0&size=500
- next: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/jwks?page=1&size=500
- - request:
- method: DELETE
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/jwks/demoJwk1
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: DELETE
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/jwks/demoJwk2
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/organization/list_organization_settings.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/organization/list_organization_settings.yaml
deleted file mode 100644
index bc91e6859..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/organization/list_organization_settings.yaml
+++ /dev/null
@@ -1,332 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/organizationSettings?page=0&size=500
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '263'
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data: []
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/organizationSettings?page=0&size=500
- next: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/organizationSettings?page=1&size=500
- - request:
- method: POST
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/organizationSettings
- body:
- data:
- id: test_setting_1
- type: organizationSetting
- attributes:
- type: LOCALE
- content:
- value: fr-FR
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 201
- message: Created
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '250'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- content:
- value: fr-FR
- type: LOCALE
- id: test_setting_1
- type: organizationSetting
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/organizationSettings/test_setting_1
- - request:
- method: POST
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/organizationSettings
- body:
- data:
- id: test_setting_2
- type: organizationSetting
- attributes:
- type: FORMAT_LOCALE
- content:
- value: en-GB
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 201
- message: Created
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '257'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- content:
- value: en-GB
- type: FORMAT_LOCALE
- id: test_setting_2
- type: organizationSetting
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/organizationSettings/test_setting_2
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/organizationSettings?page=0&size=500
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '753'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- - attributes:
- content:
- value: fr-FR
- type: LOCALE
- id: test_setting_1
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/organizationSettings/test_setting_1
- type: organizationSetting
- - attributes:
- content:
- value: en-GB
- type: FORMAT_LOCALE
- id: test_setting_2
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/organizationSettings/test_setting_2
- type: organizationSetting
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/organizationSettings?page=0&size=500
- next: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/organizationSettings?page=1&size=500
- - request:
- method: DELETE
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/organizationSettings/test_setting_1
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: DELETE
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/organizationSettings/test_setting_2
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/organization/organization.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/organization/organization.yaml
deleted file mode 100644
index 834bac0a2..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/organization/organization.yaml
+++ /dev/null
@@ -1,104 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: http://localhost:3000/api/v1/entities/organization
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 302
- message: Found
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Content-Length:
- - '0'
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Location:
- - /api/v1/entities/admin/organizations/default
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-Xss-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: http://localhost:3000/api/v1/entities/admin/organizations/default
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Content-Length:
- - '430'
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-Xss-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- name: Default Organization
- hostname: localhost
- earlyAccess: enableAlerting
- earlyAccessValues:
- - enableAlerting
- - enableSmtp
- - enablePreAggregationDatasets
- - enableScheduling
- - enableCompositeGrain
- - enableUserManagement
- - enableRawExports
- - enableFlexibleDashboardLayout
- id: default
- type: organization
- links:
- self: http://localhost:3000/api/v1/entities/admin/organizations/default
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/organization/update_allowed_origins.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/organization/update_allowed_origins.yaml
deleted file mode 100644
index 013ea8587..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/organization/update_allowed_origins.yaml
+++ /dev/null
@@ -1,596 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/organization
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 302
- message: Found
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '0'
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Location:
- - /api/v1/entities/admin/organizations/python-sdk-dex
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/admin/organizations/python-sdk-dex
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '564'
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- name: Python SDK Dex
- hostname: python-sdk-dex.dev-latest.stg11.panther.intgdc.com
- allowedOrigins: []
- earlyAccess: enableAlerting
- earlyAccessValues:
- - enableAlerting
- - enableSmtp
- - enablePreAggregationDatasets
- - enableScheduling
- - enableCompositeGrain
- - enableUserManagement
- - enableRawExports
- - enableFlexibleDashboardLayout
- region: ''
- dataCenter: ''
- id: python-sdk-dex
- type: organization
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/admin/organizations/python-sdk-dex
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/organization
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 302
- message: Found
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '0'
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Location:
- - /api/v1/entities/admin/organizations/python-sdk-dex
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/admin/organizations/python-sdk-dex
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '564'
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- name: Python SDK Dex
- hostname: python-sdk-dex.dev-latest.stg11.panther.intgdc.com
- allowedOrigins: []
- earlyAccess: enableAlerting
- earlyAccessValues:
- - enableAlerting
- - enableSmtp
- - enablePreAggregationDatasets
- - enableScheduling
- - enableCompositeGrain
- - enableUserManagement
- - enableRawExports
- - enableFlexibleDashboardLayout
- region: ''
- dataCenter: ''
- id: python-sdk-dex
- type: organization
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/admin/organizations/python-sdk-dex
- - request:
- method: PATCH
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/admin/organizations/python-sdk-dex
- body:
- data:
- id: python-sdk-dex
- type: organization
- attributes:
- allowedOrigins:
- - https://test.com
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '554'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- name: Python SDK Dex
- hostname: python-sdk-dex.dev-latest.stg11.panther.intgdc.com
- allowedOrigins:
- - https://test.com
- earlyAccess: enableAlerting
- earlyAccessValues:
- - enableAlerting
- - enableSmtp
- - enablePreAggregationDatasets
- - enableScheduling
- - enableCompositeGrain
- - enableUserManagement
- - enableRawExports
- - enableFlexibleDashboardLayout
- id: python-sdk-dex
- type: organization
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/admin/organizations/python-sdk-dex
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/organization
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 302
- message: Found
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '0'
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Location:
- - /api/v1/entities/admin/organizations/python-sdk-dex
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/admin/organizations/python-sdk-dex
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '582'
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- name: Python SDK Dex
- hostname: python-sdk-dex.dev-latest.stg11.panther.intgdc.com
- allowedOrigins:
- - https://test.com
- earlyAccess: enableAlerting
- earlyAccessValues:
- - enableAlerting
- - enableSmtp
- - enablePreAggregationDatasets
- - enableScheduling
- - enableCompositeGrain
- - enableUserManagement
- - enableRawExports
- - enableFlexibleDashboardLayout
- region: ''
- dataCenter: ''
- id: python-sdk-dex
- type: organization
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/admin/organizations/python-sdk-dex
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/organization
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 302
- message: Found
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '0'
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Location:
- - /api/v1/entities/admin/organizations/python-sdk-dex
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/admin/organizations/python-sdk-dex
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '582'
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- name: Python SDK Dex
- hostname: python-sdk-dex.dev-latest.stg11.panther.intgdc.com
- allowedOrigins:
- - https://test.com
- earlyAccess: enableAlerting
- earlyAccessValues:
- - enableAlerting
- - enableSmtp
- - enablePreAggregationDatasets
- - enableScheduling
- - enableCompositeGrain
- - enableUserManagement
- - enableRawExports
- - enableFlexibleDashboardLayout
- region: ''
- dataCenter: ''
- id: python-sdk-dex
- type: organization
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/admin/organizations/python-sdk-dex
- - request:
- method: PATCH
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/admin/organizations/python-sdk-dex
- body:
- data:
- id: python-sdk-dex
- type: organization
- attributes:
- allowedOrigins: []
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '536'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- name: Python SDK Dex
- hostname: python-sdk-dex.dev-latest.stg11.panther.intgdc.com
- allowedOrigins: []
- earlyAccess: enableAlerting
- earlyAccessValues:
- - enableAlerting
- - enableSmtp
- - enablePreAggregationDatasets
- - enableScheduling
- - enableCompositeGrain
- - enableUserManagement
- - enableRawExports
- - enableFlexibleDashboardLayout
- id: python-sdk-dex
- type: organization
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/admin/organizations/python-sdk-dex
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/organization/update_csp_directive.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/organization/update_csp_directive.yaml
deleted file mode 100644
index ba6e2ccce..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/organization/update_csp_directive.yaml
+++ /dev/null
@@ -1,224 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: POST
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/cspDirectives
- body:
- data:
- attributes:
- sources:
- - https://test.com
- id: font-src
- type: cspDirective
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 201
- message: Created
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '211'
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- sources:
- - https://test.com
- id: font-src
- type: cspDirective
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/cspDirectives/font-src
- - request:
- method: PUT
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/cspDirectives/font-src
- body:
- data:
- attributes:
- sources:
- - https://test2.com
- id: font-src
- type: cspDirective
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '212'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- sources:
- - https://test2.com
- id: font-src
- type: cspDirective
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/cspDirectives/font-src
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/cspDirectives/font-src
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '212'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- sources:
- - https://test2.com
- id: font-src
- type: cspDirective
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/cspDirectives/font-src
- - request:
- method: DELETE
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/cspDirectives/font-src
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/organization/update_jwk.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/organization/update_jwk.yaml
deleted file mode 100644
index ebeff1f9f..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/organization/update_jwk.yaml
+++ /dev/null
@@ -1,386 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/jwks/demoJwk
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 404
- message: Not Found
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '172'
- Content-Type:
- - application/problem+json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- detail: The requested endpoint does not exist or you do not have permission
- to access it.
- status: 404
- title: Not Found
- traceId: 8bf1662057b91a1cf06c5b349581efa7
- - request:
- method: POST
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/jwks
- body:
- data:
- id: demoJwk
- type: jwk
- attributes:
- content:
- alg: RS256
- e: AQAB
- kid: Gkncy6f9BSp7wdav8w4SNZE1yt0
- kty: RSA
- n: sXiw5dOOl6DwAFKYQP623hUOs7T0f2mJEvMN1P-AkVbwagxanJzyRpJJX2zyXtIYnsTrlsjrSRzBTvWBZCXGW4XpmcSIKoRky_hBJGgK6shK3375oThcAq01JZWEWXU2roYyBQz7VxvUSIAPmQVXn9TCQ7YT_TQOg39Dzot2PZPZtabKM2IQEtV6vVmciqz3QkMnclvGnUAca6KZCPBotdNX9dWedAOBHmipCzzYIHutnMXsTZtPCEvrlgYyS1yD7u1WaxPgl84D6uglqDBF6WF1Vr2fgeeWfyujiJ_U26BCq6DmGQCN7BPAhJJso6bvP27G58wZGR3HM_bjJ716Zw
- use: sig
- x5c:
- - MIIDbjCCAlagAwIBAgIUQ/BwWYGeDkDQjbUycWZqI/FeUDcwDQYJKoZIhvcNAQELBQAwZDELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFjAUBgNVBAcMDVNhbiBGcmFuY2lzY28xETAPBgNVBAoMCEdvb2REYXRhMRUwEwYDVQQDDAxnb29kZGF0YS5jb20wHhcNMjMwODE2MTM1NDMyWhcNMjMwOTE1MTM1NDMyWjBkMQswCQYDVQQGEwJVUzETMBEGA1UECAwKQ2FsaWZvcm5pYTEWMBQGA1UEBwwNU2FuIEZyYW5jaXNjbzERMA8GA1UECgwIR29vZERhdGExFTATBgNVBAMMDGdvb2RkYXRhLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALF4sOXTjpeg8ABSmED+tt4VDrO09H9piRLzDdT/gJFW8GoMWpyc8kaSSV9s8l7SGJ7E65bI60kcwU71gWQlxluF6ZnEiCqEZMv4QSRoCurISt9++aE4XAKtNSWVhFl1Nq6GMgUM+1cb1EiAD5kFV5/UwkO2E/00DoN/Q86Ldj2T2bWmyjNiEBLVer1ZnIqs90JDJ3Jbxp1AHGuimQjwaLXTV/XVnnQDgR5oqQs82CB7rZzF7E2bTwhL65YGMktcg+7tVmsT4JfOA+roJagwRelhdVa9n4Hnln8ro4if1NugQqug5hkAjewTwISSbKOm7z9uxufMGRkdxzP24ye9emcCAwEAAaMYMBYwFAYDVR0RBA0wC4IJbG9jYWxob3N0MA0GCSqGSIb3DQEBCwUAA4IBAQA2j3W4+qAkp0K6WP0gogMhqToJCx4/ojRdJ0hJeoIluIAiTzL3uDmG+85xbQ758qD6Ya1Mty6aPdNekFxYlUmulhYY+2Sdby6ChQIUgS9wj1sNFuo4e3U3JVpBfdtJq3diNTcEO/iNWds9MRtNzmrkRIDxAyZvB79Ghuq8i+J9OQ1Na0MEDqKD+KrW0eLT661sT0HgBJCyZaDFQHaiFs3GXEP2QMseMXZuuhLrg8im7DsO+skQtIWH02x6xxKgj/o5bRmoU4ArOzYRWehrrj+pEeAEIVStLzSnhl4v4ovrQ7P5YbeHLFvmw6rb0wp0HYmuZIvA+wJa0uazJjfzjv3a
- x5t: tGg2yZgC0sVyvaK49GenyQB7cuA
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 201
- message: Created
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '1829'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- content:
- kty: RSA
- alg: RS256
- use: sig
- x5c:
- - MIIDbjCCAlagAwIBAgIUQ/BwWYGeDkDQjbUycWZqI/FeUDcwDQYJKoZIhvcNAQELBQAwZDELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFjAUBgNVBAcMDVNhbiBGcmFuY2lzY28xETAPBgNVBAoMCEdvb2REYXRhMRUwEwYDVQQDDAxnb29kZGF0YS5jb20wHhcNMjMwODE2MTM1NDMyWhcNMjMwOTE1MTM1NDMyWjBkMQswCQYDVQQGEwJVUzETMBEGA1UECAwKQ2FsaWZvcm5pYTEWMBQGA1UEBwwNU2FuIEZyYW5jaXNjbzERMA8GA1UECgwIR29vZERhdGExFTATBgNVBAMMDGdvb2RkYXRhLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALF4sOXTjpeg8ABSmED+tt4VDrO09H9piRLzDdT/gJFW8GoMWpyc8kaSSV9s8l7SGJ7E65bI60kcwU71gWQlxluF6ZnEiCqEZMv4QSRoCurISt9++aE4XAKtNSWVhFl1Nq6GMgUM+1cb1EiAD5kFV5/UwkO2E/00DoN/Q86Ldj2T2bWmyjNiEBLVer1ZnIqs90JDJ3Jbxp1AHGuimQjwaLXTV/XVnnQDgR5oqQs82CB7rZzF7E2bTwhL65YGMktcg+7tVmsT4JfOA+roJagwRelhdVa9n4Hnln8ro4if1NugQqug5hkAjewTwISSbKOm7z9uxufMGRkdxzP24ye9emcCAwEAAaMYMBYwFAYDVR0RBA0wC4IJbG9jYWxob3N0MA0GCSqGSIb3DQEBCwUAA4IBAQA2j3W4+qAkp0K6WP0gogMhqToJCx4/ojRdJ0hJeoIluIAiTzL3uDmG+85xbQ758qD6Ya1Mty6aPdNekFxYlUmulhYY+2Sdby6ChQIUgS9wj1sNFuo4e3U3JVpBfdtJq3diNTcEO/iNWds9MRtNzmrkRIDxAyZvB79Ghuq8i+J9OQ1Na0MEDqKD+KrW0eLT661sT0HgBJCyZaDFQHaiFs3GXEP2QMseMXZuuhLrg8im7DsO+skQtIWH02x6xxKgj/o5bRmoU4ArOzYRWehrrj+pEeAEIVStLzSnhl4v4ovrQ7P5YbeHLFvmw6rb0wp0HYmuZIvA+wJa0uazJjfzjv3a
- n: sXiw5dOOl6DwAFKYQP623hUOs7T0f2mJEvMN1P-AkVbwagxanJzyRpJJX2zyXtIYnsTrlsjrSRzBTvWBZCXGW4XpmcSIKoRky_hBJGgK6shK3375oThcAq01JZWEWXU2roYyBQz7VxvUSIAPmQVXn9TCQ7YT_TQOg39Dzot2PZPZtabKM2IQEtV6vVmciqz3QkMnclvGnUAca6KZCPBotdNX9dWedAOBHmipCzzYIHutnMXsTZtPCEvrlgYyS1yD7u1WaxPgl84D6uglqDBF6WF1Vr2fgeeWfyujiJ_U26BCq6DmGQCN7BPAhJJso6bvP27G58wZGR3HM_bjJ716Zw
- e: AQAB
- kid: Gkncy6f9BSp7wdav8w4SNZE1yt0
- x5t: tGg2yZgC0sVyvaK49GenyQB7cuA
- id: demoJwk
- type: jwk
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/jwks/demoJwk
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/jwks/demoJwk
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- content:
- kty: RSA
- alg: RS256
- use: sig
- x5c:
- - MIIDbjCCAlagAwIBAgIUQ/BwWYGeDkDQjbUycWZqI/FeUDcwDQYJKoZIhvcNAQELBQAwZDELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFjAUBgNVBAcMDVNhbiBGcmFuY2lzY28xETAPBgNVBAoMCEdvb2REYXRhMRUwEwYDVQQDDAxnb29kZGF0YS5jb20wHhcNMjMwODE2MTM1NDMyWhcNMjMwOTE1MTM1NDMyWjBkMQswCQYDVQQGEwJVUzETMBEGA1UECAwKQ2FsaWZvcm5pYTEWMBQGA1UEBwwNU2FuIEZyYW5jaXNjbzERMA8GA1UECgwIR29vZERhdGExFTATBgNVBAMMDGdvb2RkYXRhLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALF4sOXTjpeg8ABSmED+tt4VDrO09H9piRLzDdT/gJFW8GoMWpyc8kaSSV9s8l7SGJ7E65bI60kcwU71gWQlxluF6ZnEiCqEZMv4QSRoCurISt9++aE4XAKtNSWVhFl1Nq6GMgUM+1cb1EiAD5kFV5/UwkO2E/00DoN/Q86Ldj2T2bWmyjNiEBLVer1ZnIqs90JDJ3Jbxp1AHGuimQjwaLXTV/XVnnQDgR5oqQs82CB7rZzF7E2bTwhL65YGMktcg+7tVmsT4JfOA+roJagwRelhdVa9n4Hnln8ro4if1NugQqug5hkAjewTwISSbKOm7z9uxufMGRkdxzP24ye9emcCAwEAAaMYMBYwFAYDVR0RBA0wC4IJbG9jYWxob3N0MA0GCSqGSIb3DQEBCwUAA4IBAQA2j3W4+qAkp0K6WP0gogMhqToJCx4/ojRdJ0hJeoIluIAiTzL3uDmG+85xbQ758qD6Ya1Mty6aPdNekFxYlUmulhYY+2Sdby6ChQIUgS9wj1sNFuo4e3U3JVpBfdtJq3diNTcEO/iNWds9MRtNzmrkRIDxAyZvB79Ghuq8i+J9OQ1Na0MEDqKD+KrW0eLT661sT0HgBJCyZaDFQHaiFs3GXEP2QMseMXZuuhLrg8im7DsO+skQtIWH02x6xxKgj/o5bRmoU4ArOzYRWehrrj+pEeAEIVStLzSnhl4v4ovrQ7P5YbeHLFvmw6rb0wp0HYmuZIvA+wJa0uazJjfzjv3a
- n: sXiw5dOOl6DwAFKYQP623hUOs7T0f2mJEvMN1P-AkVbwagxanJzyRpJJX2zyXtIYnsTrlsjrSRzBTvWBZCXGW4XpmcSIKoRky_hBJGgK6shK3375oThcAq01JZWEWXU2roYyBQz7VxvUSIAPmQVXn9TCQ7YT_TQOg39Dzot2PZPZtabKM2IQEtV6vVmciqz3QkMnclvGnUAca6KZCPBotdNX9dWedAOBHmipCzzYIHutnMXsTZtPCEvrlgYyS1yD7u1WaxPgl84D6uglqDBF6WF1Vr2fgeeWfyujiJ_U26BCq6DmGQCN7BPAhJJso6bvP27G58wZGR3HM_bjJ716Zw
- e: AQAB
- kid: Gkncy6f9BSp7wdav8w4SNZE1yt0
- x5t: tGg2yZgC0sVyvaK49GenyQB7cuA
- id: demoJwk
- type: jwk
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/jwks/demoJwk
- - request:
- method: PUT
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/jwks/demoJwk
- body:
- data:
- id: demoJwk
- type: jwk
- attributes:
- content:
- alg: RS384
- e: AQAB
- kid: Gkncy6f9BSp7wdav8w4SNZE1yt0
- kty: RSA
- n: sXiw5dOOl6DwAFKYQP623hUOs7T0f2mJEvMN1P-AkVbwagxanJzyRpJJX2zyXtIYnsTrlsjrSRzBTvWBZCXGW4XpmcSIKoRky_hBJGgK6shK3375oThcAq01JZWEWXU2roYyBQz7VxvUSIAPmQVXn9TCQ7YT_TQOg39Dzot2PZPZtabKM2IQEtV6vVmciqz3QkMnclvGnUAca6KZCPBotdNX9dWedAOBHmipCzzYIHutnMXsTZtPCEvrlgYyS1yD7u1WaxPgl84D6uglqDBF6WF1Vr2fgeeWfyujiJ_U26BCq6DmGQCN7BPAhJJso6bvP27G58wZGR3HM_bjJ716Zw
- use: sig
- x5c:
- - MIIDbjCCAlagAwIBAgIUQ/BwWYGeDkDQjbUycWZqI/FeUDcwDQYJKoZIhvcNAQELBQAwZDELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFjAUBgNVBAcMDVNhbiBGcmFuY2lzY28xETAPBgNVBAoMCEdvb2REYXRhMRUwEwYDVQQDDAxnb29kZGF0YS5jb20wHhcNMjMwODE2MTM1NDMyWhcNMjMwOTE1MTM1NDMyWjBkMQswCQYDVQQGEwJVUzETMBEGA1UECAwKQ2FsaWZvcm5pYTEWMBQGA1UEBwwNU2FuIEZyYW5jaXNjbzERMA8GA1UECgwIR29vZERhdGExFTATBgNVBAMMDGdvb2RkYXRhLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALF4sOXTjpeg8ABSmED+tt4VDrO09H9piRLzDdT/gJFW8GoMWpyc8kaSSV9s8l7SGJ7E65bI60kcwU71gWQlxluF6ZnEiCqEZMv4QSRoCurISt9++aE4XAKtNSWVhFl1Nq6GMgUM+1cb1EiAD5kFV5/UwkO2E/00DoN/Q86Ldj2T2bWmyjNiEBLVer1ZnIqs90JDJ3Jbxp1AHGuimQjwaLXTV/XVnnQDgR5oqQs82CB7rZzF7E2bTwhL65YGMktcg+7tVmsT4JfOA+roJagwRelhdVa9n4Hnln8ro4if1NugQqug5hkAjewTwISSbKOm7z9uxufMGRkdxzP24ye9emcCAwEAAaMYMBYwFAYDVR0RBA0wC4IJbG9jYWxob3N0MA0GCSqGSIb3DQEBCwUAA4IBAQA2j3W4+qAkp0K6WP0gogMhqToJCx4/ojRdJ0hJeoIluIAiTzL3uDmG+85xbQ758qD6Ya1Mty6aPdNekFxYlUmulhYY+2Sdby6ChQIUgS9wj1sNFuo4e3U3JVpBfdtJq3diNTcEO/iNWds9MRtNzmrkRIDxAyZvB79Ghuq8i+J9OQ1Na0MEDqKD+KrW0eLT661sT0HgBJCyZaDFQHaiFs3GXEP2QMseMXZuuhLrg8im7DsO+skQtIWH02x6xxKgj/o5bRmoU4ArOzYRWehrrj+pEeAEIVStLzSnhl4v4ovrQ7P5YbeHLFvmw6rb0wp0HYmuZIvA+wJa0uazJjfzjv3a
- x5t: tGg2yZgC0sVyvaK49GenyQB7cuA
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- content:
- kty: RSA
- alg: RS384
- use: sig
- x5c:
- - MIIDbjCCAlagAwIBAgIUQ/BwWYGeDkDQjbUycWZqI/FeUDcwDQYJKoZIhvcNAQELBQAwZDELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFjAUBgNVBAcMDVNhbiBGcmFuY2lzY28xETAPBgNVBAoMCEdvb2REYXRhMRUwEwYDVQQDDAxnb29kZGF0YS5jb20wHhcNMjMwODE2MTM1NDMyWhcNMjMwOTE1MTM1NDMyWjBkMQswCQYDVQQGEwJVUzETMBEGA1UECAwKQ2FsaWZvcm5pYTEWMBQGA1UEBwwNU2FuIEZyYW5jaXNjbzERMA8GA1UECgwIR29vZERhdGExFTATBgNVBAMMDGdvb2RkYXRhLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALF4sOXTjpeg8ABSmED+tt4VDrO09H9piRLzDdT/gJFW8GoMWpyc8kaSSV9s8l7SGJ7E65bI60kcwU71gWQlxluF6ZnEiCqEZMv4QSRoCurISt9++aE4XAKtNSWVhFl1Nq6GMgUM+1cb1EiAD5kFV5/UwkO2E/00DoN/Q86Ldj2T2bWmyjNiEBLVer1ZnIqs90JDJ3Jbxp1AHGuimQjwaLXTV/XVnnQDgR5oqQs82CB7rZzF7E2bTwhL65YGMktcg+7tVmsT4JfOA+roJagwRelhdVa9n4Hnln8ro4if1NugQqug5hkAjewTwISSbKOm7z9uxufMGRkdxzP24ye9emcCAwEAAaMYMBYwFAYDVR0RBA0wC4IJbG9jYWxob3N0MA0GCSqGSIb3DQEBCwUAA4IBAQA2j3W4+qAkp0K6WP0gogMhqToJCx4/ojRdJ0hJeoIluIAiTzL3uDmG+85xbQ758qD6Ya1Mty6aPdNekFxYlUmulhYY+2Sdby6ChQIUgS9wj1sNFuo4e3U3JVpBfdtJq3diNTcEO/iNWds9MRtNzmrkRIDxAyZvB79Ghuq8i+J9OQ1Na0MEDqKD+KrW0eLT661sT0HgBJCyZaDFQHaiFs3GXEP2QMseMXZuuhLrg8im7DsO+skQtIWH02x6xxKgj/o5bRmoU4ArOzYRWehrrj+pEeAEIVStLzSnhl4v4ovrQ7P5YbeHLFvmw6rb0wp0HYmuZIvA+wJa0uazJjfzjv3a
- n: sXiw5dOOl6DwAFKYQP623hUOs7T0f2mJEvMN1P-AkVbwagxanJzyRpJJX2zyXtIYnsTrlsjrSRzBTvWBZCXGW4XpmcSIKoRky_hBJGgK6shK3375oThcAq01JZWEWXU2roYyBQz7VxvUSIAPmQVXn9TCQ7YT_TQOg39Dzot2PZPZtabKM2IQEtV6vVmciqz3QkMnclvGnUAca6KZCPBotdNX9dWedAOBHmipCzzYIHutnMXsTZtPCEvrlgYyS1yD7u1WaxPgl84D6uglqDBF6WF1Vr2fgeeWfyujiJ_U26BCq6DmGQCN7BPAhJJso6bvP27G58wZGR3HM_bjJ716Zw
- e: AQAB
- kid: Gkncy6f9BSp7wdav8w4SNZE1yt0
- x5t: tGg2yZgC0sVyvaK49GenyQB7cuA
- id: demoJwk
- type: jwk
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/jwks/demoJwk
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/jwks/demoJwk
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- content:
- kty: RSA
- alg: RS384
- use: sig
- x5c:
- - MIIDbjCCAlagAwIBAgIUQ/BwWYGeDkDQjbUycWZqI/FeUDcwDQYJKoZIhvcNAQELBQAwZDELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFjAUBgNVBAcMDVNhbiBGcmFuY2lzY28xETAPBgNVBAoMCEdvb2REYXRhMRUwEwYDVQQDDAxnb29kZGF0YS5jb20wHhcNMjMwODE2MTM1NDMyWhcNMjMwOTE1MTM1NDMyWjBkMQswCQYDVQQGEwJVUzETMBEGA1UECAwKQ2FsaWZvcm5pYTEWMBQGA1UEBwwNU2FuIEZyYW5jaXNjbzERMA8GA1UECgwIR29vZERhdGExFTATBgNVBAMMDGdvb2RkYXRhLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALF4sOXTjpeg8ABSmED+tt4VDrO09H9piRLzDdT/gJFW8GoMWpyc8kaSSV9s8l7SGJ7E65bI60kcwU71gWQlxluF6ZnEiCqEZMv4QSRoCurISt9++aE4XAKtNSWVhFl1Nq6GMgUM+1cb1EiAD5kFV5/UwkO2E/00DoN/Q86Ldj2T2bWmyjNiEBLVer1ZnIqs90JDJ3Jbxp1AHGuimQjwaLXTV/XVnnQDgR5oqQs82CB7rZzF7E2bTwhL65YGMktcg+7tVmsT4JfOA+roJagwRelhdVa9n4Hnln8ro4if1NugQqug5hkAjewTwISSbKOm7z9uxufMGRkdxzP24ye9emcCAwEAAaMYMBYwFAYDVR0RBA0wC4IJbG9jYWxob3N0MA0GCSqGSIb3DQEBCwUAA4IBAQA2j3W4+qAkp0K6WP0gogMhqToJCx4/ojRdJ0hJeoIluIAiTzL3uDmG+85xbQ758qD6Ya1Mty6aPdNekFxYlUmulhYY+2Sdby6ChQIUgS9wj1sNFuo4e3U3JVpBfdtJq3diNTcEO/iNWds9MRtNzmrkRIDxAyZvB79Ghuq8i+J9OQ1Na0MEDqKD+KrW0eLT661sT0HgBJCyZaDFQHaiFs3GXEP2QMseMXZuuhLrg8im7DsO+skQtIWH02x6xxKgj/o5bRmoU4ArOzYRWehrrj+pEeAEIVStLzSnhl4v4ovrQ7P5YbeHLFvmw6rb0wp0HYmuZIvA+wJa0uazJjfzjv3a
- n: sXiw5dOOl6DwAFKYQP623hUOs7T0f2mJEvMN1P-AkVbwagxanJzyRpJJX2zyXtIYnsTrlsjrSRzBTvWBZCXGW4XpmcSIKoRky_hBJGgK6shK3375oThcAq01JZWEWXU2roYyBQz7VxvUSIAPmQVXn9TCQ7YT_TQOg39Dzot2PZPZtabKM2IQEtV6vVmciqz3QkMnclvGnUAca6KZCPBotdNX9dWedAOBHmipCzzYIHutnMXsTZtPCEvrlgYyS1yD7u1WaxPgl84D6uglqDBF6WF1Vr2fgeeWfyujiJ_U26BCq6DmGQCN7BPAhJJso6bvP27G58wZGR3HM_bjJ716Zw
- e: AQAB
- kid: Gkncy6f9BSp7wdav8w4SNZE1yt0
- x5t: tGg2yZgC0sVyvaK49GenyQB7cuA
- id: demoJwk
- type: jwk
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/jwks/demoJwk
- - request:
- method: DELETE
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/jwks/demoJwk
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/organization/update_name.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/organization/update_name.yaml
deleted file mode 100644
index a6aec949f..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/organization/update_name.yaml
+++ /dev/null
@@ -1,538 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: http://localhost:3000/api/v1/entities/organization
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 302
- message: Found
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Content-Length:
- - '0'
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Location:
- - /api/v1/entities/admin/organizations/default
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-Xss-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: http://localhost:3000/api/v1/entities/admin/organizations/default
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Content-Length:
- - '430'
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-Xss-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- name: Default Organization
- hostname: localhost
- earlyAccess: enableAlerting
- earlyAccessValues:
- - enableAlerting
- - enableSmtp
- - enablePreAggregationDatasets
- - enableScheduling
- - enableCompositeGrain
- - enableUserManagement
- - enableRawExports
- - enableFlexibleDashboardLayout
- 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:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 302
- message: Found
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Content-Length:
- - '0'
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Location:
- - /api/v1/entities/admin/organizations/default
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-Xss-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: http://localhost:3000/api/v1/entities/admin/organizations/default
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Content-Length:
- - '430'
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-Xss-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- name: Default Organization
- hostname: localhost
- earlyAccess: enableAlerting
- earlyAccessValues:
- - enableAlerting
- - enableSmtp
- - enablePreAggregationDatasets
- - enableScheduling
- - enableCompositeGrain
- - enableUserManagement
- - enableRawExports
- - enableFlexibleDashboardLayout
- id: default
- type: organization
- links:
- self: http://localhost:3000/api/v1/entities/admin/organizations/default
- - request:
- method: PATCH
- uri: http://localhost:3000/api/v1/entities/admin/organizations/default
- body:
- data:
- id: default
- type: organization
- attributes:
- name: test_organization
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Content-Length:
- - '427'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-Xss-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- name: test_organization
- hostname: localhost
- earlyAccess: enableAlerting
- earlyAccessValues:
- - enableAlerting
- - enableSmtp
- - enablePreAggregationDatasets
- - enableScheduling
- - enableCompositeGrain
- - enableUserManagement
- - enableRawExports
- - enableFlexibleDashboardLayout
- 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:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 302
- message: Found
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Content-Length:
- - '0'
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Location:
- - /api/v1/entities/admin/organizations/default
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-Xss-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: http://localhost:3000/api/v1/entities/admin/organizations/default
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Content-Length:
- - '427'
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-Xss-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- name: test_organization
- hostname: localhost
- earlyAccess: enableAlerting
- earlyAccessValues:
- - enableAlerting
- - enableSmtp
- - enablePreAggregationDatasets
- - enableScheduling
- - enableCompositeGrain
- - enableUserManagement
- - enableRawExports
- - enableFlexibleDashboardLayout
- 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:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 302
- message: Found
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Content-Length:
- - '0'
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Location:
- - /api/v1/entities/admin/organizations/default
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-Xss-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: http://localhost:3000/api/v1/entities/admin/organizations/default
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Content-Length:
- - '427'
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-Xss-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- name: test_organization
- hostname: localhost
- earlyAccess: enableAlerting
- earlyAccessValues:
- - enableAlerting
- - enableSmtp
- - enablePreAggregationDatasets
- - enableScheduling
- - enableCompositeGrain
- - enableUserManagement
- - enableRawExports
- - enableFlexibleDashboardLayout
- id: default
- type: organization
- links:
- self: http://localhost:3000/api/v1/entities/admin/organizations/default
- - request:
- method: PATCH
- uri: http://localhost:3000/api/v1/entities/admin/organizations/default
- body:
- data:
- id: default
- type: organization
- attributes:
- name: Default Organization
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Content-Length:
- - '430'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-Xss-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- name: Default Organization
- hostname: localhost
- earlyAccess: enableAlerting
- earlyAccessValues:
- - enableAlerting
- - enableSmtp
- - enablePreAggregationDatasets
- - enableScheduling
- - enableCompositeGrain
- - enableUserManagement
- - enableRawExports
- - enableFlexibleDashboardLayout
- id: default
- type: organization
- links:
- self: http://localhost:3000/api/v1/entities/admin/organizations/default
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/organization/update_organization_setting.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/organization/update_organization_setting.yaml
deleted file mode 100644
index b169ecd68..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/organization/update_organization_setting.yaml
+++ /dev/null
@@ -1,229 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: POST
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/organizationSettings
- body:
- data:
- id: test_setting
- type: organizationSetting
- attributes:
- type: LOCALE
- content:
- value: fr-FR
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 201
- message: Created
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '246'
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- content:
- value: fr-FR
- type: LOCALE
- id: test_setting
- type: organizationSetting
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/organizationSettings/test_setting
- - request:
- method: PUT
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/organizationSettings/test_setting
- body:
- data:
- id: test_setting
- type: organizationSetting
- attributes:
- type: LOCALE
- content:
- value: en-GB
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '246'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- content:
- value: en-GB
- type: LOCALE
- id: test_setting
- type: organizationSetting
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/organizationSettings/test_setting
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/organizationSettings/test_setting
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '246'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- content:
- value: en-GB
- type: LOCALE
- id: test_setting
- type: organizationSetting
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/organizationSettings/test_setting
- - request:
- method: DELETE
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/organizationSettings/test_setting
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/permissions/get_declarative_permissions.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/permissions/get_declarative_permissions.yaml
deleted file mode 100644
index e946846e6..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/permissions/get_declarative_permissions.yaml
+++ /dev/null
@@ -1,132 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces/demo/permissions
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '292'
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- 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: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces/demo/permissions
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '292'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- 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/packages/gooddata-sdk/tests/catalog/fixtures/permissions/list_available_assignees.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/permissions/list_available_assignees.yaml
deleted file mode 100644
index 5f654f756..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/permissions/list_available_assignees.yaml
+++ /dev/null
@@ -1,56 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/actions/workspaces/demo/analyticalDashboards/campaign/availableAssignees
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '107'
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- userGroups:
- - id: visitorsGroup
- name: visitors
- - id: demoGroup
- name: demo group
- users: []
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/permissions/list_dashboard_permissions.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/permissions/list_dashboard_permissions.yaml
deleted file mode 100644
index d749193fe..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/permissions/list_dashboard_permissions.yaml
+++ /dev/null
@@ -1,211 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: POST
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/actions/workspaces/demo/analyticalDashboards/campaign/managePermissions
- body:
- - permissions:
- - VIEW
- assigneeIdentifier:
- id: visitorsGroup
- type: userGroup
- - permissions:
- - VIEW
- assigneeRule:
- type: allWorkspaceUsers
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/actions/workspaces/demo/analyticalDashboards/campaign/permissions
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '209'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- rules:
- - permissions:
- - level: VIEW
- source: direct
- type: allWorkspaceUsers
- userGroups:
- - id: visitorsGroup
- name: visitors
- permissions:
- - level: VIEW
- source: direct
- users: []
- - request:
- method: POST
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/actions/workspaces/demo/analyticalDashboards/campaign/managePermissions
- body:
- - permissions: []
- assigneeIdentifier:
- id: visitorsGroup
- type: userGroup
- - permissions: []
- assigneeRule:
- type: allWorkspaceUsers
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/actions/workspaces/demo/analyticalDashboards/campaign/permissions
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '39'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- rules: []
- userGroups: []
- users: []
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/permissions/manage_dashboard_permissions_declarative_workspace.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/permissions/manage_dashboard_permissions_declarative_workspace.yaml
deleted file mode 100644
index 19d3e7554..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/permissions/manage_dashboard_permissions_declarative_workspace.yaml
+++ /dev/null
@@ -1,2152 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: POST
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/actions/workspaces/demo/analyticalDashboards/campaign/managePermissions
- body:
- - permissions:
- - VIEW
- assigneeIdentifier:
- id: visitorsGroup
- type: userGroup
- - permissions:
- - VIEW
- assigneeRule:
- type: allWorkspaceUsers
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/actions/workspaces/demo/analyticalDashboards/campaign/permissions
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '209'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- rules:
- - permissions:
- - level: VIEW
- source: direct
- type: allWorkspaceUsers
- userGroups:
- - id: visitorsGroup
- name: visitors
- permissions:
- - level: VIEW
- source: direct
- users: []
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces/demo
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- analytics:
- analyticalDashboardExtensions: []
- analyticalDashboards:
- - content:
- filterContextRef:
- identifier:
- id: campaign_name_filter
- type: filterContext
- layout:
- type: IDashboardLayout
- sections:
- - type: IDashboardLayoutSection
- header:
- title: Spend breakdown and Revenue
- description: The first insight shows a breakdown of spend
- by category and campaign. The second shows revenue per
- $ spend, for each campaign, to demonstrate, how campaigns
- are successful.
- 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'
- createdAt: 2025-08-07 11:45
- createdBy:
- id: admin
- type: user
- description: ''
- id: campaign
- permissions:
- - assigneeRule:
- type: allWorkspaceUsers
- name: VIEW
- - assignee:
- id: visitorsGroup
- type: userGroup
- name: VIEW
- 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'
- createdAt: 2025-08-07 11:45
- createdBy:
- id: admin
- type: user
- 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'
- createdAt: 2025-08-07 11:45
- createdBy:
- id: admin
- type: user
- description: ''
- id: product_and_category
- title: Product & Category
- attributeHierarchies: []
- dashboardPlugins:
- - content:
- url: https://www.example.com
- version: '2'
- createdAt: 2025-08-07 11:45
- createdBy:
- id: admin
- type: user
- description: Testing record dashboard_plugin_1
- id: dashboard_plugin_1
- title: dashboard_plugin_1
- - content:
- url: https://www.example.com
- version: '2'
- createdAt: 2025-08-07 11:45
- createdBy:
- id: admin
- type: user
- description: Testing record dashboard_plugin_2
- id: dashboard_plugin_2
- title: dashboard_plugin_2
- exportDefinitions: []
- 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
- memoryItems: []
- metrics:
- - content:
- format: '#,##0'
- maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id})
- createdAt: 2025-08-07 11:45
- createdBy:
- id: admin
- type: user
- id: amount_of_active_customers
- title: '# of Active Customers'
- - content:
- format: '#,##0'
- maql: SELECT COUNT({attribute/order_id})
- createdAt: 2025-08-07 11:45
- createdBy:
- id: admin
- type: user
- 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 '
- createdAt: 2025-08-07 11:45
- createdBy:
- id: admin
- type: user
- 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"))
- createdAt: 2025-08-07 11:45
- createdBy:
- id: admin
- type: user
- description: ''
- id: amount_of_valid_orders
- title: '# of Valid Orders'
- - content:
- format: $#,##0
- maql: SELECT SUM({fact/spend})
- createdAt: 2025-08-07 11:45
- createdBy:
- id: admin
- type: user
- id: campaign_spend
- title: Campaign Spend
- - content:
- format: $#,##0
- maql: SELECT SUM({fact/price}*{fact/quantity})
- createdAt: 2025-08-07 11:45
- createdBy:
- id: admin
- type: user
- id: order_amount
- title: Order Amount
- - content:
- format: '#,##0.0%'
- maql: SELECT {metric/revenue} / {metric/total_revenue}
- createdAt: 2025-08-07 11:45
- createdBy:
- id: admin
- type: user
- 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}"
- createdAt: 2025-08-07 11:45
- createdBy:
- id: admin
- type: user
- 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}"
- createdAt: 2025-08-07 11:45
- createdBy:
- id: admin
- type: user
- 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}"
- createdAt: 2025-08-07 11:45
- createdBy:
- id: admin
- type: user
- 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}"
- createdAt: 2025-08-07 11:45
- createdBy:
- id: admin
- type: user
- 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)
- createdAt: 2025-08-07 11:45
- createdBy:
- id: admin
- type: user
- 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})
- createdAt: 2025-08-07 11:45
- createdBy:
- id: admin
- type: user
- 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"))
- createdAt: 2025-08-07 11:45
- createdBy:
- id: admin
- type: user
- description: ''
- id: revenue
- title: Revenue
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE {label/products.category} IN
- ("Clothing")
- createdAt: 2025-08-07 11:45
- createdBy:
- id: admin
- type: user
- id: revenue-clothing
- title: Revenue (Clothing)
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE {label/products.category} IN
- ( "Electronics")
- createdAt: 2025-08-07 11:45
- createdBy:
- id: admin
- type: user
- id: revenue-electronic
- title: Revenue (Electronic)
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE {label/products.category} IN
- ("Home")
- createdAt: 2025-08-07 11:45
- createdBy:
- id: admin
- type: user
- id: revenue-home
- title: Revenue (Home)
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE {label/products.category} IN
- ("Outdoor")
- createdAt: 2025-08-07 11:45
- createdBy:
- id: admin
- type: user
- id: revenue-outdoor
- title: Revenue (Outdoor)
- - content:
- format: $#,##0.0
- maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id})
- createdAt: 2025-08-07 11:45
- createdBy:
- id: admin
- type: user
- id: revenue_per_customer
- title: Revenue per Customer
- - content:
- format: $#,##0.0
- maql: SELECT {metric/revenue} / {metric/campaign_spend}
- createdAt: 2025-08-07 11:45
- createdBy:
- id: admin
- type: user
- id: revenue_per_dollar_spent
- title: Revenue per Dollar Spent
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue})
- createdAt: 2025-08-07 11:45
- createdBy:
- id: admin
- type: user
- id: revenue_top_10
- title: Revenue / Top 10
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue})
- createdAt: 2025-08-07 11:45
- createdBy:
- id: admin
- type: user
- id: revenue_top_10_percent
- title: Revenue / Top 10%
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} BY ALL OTHER
- createdAt: 2025-08-07 11:45
- createdBy:
- id: admin
- type: user
- id: total_revenue
- title: Total Revenue
- - content:
- format: $#,##0
- maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER
- createdAt: 2025-08-07 11:45
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2025-08-07 11:45
- createdBy:
- id: admin
- type: user
- 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: -12
- granularity: GDC.time.month
- to: -1
- 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
- createdAt: 2025-08-07 11:45
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2025-08-07 11:45
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2025-08-07 11:45
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2025-08-07 11:45
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2025-08-07 11:45
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2025-08-07 11:45
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2025-08-07 11:45
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2025-08-07 11:45
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2025-08-07 11:45
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2025-08-07 11:45
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2025-08-07 11:45
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2025-08-07 11:45
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2025-08-07 11:45
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2025-08-07 11:45
- createdBy:
- id: admin
- type: user
- id: top_10_products
- title: Top 10 Products
- ldm:
- datasets:
- - aggregatedFacts: []
- attributes:
- - description: Campaign channel id
- id: campaign_channel_id
- isNullable: false
- labels: []
- sourceColumn: campaign_channel_id
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Campaign channel id
- - description: Category
- id: campaign_channels.category
- isNullable: true
- labels: []
- sourceColumn: category
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Category
- - description: Type
- id: type
- isNullable: true
- labels: []
- sourceColumn: type
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Type
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaign_channels
- path:
- - demo
- - campaign_channels
- type: dataSource
- description: Campaign channels
- facts:
- - description: Budget
- id: budget
- isNullable: true
- sourceColumn: budget
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- title: Budget
- - description: Spend
- id: spend
- isNullable: true
- sourceColumn: spend
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- title: Spend
- grain:
- - id: campaign_channel_id
- type: attribute
- id: campaign_channels
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- dataType: INT
- isNullable: true
- target:
- id: campaign_id
- type: attribute
- tags:
- - Campaign channels
- title: Campaign channels
- - aggregatedFacts:
- - description: Budget Agg
- id: budget_agg
- sourceColumn: budget
- sourceColumnDataType: INT
- sourceFactReference:
- operation: SUM
- reference:
- id: budget
- type: fact
- tags:
- - Campaign channels per category
- attributes: []
- description: Campaign channels per categories
- facts: []
- grain: []
- id: campaign_channels_per_category
- precedence: 1
- references:
- - identifier:
- id: campaign_channels
- type: dataset
- multivalue: false
- sources:
- - column: campaign_channel_id
- dataType: STRING
- isNullable: true
- target:
- id: campaign_channel_id
- type: attribute
- sql:
- dataSourceId: demo-test-ds
- statement: SELECT category, SUM(budget) FROM campaign_channels GROUP
- BY category
- tags:
- - Campaign channels per category
- title: Campaign channels per category
- - aggregatedFacts: []
- attributes:
- - description: Campaign id
- id: campaign_id
- isNullable: false
- labels: []
- sourceColumn: campaign_id
- sourceColumnDataType: INT
- tags:
- - Campaigns
- title: Campaign id
- - description: Campaign name
- id: campaign_name
- isNullable: true
- labels: []
- sourceColumn: campaign_name
- sourceColumnDataType: STRING
- tags:
- - Campaigns
- title: Campaign name
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaigns
- path:
- - demo
- - campaigns
- type: dataSource
- description: Campaigns
- facts: []
- grain:
- - id: campaign_id
- type: attribute
- id: campaigns
- references: []
- tags:
- - Campaigns
- title: Campaigns
- - aggregatedFacts: []
- attributes:
- - description: Customer id
- id: customer_id
- isNullable: false
- labels: []
- sourceColumn: customer_id
- sourceColumnDataType: INT
- tags:
- - Customers
- title: Customer id
- - description: Customer name
- id: customer_name
- isNullable: true
- labels: []
- sourceColumn: customer_name
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Customer name
- - description: Region
- id: region
- isNullable: true
- labels: []
- sourceColumn: region
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Region
- - description: State
- id: state
- isNullable: true
- labels:
- - description: Location
- id: geo__state__location
- isNullable: true
- sourceColumn: geo__state__location
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Location
- valueType: GEO
- sourceColumn: state
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: State
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: customers
- path:
- - demo
- - customers
- type: dataSource
- description: Customers
- facts: []
- grain:
- - id: customer_id
- type: attribute
- id: customers
- references: []
- tags:
- - Customers
- title: Customers
- - aggregatedFacts: []
- attributes:
- - description: Order id
- id: order_id
- isNullable: true
- labels: []
- sourceColumn: order_id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order id
- - description: Order line id
- id: order_line_id
- isNullable: false
- labels: []
- sourceColumn: order_line_id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order line id
- - description: Order status
- id: order_status
- isNullable: true
- labels: []
- sourceColumn: order_status
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order status
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: order_lines
- path:
- - demo
- - order_lines
- type: dataSource
- description: Order lines
- facts:
- - description: Price
- id: price
- isNullable: true
- sourceColumn: price
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- title: Price
- - description: Quantity
- id: quantity
- isNullable: true
- sourceColumn: quantity
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- title: Quantity
- grain:
- - id: order_line_id
- type: attribute
- id: order_lines
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- dataType: INT
- isNullable: true
- target:
- id: campaign_id
- type: attribute
- - identifier:
- id: customers
- type: dataset
- multivalue: false
- sources:
- - column: customer_id
- dataType: INT
- isNullable: true
- target:
- id: customer_id
- type: attribute
- - identifier:
- id: date
- type: dataset
- multivalue: false
- sources:
- - column: date
- dataType: DATE
- isNullable: true
- target:
- id: date
- type: date
- - identifier:
- id: products
- type: dataset
- multivalue: false
- sources:
- - column: product_id
- dataType: INT
- isNullable: true
- target:
- id: product_id
- type: attribute
- tags:
- - Order lines
- title: Order lines
- workspaceDataFilterColumns:
- - dataType: STRING
- name: wdf__region
- - dataType: STRING
- name: wdf__state
- workspaceDataFilterReferences:
- - filterColumn: wdf__region
- filterColumnDataType: STRING
- filterId:
- id: wdf__region
- type: workspaceDataFilter
- - aggregatedFacts: []
- attributes:
- - description: Product id
- id: product_id
- isNullable: false
- labels: []
- sourceColumn: product_id
- sourceColumnDataType: INT
- tags:
- - Products
- title: Product id
- - description: Product name
- id: product_name
- isNullable: true
- labels: []
- sourceColumn: product_name
- sourceColumnDataType: STRING
- tags:
- - Products
- title: Product name
- - description: Category
- id: products.category
- isNullable: true
- labels: []
- sourceColumn: category
- sourceColumnDataType: STRING
- tags:
- - Products
- title: Category
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: products
- path:
- - demo
- - products
- type: dataSource
- description: Products
- facts: []
- grain:
- - id: product_id
- type: attribute
- id: products
- references: []
- tags:
- - Products
- title: Products
- dateInstances:
- - description: ''
- granularities:
- - DAY
- - WEEK
- - MONTH
- - QUARTER
- - YEAR
- granularitiesFormatting:
- titleBase: ''
- titlePattern: '%titleBase - %granularityTitle'
- id: date
- tags:
- - Date
- title: Date
- - request:
- method: POST
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/actions/workspaces/demo/analyticalDashboards/campaign/managePermissions
- body:
- - permissions: []
- assigneeIdentifier:
- id: visitorsGroup
- type: userGroup
- - permissions: []
- assigneeRule:
- type: allWorkspaceUsers
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/actions/workspaces/demo/analyticalDashboards/campaign/permissions
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '39'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- rules: []
- userGroups: []
- users: []
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/permissions/manage_organization_permissions.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/permissions/manage_organization_permissions.yaml
deleted file mode 100644
index f55aa971c..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/permissions/manage_organization_permissions.yaml
+++ /dev/null
@@ -1,202 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: POST
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/actions/organization/managePermissions
- body:
- - assigneeIdentifier:
- id: adminGroup
- type: userGroup
- permissions:
- - MANAGE
- - SELF_CREATE_TOKEN
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/organization/permissions
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '148'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- - assignee:
- id: adminGroup
- type: userGroup
- name: MANAGE
- - assignee:
- id: adminGroup
- type: userGroup
- name: SELF_CREATE_TOKEN
- - request:
- method: PUT
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/organization/permissions
- body:
- - assignee:
- id: adminGroup
- type: userGroup
- name: MANAGE
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/organization/permissions
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '69'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- - assignee:
- id: adminGroup
- type: userGroup
- name: MANAGE
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/permissions/put_declarative_organization_permissions.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/permissions/put_declarative_organization_permissions.yaml
deleted file mode 100644
index df91eba38..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/permissions/put_declarative_organization_permissions.yaml
+++ /dev/null
@@ -1,204 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: PUT
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/organization/permissions
- body:
- - assignee:
- id: adminGroup
- type: userGroup
- name: MANAGE
- - assignee:
- id: adminGroup
- type: userGroup
- name: SELF_CREATE_TOKEN
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/organization/permissions
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '148'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- - assignee:
- id: adminGroup
- type: userGroup
- name: MANAGE
- - assignee:
- id: adminGroup
- type: userGroup
- name: SELF_CREATE_TOKEN
- - request:
- method: PUT
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/organization/permissions
- body:
- - assignee:
- id: adminGroup
- type: userGroup
- name: MANAGE
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/organization/permissions
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '69'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- - assignee:
- id: adminGroup
- type: userGroup
- name: MANAGE
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/permissions/put_declarative_permissions.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/permissions/put_declarative_permissions.yaml
deleted file mode 100644
index a77e4c4be..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/permissions/put_declarative_permissions.yaml
+++ /dev/null
@@ -1,268 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces/demo_west/permissions
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '44'
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- hierarchyPermissions: []
- permissions: []
- - request:
- method: PUT
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/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:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces/demo_west/permissions
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '292'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- 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: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces/demo_west/permissions
- body:
- permissions: []
- hierarchyPermissions: []
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces/demo_west/permissions
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '44'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- hierarchyPermissions: []
- permissions: []
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/users/create_delete_user.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/users/create_delete_user.yaml
deleted file mode 100644
index 59e746f21..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/users/create_delete_user.yaml
+++ /dev/null
@@ -1,444 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/users?include=userGroups&page=0&size=500
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- - attributes: {}
- id: admin
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/users/admin
- relationships:
- userGroups:
- data:
- - id: adminGroup
- type: userGroup
- type: user
- - attributes:
- authenticationId: CiRhMzA4NmU3MS0zYjY2LTQ3NTItODIxMC0wN2VmODQ5NDNkOGESBWxvY2Fs
- id: demo
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/users/demo
- relationships:
- userGroups:
- data:
- - id: adminGroup
- type: userGroup
- type: user
- - attributes:
- authenticationId: CiQ5ZGMzNjU0MC1hYzMxLTQ2MTUtOThmNy1hYzJiZDE2NzZkYzUSBWxvY2Fs
- id: demo2
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/users/demo2
- relationships:
- userGroups:
- data:
- - id: demoGroup
- type: userGroup
- type: user
- included:
- - attributes: {}
- id: adminGroup
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/userGroups/adminGroup
- type: userGroup
- - attributes:
- name: demo group
- id: demoGroup
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/userGroups/demoGroup
- type: userGroup
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/users?include=userGroups&page=0&size=500
- next: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/users?include=userGroups&page=1&size=500
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/users/newUser?include=userGroups
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 404
- message: Not Found
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '172'
- Content-Type:
- - application/problem+json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- detail: The requested endpoint does not exist or you do not have permission
- to access it.
- status: 404
- title: Not Found
- traceId: f91aa2b3af3a7fddc9cb13e8089bc282
- - request:
- method: POST
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/users
- body:
- data:
- id: newUser
- type: user
- attributes:
- firstname: john
- lastname: doe
- email: john.doe@email.com
- authenticationId: newUser_auth_id
- relationships:
- userGroups:
- data:
- - id: demoGroup
- type: userGroup
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 201
- message: Created
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '264'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- authenticationId: newUser_auth_id
- firstname: john
- lastname: doe
- email: john.doe@email.com
- id: newUser
- type: user
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/users/newUser
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/users/newUser?include=userGroups
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '564'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- authenticationId: newUser_auth_id
- firstname: john
- lastname: doe
- email: john.doe@email.com
- id: newUser
- relationships:
- userGroups:
- data:
- - id: demoGroup
- type: userGroup
- type: user
- included:
- - attributes:
- name: demo group
- id: demoGroup
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/userGroups/demoGroup
- type: userGroup
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/users/newUser?include=userGroups
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/users?include=userGroups&page=0&size=500
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- - attributes: {}
- id: admin
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/users/admin
- relationships:
- userGroups:
- data:
- - id: adminGroup
- type: userGroup
- type: user
- - attributes:
- authenticationId: CiRhMzA4NmU3MS0zYjY2LTQ3NTItODIxMC0wN2VmODQ5NDNkOGESBWxvY2Fs
- id: demo
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/users/demo
- relationships:
- userGroups:
- data:
- - id: adminGroup
- type: userGroup
- type: user
- - attributes:
- authenticationId: CiQ5ZGMzNjU0MC1hYzMxLTQ2MTUtOThmNy1hYzJiZDE2NzZkYzUSBWxvY2Fs
- id: demo2
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/users/demo2
- relationships:
- userGroups:
- data:
- - id: demoGroup
- type: userGroup
- type: user
- - attributes:
- authenticationId: newUser_auth_id
- firstname: john
- lastname: doe
- email: john.doe@email.com
- id: newUser
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/users/newUser
- relationships:
- userGroups:
- data:
- - id: demoGroup
- type: userGroup
- type: user
- included:
- - attributes: {}
- id: adminGroup
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/userGroups/adminGroup
- type: userGroup
- - attributes:
- name: demo group
- id: demoGroup
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/userGroups/demoGroup
- type: userGroup
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/users?include=userGroups&page=0&size=500
- next: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/users?include=userGroups&page=1&size=500
- - request:
- method: DELETE
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/users/newUser
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/users/create_delete_user_group.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/users/create_delete_user_group.yaml
deleted file mode 100644
index 37a40fe1f..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/users/create_delete_user_group.yaml
+++ /dev/null
@@ -1,432 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/userGroups?include=userGroups&page=0&size=500
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- - attributes: {}
- id: adminGroup
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/userGroups/adminGroup
- type: userGroup
- - attributes: {}
- id: adminQA1Group
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/userGroups/adminQA1Group
- relationships:
- parents:
- data:
- - id: adminGroup
- type: userGroup
- type: userGroup
- - attributes:
- name: demo group
- id: demoGroup
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/userGroups/demoGroup
- type: userGroup
- - attributes:
- name: visitors
- id: visitorsGroup
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/userGroups/visitorsGroup
- relationships:
- parents:
- data:
- - id: demoGroup
- type: userGroup
- type: userGroup
- included:
- - attributes: {}
- id: adminGroup
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/userGroups/adminGroup
- type: userGroup
- - attributes:
- name: demo group
- id: demoGroup
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/userGroups/demoGroup
- type: userGroup
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/userGroups?include=userGroups&page=0&size=500
- next: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/userGroups?include=userGroups&page=1&size=500
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/userGroups/newUserGroup?include=ALL
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 404
- message: Not Found
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '172'
- Content-Type:
- - application/problem+json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- detail: The requested endpoint does not exist or you do not have permission
- to access it.
- status: 404
- title: Not Found
- traceId: 8623549b02e6c3be579ddff29e413523
- - request:
- method: POST
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/userGroups
- body:
- data:
- id: newUserGroup
- type: userGroup
- attributes:
- name: NEWUSERGROUP
- relationships:
- parents:
- data:
- - id: demoGroup
- type: userGroup
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 201
- message: Created
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '204'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- name: NEWUSERGROUP
- id: newUserGroup
- type: userGroup
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/userGroups/newUserGroup
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/userGroups/newUserGroup?include=ALL
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '494'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- name: NEWUSERGROUP
- id: newUserGroup
- relationships:
- parents:
- data:
- - id: demoGroup
- type: userGroup
- type: userGroup
- included:
- - attributes:
- name: demo group
- id: demoGroup
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/userGroups/demoGroup
- type: userGroup
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/userGroups/newUserGroup?include=ALL
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/userGroups?include=userGroups&page=0&size=500
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- - attributes: {}
- id: adminGroup
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/userGroups/adminGroup
- type: userGroup
- - attributes: {}
- id: adminQA1Group
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/userGroups/adminQA1Group
- relationships:
- parents:
- data:
- - id: adminGroup
- type: userGroup
- type: userGroup
- - attributes:
- name: demo group
- id: demoGroup
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/userGroups/demoGroup
- type: userGroup
- - attributes:
- name: NEWUSERGROUP
- id: newUserGroup
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/userGroups/newUserGroup
- relationships:
- parents:
- data:
- - id: demoGroup
- type: userGroup
- type: userGroup
- - attributes:
- name: visitors
- id: visitorsGroup
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/userGroups/visitorsGroup
- relationships:
- parents:
- data:
- - id: demoGroup
- type: userGroup
- type: userGroup
- included:
- - attributes: {}
- id: adminGroup
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/userGroups/adminGroup
- type: userGroup
- - attributes:
- name: demo group
- id: demoGroup
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/userGroups/demoGroup
- type: userGroup
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/userGroups?include=userGroups&page=0&size=500
- next: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/userGroups?include=userGroups&page=1&size=500
- - request:
- method: DELETE
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/userGroups/newUserGroup
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/users/get_declarative_user_groups.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/users/get_declarative_user_groups.yaml
deleted file mode 100644
index d6a4df3b6..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/users/get_declarative_user_groups.yaml
+++ /dev/null
@@ -1,130 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/userGroups
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '308'
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- userGroups:
- - id: adminGroup
- permissions: []
- - id: adminQA1Group
- parents:
- - id: adminGroup
- type: userGroup
- permissions: []
- - id: demoGroup
- name: demo group
- permissions: []
- - id: visitorsGroup
- name: visitors
- parents:
- - id: demoGroup
- type: userGroup
- permissions: []
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/userGroups
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '308'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- userGroups:
- - id: adminGroup
- permissions: []
- - id: adminQA1Group
- parents:
- - id: adminGroup
- type: userGroup
- permissions: []
- - id: demoGroup
- name: demo group
- permissions: []
- - id: visitorsGroup
- name: visitors
- parents:
- - id: demoGroup
- type: userGroup
- permissions: []
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/users/get_declarative_users.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/users/get_declarative_users.yaml
deleted file mode 100644
index 089b0c4fe..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/users/get_declarative_users.yaml
+++ /dev/null
@@ -1,138 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/users
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '453'
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- users:
- - id: admin
- permissions: []
- settings: []
- userGroups:
- - id: adminGroup
- type: userGroup
- - authId: CiRhMzA4NmU3MS0zYjY2LTQ3NTItODIxMC0wN2VmODQ5NDNkOGESBWxvY2Fs
- id: demo
- permissions: []
- settings: []
- userGroups:
- - id: adminGroup
- type: userGroup
- - authId: CiQ5ZGMzNjU0MC1hYzMxLTQ2MTUtOThmNy1hYzJiZDE2NzZkYzUSBWxvY2Fs
- id: demo2
- permissions: []
- settings: []
- userGroups:
- - id: demoGroup
- type: userGroup
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/users
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '453'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- users:
- - id: admin
- permissions: []
- settings: []
- userGroups:
- - id: adminGroup
- type: userGroup
- - authId: CiRhMzA4NmU3MS0zYjY2LTQ3NTItODIxMC0wN2VmODQ5NDNkOGESBWxvY2Fs
- id: demo
- permissions: []
- settings: []
- userGroups:
- - id: adminGroup
- type: userGroup
- - authId: CiQ5ZGMzNjU0MC1hYzMxLTQ2MTUtOThmNy1hYzJiZDE2NzZkYzUSBWxvY2Fs
- id: demo2
- permissions: []
- settings: []
- userGroups:
- - id: demoGroup
- type: userGroup
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/users/get_declarative_users_user_groups.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/users/get_declarative_users_user_groups.yaml
deleted file mode 100644
index 14f4170ea..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/users/get_declarative_users_user_groups.yaml
+++ /dev/null
@@ -1,172 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/usersAndUserGroups
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '760'
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- userGroups:
- - id: adminGroup
- permissions: []
- - id: adminQA1Group
- parents:
- - id: adminGroup
- type: userGroup
- permissions: []
- - id: demoGroup
- name: demo group
- permissions: []
- - id: visitorsGroup
- name: visitors
- parents:
- - id: demoGroup
- type: userGroup
- permissions: []
- users:
- - id: admin
- permissions: []
- settings: []
- userGroups:
- - id: adminGroup
- type: userGroup
- - authId: CiRhMzA4NmU3MS0zYjY2LTQ3NTItODIxMC0wN2VmODQ5NDNkOGESBWxvY2Fs
- id: demo
- permissions: []
- settings: []
- userGroups:
- - id: adminGroup
- type: userGroup
- - authId: CiQ5ZGMzNjU0MC1hYzMxLTQ2MTUtOThmNy1hYzJiZDE2NzZkYzUSBWxvY2Fs
- id: demo2
- permissions: []
- settings: []
- userGroups:
- - id: demoGroup
- type: userGroup
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/usersAndUserGroups
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '760'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- userGroups:
- - id: adminGroup
- permissions: []
- - id: adminQA1Group
- parents:
- - id: adminGroup
- type: userGroup
- permissions: []
- - id: demoGroup
- name: demo group
- permissions: []
- - id: visitorsGroup
- name: visitors
- parents:
- - id: demoGroup
- type: userGroup
- permissions: []
- users:
- - id: admin
- permissions: []
- settings: []
- userGroups:
- - id: adminGroup
- type: userGroup
- - authId: CiRhMzA4NmU3MS0zYjY2LTQ3NTItODIxMC0wN2VmODQ5NDNkOGESBWxvY2Fs
- id: demo
- permissions: []
- settings: []
- userGroups:
- - id: adminGroup
- type: userGroup
- - authId: CiQ5ZGMzNjU0MC1hYzMxLTQ2MTUtOThmNy1hYzJiZDE2NzZkYzUSBWxvY2Fs
- id: demo2
- permissions: []
- settings: []
- userGroups:
- - id: demoGroup
- type: userGroup
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/users/get_user.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/users/get_user.yaml
deleted file mode 100644
index d9cc140a5..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/users/get_user.yaml
+++ /dev/null
@@ -1,69 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/users/demo2?include=userGroups
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '540'
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- authenticationId: CiQ5ZGMzNjU0MC1hYzMxLTQ2MTUtOThmNy1hYzJiZDE2NzZkYzUSBWxvY2Fs
- id: demo2
- relationships:
- userGroups:
- data:
- - id: demoGroup
- type: userGroup
- type: user
- included:
- - attributes:
- name: demo group
- id: demoGroup
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/userGroups/demoGroup
- type: userGroup
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/users/demo2?include=userGroups
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/users/get_user_group.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/users/get_user_group.yaml
deleted file mode 100644
index 4a77218ab..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/users/get_user_group.yaml
+++ /dev/null
@@ -1,57 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/userGroups/demoGroup?include=ALL
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '208'
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- name: demo group
- id: demoGroup
- type: userGroup
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/userGroups/demoGroup?include=ALL
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/users/list_user_groups.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/users/list_user_groups.yaml
deleted file mode 100644
index 25d928d17..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/users/list_user_groups.yaml
+++ /dev/null
@@ -1,101 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/userGroups?include=userGroups&page=0&size=500
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- - attributes: {}
- id: adminGroup
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/userGroups/adminGroup
- type: userGroup
- - attributes: {}
- id: adminQA1Group
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/userGroups/adminQA1Group
- relationships:
- parents:
- data:
- - id: adminGroup
- type: userGroup
- type: userGroup
- - attributes:
- name: demo group
- id: demoGroup
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/userGroups/demoGroup
- type: userGroup
- - attributes:
- name: visitors
- id: visitorsGroup
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/userGroups/visitorsGroup
- relationships:
- parents:
- data:
- - id: demoGroup
- type: userGroup
- type: userGroup
- included:
- - attributes: {}
- id: adminGroup
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/userGroups/adminGroup
- type: userGroup
- - attributes:
- name: demo group
- id: demoGroup
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/userGroups/demoGroup
- type: userGroup
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/userGroups?include=userGroups&page=0&size=500
- next: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/userGroups?include=userGroups&page=1&size=500
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/users/list_users.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/users/list_users.yaml
deleted file mode 100644
index 9f2b5f7a8..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/users/list_users.yaml
+++ /dev/null
@@ -1,101 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/users?include=userGroups&page=0&size=500
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- - attributes: {}
- id: admin
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/users/admin
- relationships:
- userGroups:
- data:
- - id: adminGroup
- type: userGroup
- type: user
- - attributes:
- authenticationId: CiRhMzA4NmU3MS0zYjY2LTQ3NTItODIxMC0wN2VmODQ5NDNkOGESBWxvY2Fs
- id: demo
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/users/demo
- relationships:
- userGroups:
- data:
- - id: adminGroup
- type: userGroup
- type: user
- - attributes:
- authenticationId: CiQ5ZGMzNjU0MC1hYzMxLTQ2MTUtOThmNy1hYzJiZDE2NzZkYzUSBWxvY2Fs
- id: demo2
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/users/demo2
- relationships:
- userGroups:
- data:
- - id: demoGroup
- type: userGroup
- type: user
- included:
- - attributes: {}
- id: adminGroup
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/userGroups/adminGroup
- type: userGroup
- - attributes:
- name: demo group
- id: demoGroup
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/userGroups/demoGroup
- type: userGroup
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/users?include=userGroups&page=0&size=500
- next: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/users?include=userGroups&page=1&size=500
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/users/load_and_put_declarative_user_groups.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/users/load_and_put_declarative_user_groups.yaml
deleted file mode 100644
index f7482dc87..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/users/load_and_put_declarative_user_groups.yaml
+++ /dev/null
@@ -1,633 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/users
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '453'
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- users:
- - id: admin
- permissions: []
- settings: []
- userGroups:
- - id: adminGroup
- type: userGroup
- - authId: CiRhMzA4NmU3MS0zYjY2LTQ3NTItODIxMC0wN2VmODQ5NDNkOGESBWxvY2Fs
- id: demo
- permissions: []
- settings: []
- userGroups:
- - id: adminGroup
- type: userGroup
- - authId: CiQ5ZGMzNjU0MC1hYzMxLTQ2MTUtOThmNy1hYzJiZDE2NzZkYzUSBWxvY2Fs
- id: demo2
- permissions: []
- settings: []
- userGroups:
- - id: demoGroup
- type: userGroup
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/userGroups
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '308'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- userGroups:
- - id: adminGroup
- permissions: []
- - id: adminQA1Group
- parents:
- - id: adminGroup
- type: userGroup
- permissions: []
- - id: demoGroup
- name: demo group
- permissions: []
- - id: visitorsGroup
- name: visitors
- parents:
- - id: demoGroup
- type: userGroup
- permissions: []
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/users?include=userGroups&page=0&size=500
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- - attributes: {}
- id: admin
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/users/admin
- relationships:
- userGroups:
- data:
- - id: adminGroup
- type: userGroup
- type: user
- - attributes:
- authenticationId: CiRhMzA4NmU3MS0zYjY2LTQ3NTItODIxMC0wN2VmODQ5NDNkOGESBWxvY2Fs
- id: demo
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/users/demo
- relationships:
- userGroups:
- data:
- - id: adminGroup
- type: userGroup
- type: user
- - attributes:
- authenticationId: CiQ5ZGMzNjU0MC1hYzMxLTQ2MTUtOThmNy1hYzJiZDE2NzZkYzUSBWxvY2Fs
- id: demo2
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/users/demo2
- relationships:
- userGroups:
- data:
- - id: demoGroup
- type: userGroup
- type: user
- included:
- - attributes: {}
- id: adminGroup
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/userGroups/adminGroup
- type: userGroup
- - attributes:
- name: demo group
- id: demoGroup
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/userGroups/demoGroup
- type: userGroup
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/users?include=userGroups&page=0&size=500
- next: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/users?include=userGroups&page=1&size=500
- - request:
- method: PUT
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/userGroups
- body:
- userGroups:
- - id: adminGroup
- permissions: []
- - id: demoGroup
- permissions: []
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/organization
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 302
- message: Found
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '0'
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Location:
- - /api/v1/entities/admin/organizations/python-sdk-dex
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/admin/organizations/python-sdk-dex
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '564'
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- name: Python SDK Dex
- hostname: python-sdk-dex.dev-latest.stg11.panther.intgdc.com
- allowedOrigins: []
- earlyAccess: enableAlerting
- earlyAccessValues:
- - enableAlerting
- - enableSmtp
- - enablePreAggregationDatasets
- - enableScheduling
- - enableCompositeGrain
- - enableUserManagement
- - enableRawExports
- - enableFlexibleDashboardLayout
- region: ''
- dataCenter: ''
- id: python-sdk-dex
- type: organization
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/admin/organizations/python-sdk-dex
- - request:
- method: PUT
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/userGroups
- body:
- userGroups:
- - id: adminGroup
- permissions: []
- - id: demoGroup
- name: demo group
- permissions: []
- - id: adminQA1Group
- parents:
- - id: adminGroup
- type: userGroup
- permissions: []
- - id: visitorsGroup
- name: visitors
- parents:
- - id: demoGroup
- type: userGroup
- permissions: []
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/userGroups
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '308'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- userGroups:
- - id: adminGroup
- permissions: []
- - id: adminQA1Group
- parents:
- - id: adminGroup
- type: userGroup
- permissions: []
- - id: demoGroup
- name: demo group
- permissions: []
- - id: visitorsGroup
- name: visitors
- parents:
- - id: demoGroup
- type: userGroup
- permissions: []
- - request:
- method: PUT
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/userGroups
- body:
- userGroups:
- - id: adminGroup
- permissions: []
- - id: adminQA1Group
- parents:
- - id: adminGroup
- type: userGroup
- permissions: []
- - id: demoGroup
- name: demo group
- permissions: []
- - id: visitorsGroup
- name: visitors
- parents:
- - id: demoGroup
- type: userGroup
- permissions: []
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: PUT
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/users
- body:
- users:
- - id: admin
- userGroups:
- - id: adminGroup
- type: userGroup
- settings: []
- permissions: []
- - id: demo
- authId: CiRhMzA4NmU3MS0zYjY2LTQ3NTItODIxMC0wN2VmODQ5NDNkOGESBWxvY2Fs
- userGroups:
- - id: adminGroup
- type: userGroup
- settings: []
- permissions: []
- - id: demo2
- authId: CiQ5ZGMzNjU0MC1hYzMxLTQ2MTUtOThmNy1hYzJiZDE2NzZkYzUSBWxvY2Fs
- userGroups:
- - id: demoGroup
- type: userGroup
- settings: []
- permissions: []
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/users/load_and_put_declarative_users.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/users/load_and_put_declarative_users.yaml
deleted file mode 100644
index b4a9d4f16..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/users/load_and_put_declarative_users.yaml
+++ /dev/null
@@ -1,472 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/users
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '453'
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- users:
- - id: admin
- permissions: []
- settings: []
- userGroups:
- - id: adminGroup
- type: userGroup
- - authId: CiRhMzA4NmU3MS0zYjY2LTQ3NTItODIxMC0wN2VmODQ5NDNkOGESBWxvY2Fs
- id: demo
- permissions: []
- settings: []
- userGroups:
- - id: adminGroup
- type: userGroup
- - authId: CiQ5ZGMzNjU0MC1hYzMxLTQ2MTUtOThmNy1hYzJiZDE2NzZkYzUSBWxvY2Fs
- id: demo2
- permissions: []
- settings: []
- userGroups:
- - id: demoGroup
- type: userGroup
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/users?include=userGroups&page=0&size=500
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- - attributes: {}
- id: admin
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/users/admin
- relationships:
- userGroups:
- data:
- - id: adminGroup
- type: userGroup
- type: user
- - attributes:
- authenticationId: CiRhMzA4NmU3MS0zYjY2LTQ3NTItODIxMC0wN2VmODQ5NDNkOGESBWxvY2Fs
- id: demo
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/users/demo
- relationships:
- userGroups:
- data:
- - id: adminGroup
- type: userGroup
- type: user
- - attributes:
- authenticationId: CiQ5ZGMzNjU0MC1hYzMxLTQ2MTUtOThmNy1hYzJiZDE2NzZkYzUSBWxvY2Fs
- id: demo2
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/users/demo2
- relationships:
- userGroups:
- data:
- - id: demoGroup
- type: userGroup
- type: user
- included:
- - attributes: {}
- id: adminGroup
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/userGroups/adminGroup
- type: userGroup
- - attributes:
- name: demo group
- id: demoGroup
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/userGroups/demoGroup
- type: userGroup
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/users?include=userGroups&page=0&size=500
- next: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/users?include=userGroups&page=1&size=500
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/organization
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 302
- message: Found
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '0'
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Location:
- - /api/v1/entities/admin/organizations/python-sdk-dex
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/admin/organizations/python-sdk-dex
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '564'
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- name: Python SDK Dex
- hostname: python-sdk-dex.dev-latest.stg11.panther.intgdc.com
- allowedOrigins: []
- earlyAccess: enableAlerting
- earlyAccessValues:
- - enableAlerting
- - enableSmtp
- - enablePreAggregationDatasets
- - enableScheduling
- - enableCompositeGrain
- - enableUserManagement
- - enableRawExports
- - enableFlexibleDashboardLayout
- region: ''
- dataCenter: ''
- id: python-sdk-dex
- type: organization
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/admin/organizations/python-sdk-dex
- - request:
- method: PUT
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/users
- body:
- users:
- - id: admin
- userGroups:
- - id: adminGroup
- type: userGroup
- settings: []
- permissions: []
- - id: demo
- authId: CiRkZWE3MTU5Yi1kNTMwLTQ4NGYtYjgxNy0yNGEwYjBhYWRkNzYSBWxvY2Fs
- userGroups:
- - id: adminGroup
- type: userGroup
- settings: []
- permissions: []
- - id: demo2
- authId: CiRmYmNhNDkwOS04YzYxLTRmMTYtODI3NC1iNzI0Njk1Y2FmNTESBWxvY2Fs
- userGroups:
- - id: demoGroup
- type: userGroup
- settings: []
- permissions: []
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/users
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '453'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- users:
- - id: admin
- permissions: []
- settings: []
- userGroups:
- - id: adminGroup
- type: userGroup
- - authId: CiRkZWE3MTU5Yi1kNTMwLTQ4NGYtYjgxNy0yNGEwYjBhYWRkNzYSBWxvY2Fs
- id: demo
- permissions: []
- settings: []
- userGroups:
- - id: adminGroup
- type: userGroup
- - authId: CiRmYmNhNDkwOS04YzYxLTRmMTYtODI3NC1iNzI0Njk1Y2FmNTESBWxvY2Fs
- id: demo2
- permissions: []
- settings: []
- userGroups:
- - id: demoGroup
- type: userGroup
- - request:
- method: PUT
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/users
- body:
- users:
- - id: admin
- userGroups:
- - id: adminGroup
- type: userGroup
- settings: []
- permissions: []
- - id: demo
- authId: CiRhMzA4NmU3MS0zYjY2LTQ3NTItODIxMC0wN2VmODQ5NDNkOGESBWxvY2Fs
- userGroups:
- - id: adminGroup
- type: userGroup
- settings: []
- permissions: []
- - id: demo2
- authId: CiQ5ZGMzNjU0MC1hYzMxLTQ2MTUtOThmNy1hYzJiZDE2NzZkYzUSBWxvY2Fs
- userGroups:
- - id: demoGroup
- type: userGroup
- settings: []
- permissions: []
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/users/load_and_put_declarative_users_user_groups.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/users/load_and_put_declarative_users_user_groups.yaml
deleted file mode 100644
index cccc05fee..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/users/load_and_put_declarative_users_user_groups.yaml
+++ /dev/null
@@ -1,587 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/usersAndUserGroups
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '760'
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- userGroups:
- - id: adminGroup
- permissions: []
- - id: adminQA1Group
- parents:
- - id: adminGroup
- type: userGroup
- permissions: []
- - id: demoGroup
- name: demo group
- permissions: []
- - id: visitorsGroup
- name: visitors
- parents:
- - id: demoGroup
- type: userGroup
- permissions: []
- users:
- - id: admin
- permissions: []
- settings: []
- userGroups:
- - id: adminGroup
- type: userGroup
- - authId: CiRhMzA4NmU3MS0zYjY2LTQ3NTItODIxMC0wN2VmODQ5NDNkOGESBWxvY2Fs
- id: demo
- permissions: []
- settings: []
- userGroups:
- - id: adminGroup
- type: userGroup
- - authId: CiQ5ZGMzNjU0MC1hYzMxLTQ2MTUtOThmNy1hYzJiZDE2NzZkYzUSBWxvY2Fs
- id: demo2
- permissions: []
- settings: []
- userGroups:
- - id: demoGroup
- type: userGroup
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/users?include=userGroups&page=0&size=500
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- - attributes: {}
- id: admin
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/users/admin
- relationships:
- userGroups:
- data:
- - id: adminGroup
- type: userGroup
- type: user
- - attributes:
- authenticationId: CiRhMzA4NmU3MS0zYjY2LTQ3NTItODIxMC0wN2VmODQ5NDNkOGESBWxvY2Fs
- id: demo
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/users/demo
- relationships:
- userGroups:
- data:
- - id: adminGroup
- type: userGroup
- type: user
- - attributes:
- authenticationId: CiQ5ZGMzNjU0MC1hYzMxLTQ2MTUtOThmNy1hYzJiZDE2NzZkYzUSBWxvY2Fs
- id: demo2
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/users/demo2
- relationships:
- userGroups:
- data:
- - id: demoGroup
- type: userGroup
- type: user
- included:
- - attributes: {}
- id: adminGroup
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/userGroups/adminGroup
- type: userGroup
- - attributes:
- name: demo group
- id: demoGroup
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/userGroups/demoGroup
- type: userGroup
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/users?include=userGroups&page=0&size=500
- next: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/users?include=userGroups&page=1&size=500
- - request:
- method: PUT
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/userGroups
- body:
- userGroups:
- - id: adminGroup
- permissions: []
- - id: demoGroup
- permissions: []
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/organization
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 302
- message: Found
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '0'
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Location:
- - /api/v1/entities/admin/organizations/python-sdk-dex
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/admin/organizations/python-sdk-dex
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '564'
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- name: Python SDK Dex
- hostname: python-sdk-dex.dev-latest.stg11.panther.intgdc.com
- allowedOrigins: []
- earlyAccess: enableAlerting
- earlyAccessValues:
- - enableAlerting
- - enableSmtp
- - enablePreAggregationDatasets
- - enableScheduling
- - enableCompositeGrain
- - enableUserManagement
- - enableRawExports
- - enableFlexibleDashboardLayout
- region: ''
- dataCenter: ''
- id: python-sdk-dex
- type: organization
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/admin/organizations/python-sdk-dex
- - request:
- method: PUT
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/usersAndUserGroups
- body:
- userGroups:
- - id: adminGroup
- permissions: []
- - id: demoGroup
- name: demo group
- permissions: []
- - id: adminQA1Group
- parents:
- - id: adminGroup
- type: userGroup
- permissions: []
- - id: visitorsGroup
- name: visitors
- parents:
- - id: demoGroup
- type: userGroup
- permissions: []
- users:
- - id: admin
- userGroups:
- - id: adminGroup
- type: userGroup
- settings: []
- permissions: []
- - id: demo
- authId: CiRkZWE3MTU5Yi1kNTMwLTQ4NGYtYjgxNy0yNGEwYjBhYWRkNzYSBWxvY2Fs
- userGroups:
- - id: adminGroup
- type: userGroup
- settings: []
- permissions: []
- - id: demo2
- authId: CiRmYmNhNDkwOS04YzYxLTRmMTYtODI3NC1iNzI0Njk1Y2FmNTESBWxvY2Fs
- userGroups:
- - id: demoGroup
- type: userGroup
- settings: []
- permissions: []
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/usersAndUserGroups
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '760'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- userGroups:
- - id: adminGroup
- permissions: []
- - id: adminQA1Group
- parents:
- - id: adminGroup
- type: userGroup
- permissions: []
- - id: demoGroup
- name: demo group
- permissions: []
- - id: visitorsGroup
- name: visitors
- parents:
- - id: demoGroup
- type: userGroup
- permissions: []
- users:
- - id: admin
- permissions: []
- settings: []
- userGroups:
- - id: adminGroup
- type: userGroup
- - authId: CiRkZWE3MTU5Yi1kNTMwLTQ4NGYtYjgxNy0yNGEwYjBhYWRkNzYSBWxvY2Fs
- id: demo
- permissions: []
- settings: []
- userGroups:
- - id: adminGroup
- type: userGroup
- - authId: CiRmYmNhNDkwOS04YzYxLTRmMTYtODI3NC1iNzI0Njk1Y2FmNTESBWxvY2Fs
- id: demo2
- permissions: []
- settings: []
- userGroups:
- - id: demoGroup
- type: userGroup
- - request:
- method: PUT
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/usersAndUserGroups
- body:
- userGroups:
- - id: adminGroup
- permissions: []
- - id: adminQA1Group
- parents:
- - id: adminGroup
- type: userGroup
- permissions: []
- - id: demoGroup
- name: demo group
- permissions: []
- - id: visitorsGroup
- name: visitors
- parents:
- - id: demoGroup
- type: userGroup
- permissions: []
- users:
- - id: admin
- userGroups:
- - id: adminGroup
- type: userGroup
- settings: []
- permissions: []
- - id: demo
- authId: CiRhMzA4NmU3MS0zYjY2LTQ3NTItODIxMC0wN2VmODQ5NDNkOGESBWxvY2Fs
- userGroups:
- - id: adminGroup
- type: userGroup
- settings: []
- permissions: []
- - id: demo2
- authId: CiQ5ZGMzNjU0MC1hYzMxLTQ2MTUtOThmNy1hYzJiZDE2NzZkYzUSBWxvY2Fs
- userGroups:
- - id: demoGroup
- type: userGroup
- settings: []
- permissions: []
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/users/put_declarative_user_groups.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/users/put_declarative_user_groups.yaml
deleted file mode 100644
index f0c824a53..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/users/put_declarative_user_groups.yaml
+++ /dev/null
@@ -1,522 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/userGroups
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '308'
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- userGroups:
- - id: adminGroup
- permissions: []
- - id: adminQA1Group
- parents:
- - id: adminGroup
- type: userGroup
- permissions: []
- - id: demoGroup
- name: demo group
- permissions: []
- - id: visitorsGroup
- name: visitors
- parents:
- - id: demoGroup
- type: userGroup
- permissions: []
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/users
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '453'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- users:
- - id: admin
- permissions: []
- settings: []
- userGroups:
- - id: adminGroup
- type: userGroup
- - authId: CiRhMzA4NmU3MS0zYjY2LTQ3NTItODIxMC0wN2VmODQ5NDNkOGESBWxvY2Fs
- id: demo
- permissions: []
- settings: []
- userGroups:
- - id: adminGroup
- type: userGroup
- - authId: CiQ5ZGMzNjU0MC1hYzMxLTQ2MTUtOThmNy1hYzJiZDE2NzZkYzUSBWxvY2Fs
- id: demo2
- permissions: []
- settings: []
- userGroups:
- - id: demoGroup
- type: userGroup
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/users?include=userGroups&page=0&size=500
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- - attributes: {}
- id: admin
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/users/admin
- relationships:
- userGroups:
- data:
- - id: adminGroup
- type: userGroup
- type: user
- - attributes:
- authenticationId: CiRhMzA4NmU3MS0zYjY2LTQ3NTItODIxMC0wN2VmODQ5NDNkOGESBWxvY2Fs
- id: demo
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/users/demo
- relationships:
- userGroups:
- data:
- - id: adminGroup
- type: userGroup
- type: user
- - attributes:
- authenticationId: CiQ5ZGMzNjU0MC1hYzMxLTQ2MTUtOThmNy1hYzJiZDE2NzZkYzUSBWxvY2Fs
- id: demo2
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/users/demo2
- relationships:
- userGroups:
- data:
- - id: demoGroup
- type: userGroup
- type: user
- included:
- - attributes: {}
- id: adminGroup
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/userGroups/adminGroup
- type: userGroup
- - attributes:
- name: demo group
- id: demoGroup
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/userGroups/demoGroup
- type: userGroup
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/users?include=userGroups&page=0&size=500
- next: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/users?include=userGroups&page=1&size=500
- - request:
- method: PUT
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/userGroups
- body:
- userGroups:
- - id: adminGroup
- permissions: []
- - id: demoGroup
- permissions: []
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: PUT
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/userGroups
- body:
- userGroups:
- - id: adminGroup
- permissions: []
- - id: adminQA1Group
- parents:
- - id: adminGroup
- type: userGroup
- permissions: []
- - id: demoGroup
- name: demo group
- permissions: []
- - id: visitorsGroup
- name: visitors
- parents:
- - id: demoGroup
- type: userGroup
- permissions: []
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/userGroups
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '308'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- userGroups:
- - id: adminGroup
- permissions: []
- - id: adminQA1Group
- parents:
- - id: adminGroup
- type: userGroup
- permissions: []
- - id: demoGroup
- name: demo group
- permissions: []
- - id: visitorsGroup
- name: visitors
- parents:
- - id: demoGroup
- type: userGroup
- permissions: []
- - request:
- method: PUT
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/userGroups
- body:
- userGroups:
- - id: adminGroup
- permissions: []
- - id: adminQA1Group
- parents:
- - id: adminGroup
- type: userGroup
- permissions: []
- - id: demoGroup
- name: demo group
- permissions: []
- - id: visitorsGroup
- name: visitors
- parents:
- - id: demoGroup
- type: userGroup
- permissions: []
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: PUT
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/users
- body:
- users:
- - id: admin
- userGroups:
- - id: adminGroup
- type: userGroup
- settings: []
- permissions: []
- - id: demo
- authId: CiRhMzA4NmU3MS0zYjY2LTQ3NTItODIxMC0wN2VmODQ5NDNkOGESBWxvY2Fs
- userGroups:
- - id: adminGroup
- type: userGroup
- settings: []
- permissions: []
- - id: demo2
- authId: CiQ5ZGMzNjU0MC1hYzMxLTQ2MTUtOThmNy1hYzJiZDE2NzZkYzUSBWxvY2Fs
- userGroups:
- - id: demoGroup
- type: userGroup
- settings: []
- permissions: []
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/users/put_declarative_users.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/users/put_declarative_users.yaml
deleted file mode 100644
index 442138278..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/users/put_declarative_users.yaml
+++ /dev/null
@@ -1,361 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/users
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '453'
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- users:
- - id: admin
- permissions: []
- settings: []
- userGroups:
- - id: adminGroup
- type: userGroup
- - authId: CiRhMzA4NmU3MS0zYjY2LTQ3NTItODIxMC0wN2VmODQ5NDNkOGESBWxvY2Fs
- id: demo
- permissions: []
- settings: []
- userGroups:
- - id: adminGroup
- type: userGroup
- - authId: CiQ5ZGMzNjU0MC1hYzMxLTQ2MTUtOThmNy1hYzJiZDE2NzZkYzUSBWxvY2Fs
- id: demo2
- permissions: []
- settings: []
- userGroups:
- - id: demoGroup
- type: userGroup
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/users?include=userGroups&page=0&size=500
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- - attributes: {}
- id: admin
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/users/admin
- relationships:
- userGroups:
- data:
- - id: adminGroup
- type: userGroup
- type: user
- - attributes:
- authenticationId: CiRhMzA4NmU3MS0zYjY2LTQ3NTItODIxMC0wN2VmODQ5NDNkOGESBWxvY2Fs
- id: demo
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/users/demo
- relationships:
- userGroups:
- data:
- - id: adminGroup
- type: userGroup
- type: user
- - attributes:
- authenticationId: CiQ5ZGMzNjU0MC1hYzMxLTQ2MTUtOThmNy1hYzJiZDE2NzZkYzUSBWxvY2Fs
- id: demo2
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/users/demo2
- relationships:
- userGroups:
- data:
- - id: demoGroup
- type: userGroup
- type: user
- included:
- - attributes: {}
- id: adminGroup
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/userGroups/adminGroup
- type: userGroup
- - attributes:
- name: demo group
- id: demoGroup
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/userGroups/demoGroup
- type: userGroup
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/users?include=userGroups&page=0&size=500
- next: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/users?include=userGroups&page=1&size=500
- - request:
- method: PUT
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/users
- body:
- users:
- - id: admin
- userGroups:
- - id: adminGroup
- type: userGroup
- settings: []
- permissions: []
- - id: demo
- authId: CiRhMzA4NmU3MS0zYjY2LTQ3NTItODIxMC0wN2VmODQ5NDNkOGESBWxvY2Fs
- userGroups:
- - id: adminGroup
- type: userGroup
- settings: []
- permissions: []
- - id: demo2
- authId: CiQ5ZGMzNjU0MC1hYzMxLTQ2MTUtOThmNy1hYzJiZDE2NzZkYzUSBWxvY2Fs
- userGroups:
- - id: demoGroup
- type: userGroup
- settings: []
- permissions: []
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/users
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '453'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- users:
- - id: admin
- permissions: []
- settings: []
- userGroups:
- - id: adminGroup
- type: userGroup
- - authId: CiRhMzA4NmU3MS0zYjY2LTQ3NTItODIxMC0wN2VmODQ5NDNkOGESBWxvY2Fs
- id: demo
- permissions: []
- settings: []
- userGroups:
- - id: adminGroup
- type: userGroup
- - authId: CiQ5ZGMzNjU0MC1hYzMxLTQ2MTUtOThmNy1hYzJiZDE2NzZkYzUSBWxvY2Fs
- id: demo2
- permissions: []
- settings: []
- userGroups:
- - id: demoGroup
- type: userGroup
- - request:
- method: PUT
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/users
- body:
- users:
- - id: admin
- userGroups:
- - id: adminGroup
- type: userGroup
- settings: []
- permissions: []
- - id: demo
- authId: CiRhMzA4NmU3MS0zYjY2LTQ3NTItODIxMC0wN2VmODQ5NDNkOGESBWxvY2Fs
- userGroups:
- - id: adminGroup
- type: userGroup
- settings: []
- permissions: []
- - id: demo2
- authId: CiQ5ZGMzNjU0MC1hYzMxLTQ2MTUtOThmNy1hYzJiZDE2NzZkYzUSBWxvY2Fs
- userGroups:
- - id: demoGroup
- type: userGroup
- settings: []
- permissions: []
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/users/put_declarative_users_user_groups.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/users/put_declarative_users_user_groups.yaml
deleted file mode 100644
index 3f5f5c9fe..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/users/put_declarative_users_user_groups.yaml
+++ /dev/null
@@ -1,476 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/usersAndUserGroups
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '760'
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- userGroups:
- - id: adminGroup
- permissions: []
- - id: adminQA1Group
- parents:
- - id: adminGroup
- type: userGroup
- permissions: []
- - id: demoGroup
- name: demo group
- permissions: []
- - id: visitorsGroup
- name: visitors
- parents:
- - id: demoGroup
- type: userGroup
- permissions: []
- users:
- - id: admin
- permissions: []
- settings: []
- userGroups:
- - id: adminGroup
- type: userGroup
- - authId: CiRhMzA4NmU3MS0zYjY2LTQ3NTItODIxMC0wN2VmODQ5NDNkOGESBWxvY2Fs
- id: demo
- permissions: []
- settings: []
- userGroups:
- - id: adminGroup
- type: userGroup
- - authId: CiQ5ZGMzNjU0MC1hYzMxLTQ2MTUtOThmNy1hYzJiZDE2NzZkYzUSBWxvY2Fs
- id: demo2
- permissions: []
- settings: []
- userGroups:
- - id: demoGroup
- type: userGroup
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/users?include=userGroups&page=0&size=500
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- - attributes: {}
- id: admin
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/users/admin
- relationships:
- userGroups:
- data:
- - id: adminGroup
- type: userGroup
- type: user
- - attributes:
- authenticationId: CiRhMzA4NmU3MS0zYjY2LTQ3NTItODIxMC0wN2VmODQ5NDNkOGESBWxvY2Fs
- id: demo
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/users/demo
- relationships:
- userGroups:
- data:
- - id: adminGroup
- type: userGroup
- type: user
- - attributes:
- authenticationId: CiQ5ZGMzNjU0MC1hYzMxLTQ2MTUtOThmNy1hYzJiZDE2NzZkYzUSBWxvY2Fs
- id: demo2
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/users/demo2
- relationships:
- userGroups:
- data:
- - id: demoGroup
- type: userGroup
- type: user
- included:
- - attributes: {}
- id: adminGroup
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/userGroups/adminGroup
- type: userGroup
- - attributes:
- name: demo group
- id: demoGroup
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/userGroups/demoGroup
- type: userGroup
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/users?include=userGroups&page=0&size=500
- next: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/users?include=userGroups&page=1&size=500
- - request:
- method: PUT
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/userGroups
- body:
- userGroups:
- - id: adminGroup
- permissions: []
- - id: demoGroup
- permissions: []
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: PUT
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/usersAndUserGroups
- body:
- userGroups:
- - id: adminGroup
- permissions: []
- - id: adminQA1Group
- parents:
- - id: adminGroup
- type: userGroup
- permissions: []
- - id: demoGroup
- name: demo group
- permissions: []
- - id: visitorsGroup
- name: visitors
- parents:
- - id: demoGroup
- type: userGroup
- permissions: []
- users:
- - id: admin
- userGroups:
- - id: adminGroup
- type: userGroup
- settings: []
- permissions: []
- - id: demo
- authId: CiRhMzA4NmU3MS0zYjY2LTQ3NTItODIxMC0wN2VmODQ5NDNkOGESBWxvY2Fs
- userGroups:
- - id: adminGroup
- type: userGroup
- settings: []
- permissions: []
- - id: demo2
- authId: CiQ5ZGMzNjU0MC1hYzMxLTQ2MTUtOThmNy1hYzJiZDE2NzZkYzUSBWxvY2Fs
- userGroups:
- - id: demoGroup
- type: userGroup
- settings: []
- permissions: []
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/usersAndUserGroups
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '760'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- userGroups:
- - id: adminGroup
- permissions: []
- - id: adminQA1Group
- parents:
- - id: adminGroup
- type: userGroup
- permissions: []
- - id: demoGroup
- name: demo group
- permissions: []
- - id: visitorsGroup
- name: visitors
- parents:
- - id: demoGroup
- type: userGroup
- permissions: []
- users:
- - id: admin
- permissions: []
- settings: []
- userGroups:
- - id: adminGroup
- type: userGroup
- - authId: CiRhMzA4NmU3MS0zYjY2LTQ3NTItODIxMC0wN2VmODQ5NDNkOGESBWxvY2Fs
- id: demo
- permissions: []
- settings: []
- userGroups:
- - id: adminGroup
- type: userGroup
- - authId: CiQ5ZGMzNjU0MC1hYzMxLTQ2MTUtOThmNy1hYzJiZDE2NzZkYzUSBWxvY2Fs
- id: demo2
- permissions: []
- settings: []
- userGroups:
- - id: demoGroup
- type: userGroup
- - request:
- method: PUT
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/usersAndUserGroups
- body:
- userGroups:
- - id: adminGroup
- permissions: []
- - id: adminQA1Group
- parents:
- - id: adminGroup
- type: userGroup
- permissions: []
- - id: demoGroup
- name: demo group
- permissions: []
- - id: visitorsGroup
- name: visitors
- parents:
- - id: demoGroup
- type: userGroup
- permissions: []
- users:
- - id: admin
- userGroups:
- - id: adminGroup
- type: userGroup
- settings: []
- permissions: []
- - id: demo
- authId: CiRhMzA4NmU3MS0zYjY2LTQ3NTItODIxMC0wN2VmODQ5NDNkOGESBWxvY2Fs
- userGroups:
- - id: adminGroup
- type: userGroup
- settings: []
- permissions: []
- - id: demo2
- authId: CiQ5ZGMzNjU0MC1hYzMxLTQ2MTUtOThmNy1hYzJiZDE2NzZkYzUSBWxvY2Fs
- userGroups:
- - id: demoGroup
- type: userGroup
- settings: []
- permissions: []
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/users/store_declarative_user_groups.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/users/store_declarative_user_groups.yaml
deleted file mode 100644
index a85a2fe2c..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/users/store_declarative_user_groups.yaml
+++ /dev/null
@@ -1,352 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/userGroups
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '308'
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- userGroups:
- - id: adminGroup
- permissions: []
- - id: adminQA1Group
- parents:
- - id: adminGroup
- type: userGroup
- permissions: []
- - id: demoGroup
- name: demo group
- permissions: []
- - id: visitorsGroup
- name: visitors
- parents:
- - id: demoGroup
- type: userGroup
- permissions: []
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/userGroups
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '308'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- userGroups:
- - id: adminGroup
- permissions: []
- - id: adminQA1Group
- parents:
- - id: adminGroup
- type: userGroup
- permissions: []
- - id: demoGroup
- name: demo group
- permissions: []
- - id: visitorsGroup
- name: visitors
- parents:
- - id: demoGroup
- type: userGroup
- permissions: []
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/organization
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 302
- message: Found
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '0'
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Location:
- - /api/v1/entities/admin/organizations/python-sdk-dex
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/admin/organizations/python-sdk-dex
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '564'
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- name: Python SDK Dex
- hostname: python-sdk-dex.dev-latest.stg11.panther.intgdc.com
- allowedOrigins: []
- earlyAccess: enableAlerting
- earlyAccessValues:
- - enableAlerting
- - enableSmtp
- - enablePreAggregationDatasets
- - enableScheduling
- - enableCompositeGrain
- - enableUserManagement
- - enableRawExports
- - enableFlexibleDashboardLayout
- region: ''
- dataCenter: ''
- id: python-sdk-dex
- type: organization
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/admin/organizations/python-sdk-dex
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/organization
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 302
- message: Found
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '0'
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Location:
- - /api/v1/entities/admin/organizations/python-sdk-dex
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/admin/organizations/python-sdk-dex
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '564'
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- name: Python SDK Dex
- hostname: python-sdk-dex.dev-latest.stg11.panther.intgdc.com
- allowedOrigins: []
- earlyAccess: enableAlerting
- earlyAccessValues:
- - enableAlerting
- - enableSmtp
- - enablePreAggregationDatasets
- - enableScheduling
- - enableCompositeGrain
- - enableUserManagement
- - enableRawExports
- - enableFlexibleDashboardLayout
- region: ''
- dataCenter: ''
- id: python-sdk-dex
- type: organization
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/admin/organizations/python-sdk-dex
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/users/store_declarative_users.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/users/store_declarative_users.yaml
deleted file mode 100644
index d2fcc3f11..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/users/store_declarative_users.yaml
+++ /dev/null
@@ -1,360 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/users
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '453'
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- users:
- - id: admin
- permissions: []
- settings: []
- userGroups:
- - id: adminGroup
- type: userGroup
- - authId: CiRhMzA4NmU3MS0zYjY2LTQ3NTItODIxMC0wN2VmODQ5NDNkOGESBWxvY2Fs
- id: demo
- permissions: []
- settings: []
- userGroups:
- - id: adminGroup
- type: userGroup
- - authId: CiQ5ZGMzNjU0MC1hYzMxLTQ2MTUtOThmNy1hYzJiZDE2NzZkYzUSBWxvY2Fs
- id: demo2
- permissions: []
- settings: []
- userGroups:
- - id: demoGroup
- type: userGroup
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/users
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '453'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- users:
- - id: admin
- permissions: []
- settings: []
- userGroups:
- - id: adminGroup
- type: userGroup
- - authId: CiRhMzA4NmU3MS0zYjY2LTQ3NTItODIxMC0wN2VmODQ5NDNkOGESBWxvY2Fs
- id: demo
- permissions: []
- settings: []
- userGroups:
- - id: adminGroup
- type: userGroup
- - authId: CiQ5ZGMzNjU0MC1hYzMxLTQ2MTUtOThmNy1hYzJiZDE2NzZkYzUSBWxvY2Fs
- id: demo2
- permissions: []
- settings: []
- userGroups:
- - id: demoGroup
- type: userGroup
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/organization
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 302
- message: Found
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '0'
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Location:
- - /api/v1/entities/admin/organizations/python-sdk-dex
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/admin/organizations/python-sdk-dex
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '564'
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- name: Python SDK Dex
- hostname: python-sdk-dex.dev-latest.stg11.panther.intgdc.com
- allowedOrigins: []
- earlyAccess: enableAlerting
- earlyAccessValues:
- - enableAlerting
- - enableSmtp
- - enablePreAggregationDatasets
- - enableScheduling
- - enableCompositeGrain
- - enableUserManagement
- - enableRawExports
- - enableFlexibleDashboardLayout
- region: ''
- dataCenter: ''
- id: python-sdk-dex
- type: organization
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/admin/organizations/python-sdk-dex
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/organization
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 302
- message: Found
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '0'
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Location:
- - /api/v1/entities/admin/organizations/python-sdk-dex
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/admin/organizations/python-sdk-dex
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '564'
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- name: Python SDK Dex
- hostname: python-sdk-dex.dev-latest.stg11.panther.intgdc.com
- allowedOrigins: []
- earlyAccess: enableAlerting
- earlyAccessValues:
- - enableAlerting
- - enableSmtp
- - enablePreAggregationDatasets
- - enableScheduling
- - enableCompositeGrain
- - enableUserManagement
- - enableRawExports
- - enableFlexibleDashboardLayout
- region: ''
- dataCenter: ''
- id: python-sdk-dex
- type: organization
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/admin/organizations/python-sdk-dex
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/users/store_declarative_users_user_groups.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/users/store_declarative_users_user_groups.yaml
deleted file mode 100644
index 675699390..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/users/store_declarative_users_user_groups.yaml
+++ /dev/null
@@ -1,394 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/usersAndUserGroups
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '760'
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- userGroups:
- - id: adminGroup
- permissions: []
- - id: adminQA1Group
- parents:
- - id: adminGroup
- type: userGroup
- permissions: []
- - id: demoGroup
- name: demo group
- permissions: []
- - id: visitorsGroup
- name: visitors
- parents:
- - id: demoGroup
- type: userGroup
- permissions: []
- users:
- - id: admin
- permissions: []
- settings: []
- userGroups:
- - id: adminGroup
- type: userGroup
- - authId: CiRhMzA4NmU3MS0zYjY2LTQ3NTItODIxMC0wN2VmODQ5NDNkOGESBWxvY2Fs
- id: demo
- permissions: []
- settings: []
- userGroups:
- - id: adminGroup
- type: userGroup
- - authId: CiQ5ZGMzNjU0MC1hYzMxLTQ2MTUtOThmNy1hYzJiZDE2NzZkYzUSBWxvY2Fs
- id: demo2
- permissions: []
- settings: []
- userGroups:
- - id: demoGroup
- type: userGroup
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/usersAndUserGroups
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '760'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- userGroups:
- - id: adminGroup
- permissions: []
- - id: adminQA1Group
- parents:
- - id: adminGroup
- type: userGroup
- permissions: []
- - id: demoGroup
- name: demo group
- permissions: []
- - id: visitorsGroup
- name: visitors
- parents:
- - id: demoGroup
- type: userGroup
- permissions: []
- users:
- - id: admin
- permissions: []
- settings: []
- userGroups:
- - id: adminGroup
- type: userGroup
- - authId: CiRhMzA4NmU3MS0zYjY2LTQ3NTItODIxMC0wN2VmODQ5NDNkOGESBWxvY2Fs
- id: demo
- permissions: []
- settings: []
- userGroups:
- - id: adminGroup
- type: userGroup
- - authId: CiQ5ZGMzNjU0MC1hYzMxLTQ2MTUtOThmNy1hYzJiZDE2NzZkYzUSBWxvY2Fs
- id: demo2
- permissions: []
- settings: []
- userGroups:
- - id: demoGroup
- type: userGroup
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/organization
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 302
- message: Found
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '0'
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Location:
- - /api/v1/entities/admin/organizations/python-sdk-dex
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/admin/organizations/python-sdk-dex
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '564'
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- name: Python SDK Dex
- hostname: python-sdk-dex.dev-latest.stg11.panther.intgdc.com
- allowedOrigins: []
- earlyAccess: enableAlerting
- earlyAccessValues:
- - enableAlerting
- - enableSmtp
- - enablePreAggregationDatasets
- - enableScheduling
- - enableCompositeGrain
- - enableUserManagement
- - enableRawExports
- - enableFlexibleDashboardLayout
- region: ''
- dataCenter: ''
- id: python-sdk-dex
- type: organization
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/admin/organizations/python-sdk-dex
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/organization
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 302
- message: Found
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '0'
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Location:
- - /api/v1/entities/admin/organizations/python-sdk-dex
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/admin/organizations/python-sdk-dex
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '564'
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- name: Python SDK Dex
- hostname: python-sdk-dex.dev-latest.stg11.panther.intgdc.com
- allowedOrigins: []
- earlyAccess: enableAlerting
- earlyAccessValues:
- - enableAlerting
- - enableSmtp
- - enablePreAggregationDatasets
- - enableScheduling
- - enableCompositeGrain
- - enableUserManagement
- - enableRawExports
- - enableFlexibleDashboardLayout
- region: ''
- dataCenter: ''
- id: python-sdk-dex
- type: organization
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/admin/organizations/python-sdk-dex
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/users/test_api_tokens.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/users/test_api_tokens.yaml
deleted file mode 100644
index 9de6e5ae7..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/users/test_api_tokens.yaml
+++ /dev/null
@@ -1,261 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/users/demo/apiTokens?page=0&size=500
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '263'
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data: []
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/users/demo/apiTokens?page=0&size=500
- next: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/users/demo/apiTokens?page=1&size=500
- - request:
- method: POST
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/users/demo/apiTokens
- body:
- data:
- id: test_token
- type: apiToken
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 201
- message: Created
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '268'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- bearerToken: ZGVtbzp0ZXN0X3Rva2VuOlVvenRGaHVTNUZSQ2g3SHJHa21ZNTNmaGRkUkVuWmFv
- id: test_token
- type: apiToken
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/users/demo/apiTokens/test_token
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/users/demo/apiTokens/test_token
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '188'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes: {}
- id: test_token
- type: apiToken
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/users/demo/apiTokens/test_token
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/users/demo/apiTokens?page=0&size=500
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '442'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- - attributes: {}
- id: test_token
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/users/demo/apiTokens/test_token
- type: apiToken
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/users/demo/apiTokens?page=0&size=500
- next: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/users/demo/apiTokens?page=1&size=500
- - request:
- method: DELETE
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/users/demo/apiTokens/test_token
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/users/test_assign_permissions_bulk.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/users/test_assign_permissions_bulk.yaml
deleted file mode 100644
index 941628b5b..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/users/test_assign_permissions_bulk.yaml
+++ /dev/null
@@ -1,405 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/actions/userManagement/users/demo2/permissions
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '189'
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- dataSources:
- - id: demo-test-ds
- name: demo-test-ds
- permissions:
- - MANAGE
- workspaces:
- - hierarchyPermissions:
- - MANAGE
- id: demo
- name: Demo
- permissions:
- - ANALYZE
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/actions/userManagement/userGroups/demoGroup/permissions
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '184'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- dataSources:
- - id: demo-test-ds
- name: demo-test-ds
- permissions:
- - USE
- workspaces:
- - hierarchyPermissions:
- - ANALYZE
- id: demo
- name: Demo
- permissions:
- - VIEW
- - request:
- method: POST
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/actions/userManagement/assignPermissions
- body:
- assignees:
- - id: demo2
- type: user
- - id: demoGroup
- type: userGroup
- workspaces:
- - hierarchyPermissions:
- - ANALYZE
- id: demo
- permissions:
- - VIEW
- name: Demo
- dataSources:
- - id: demo-test-ds
- permissions:
- - MANAGE
- name: demo-test-ds
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '0'
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/actions/userManagement/users/demo2/permissions
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '187'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- dataSources:
- - id: demo-test-ds
- name: demo-test-ds
- permissions:
- - MANAGE
- workspaces:
- - hierarchyPermissions:
- - ANALYZE
- id: demo
- name: Demo
- permissions:
- - VIEW
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/actions/userManagement/users/demo2/permissions
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '187'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- dataSources:
- - id: demo-test-ds
- name: demo-test-ds
- permissions:
- - MANAGE
- workspaces:
- - hierarchyPermissions:
- - ANALYZE
- id: demo
- name: Demo
- permissions:
- - VIEW
- - request:
- method: POST
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/actions/userManagement/users/demo2/permissions
- body:
- dataSources:
- - id: demo-test-ds
- permissions:
- - MANAGE
- name: demo-test-ds
- workspaces:
- - hierarchyPermissions:
- - MANAGE
- id: demo
- permissions:
- - ANALYZE
- name: Demo
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: POST
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/actions/userManagement/userGroups/demoGroup/permissions
- body:
- dataSources:
- - id: demo-test-ds
- permissions:
- - USE
- name: demo-test-ds
- workspaces:
- - hierarchyPermissions:
- - ANALYZE
- id: demo
- permissions:
- - VIEW
- name: Demo
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/users/test_get_user_group_permissions.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/users/test_get_user_group_permissions.yaml
deleted file mode 100644
index a6361823f..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/users/test_get_user_group_permissions.yaml
+++ /dev/null
@@ -1,62 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/actions/userManagement/userGroups/demoGroup/permissions
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '184'
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- dataSources:
- - id: demo-test-ds
- name: demo-test-ds
- permissions:
- - USE
- workspaces:
- - hierarchyPermissions:
- - ANALYZE
- id: demo
- name: Demo
- permissions:
- - VIEW
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/users/test_get_user_permissions.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/users/test_get_user_permissions.yaml
deleted file mode 100644
index 916463b2d..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/users/test_get_user_permissions.yaml
+++ /dev/null
@@ -1,62 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/actions/userManagement/users/demo2/permissions
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '189'
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- dataSources:
- - id: demo-test-ds
- name: demo-test-ds
- permissions:
- - MANAGE
- workspaces:
- - hierarchyPermissions:
- - MANAGE
- id: demo
- name: Demo
- permissions:
- - ANALYZE
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/users/test_manage_user_group_permissions.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/users/test_manage_user_group_permissions.yaml
deleted file mode 100644
index 2b389daee..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/users/test_manage_user_group_permissions.yaml
+++ /dev/null
@@ -1,228 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/actions/userManagement/userGroups/demoGroup/permissions
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '184'
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- dataSources:
- - id: demo-test-ds
- name: demo-test-ds
- permissions:
- - USE
- workspaces:
- - hierarchyPermissions:
- - ANALYZE
- id: demo
- name: Demo
- permissions:
- - VIEW
- - request:
- method: POST
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/actions/userManagement/userGroups/demoGroup/permissions
- body:
- dataSources:
- - id: demo-test-ds
- permissions:
- - MANAGE
- name: demo-test-ds
- workspaces:
- - hierarchyPermissions:
- - ANALYZE
- id: demo
- permissions:
- - VIEW
- name: Demo
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/actions/userManagement/userGroups/demoGroup/permissions
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '187'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- dataSources:
- - id: demo-test-ds
- name: demo-test-ds
- permissions:
- - MANAGE
- workspaces:
- - hierarchyPermissions:
- - ANALYZE
- id: demo
- name: Demo
- permissions:
- - VIEW
- - request:
- method: POST
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/actions/userManagement/userGroups/demoGroup/permissions
- body:
- dataSources:
- - id: demo-test-ds
- permissions:
- - USE
- name: demo-test-ds
- workspaces:
- - hierarchyPermissions:
- - ANALYZE
- id: demo
- permissions:
- - VIEW
- name: Demo
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/users/test_manage_user_permissions.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/users/test_manage_user_permissions.yaml
deleted file mode 100644
index ba3a51362..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/users/test_manage_user_permissions.yaml
+++ /dev/null
@@ -1,228 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/actions/userManagement/users/demo2/permissions
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '189'
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- dataSources:
- - id: demo-test-ds
- name: demo-test-ds
- permissions:
- - MANAGE
- workspaces:
- - hierarchyPermissions:
- - MANAGE
- id: demo
- name: Demo
- permissions:
- - ANALYZE
- - request:
- method: POST
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/actions/userManagement/users/demo2/permissions
- body:
- dataSources:
- - id: demo-test-ds
- permissions:
- - USE
- name: demo-test-ds
- workspaces:
- - hierarchyPermissions:
- - MANAGE
- id: demo
- permissions:
- - MANAGE
- name: Demo
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/actions/userManagement/users/demo2/permissions
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '185'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- dataSources:
- - id: demo-test-ds
- name: demo-test-ds
- permissions:
- - USE
- workspaces:
- - hierarchyPermissions:
- - MANAGE
- id: demo
- name: Demo
- permissions:
- - MANAGE
- - request:
- method: POST
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/actions/userManagement/users/demo2/permissions
- body:
- dataSources:
- - id: demo-test-ds
- permissions:
- - MANAGE
- name: demo-test-ds
- workspaces:
- - hierarchyPermissions:
- - MANAGE
- id: demo
- permissions:
- - ANALYZE
- name: Demo
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/users/test_revoke_permissions_bulk.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/users/test_revoke_permissions_bulk.yaml
deleted file mode 100644
index 15acb42f6..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/users/test_revoke_permissions_bulk.yaml
+++ /dev/null
@@ -1,223 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/actions/userManagement/users/demo2/permissions
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '189'
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- dataSources:
- - id: demo-test-ds
- name: demo-test-ds
- permissions:
- - MANAGE
- workspaces:
- - hierarchyPermissions:
- - MANAGE
- id: demo
- name: Demo
- permissions:
- - ANALYZE
- - request:
- method: POST
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/actions/userManagement/revokePermissions
- body:
- assignees:
- - id: demo2
- type: user
- workspaces:
- - hierarchyPermissions:
- - MANAGE
- id: demo
- permissions:
- - ANALYZE
- name: Demo
- dataSources:
- - id: demo-test-ds
- permissions:
- - MANAGE
- name: demo-test-ds
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '0'
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/actions/userManagement/users/demo2/permissions
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '34'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- dataSources: []
- workspaces: []
- - request:
- method: POST
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/actions/userManagement/users/demo2/permissions
- body:
- dataSources:
- - id: demo-test-ds
- permissions:
- - MANAGE
- name: demo-test-ds
- workspaces:
- - hierarchyPermissions:
- - MANAGE
- id: demo
- permissions:
- - ANALYZE
- name: Demo
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/users/test_user_add_user_group.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/users/test_user_add_user_group.yaml
deleted file mode 100644
index d9cc140a5..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/users/test_user_add_user_group.yaml
+++ /dev/null
@@ -1,69 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/users/demo2?include=userGroups
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '540'
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- authenticationId: CiQ5ZGMzNjU0MC1hYzMxLTQ2MTUtOThmNy1hYzJiZDE2NzZkYzUSBWxvY2Fs
- id: demo2
- relationships:
- userGroups:
- data:
- - id: demoGroup
- type: userGroup
- type: user
- included:
- - attributes:
- name: demo group
- id: demoGroup
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/userGroups/demoGroup
- type: userGroup
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/users/demo2?include=userGroups
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/users/test_user_add_user_groups.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/users/test_user_add_user_groups.yaml
deleted file mode 100644
index d9cc140a5..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/users/test_user_add_user_groups.yaml
+++ /dev/null
@@ -1,69 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/users/demo2?include=userGroups
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '540'
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- authenticationId: CiQ5ZGMzNjU0MC1hYzMxLTQ2MTUtOThmNy1hYzJiZDE2NzZkYzUSBWxvY2Fs
- id: demo2
- relationships:
- userGroups:
- data:
- - id: demoGroup
- type: userGroup
- type: user
- included:
- - attributes:
- name: demo group
- id: demoGroup
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/userGroups/demoGroup
- type: userGroup
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/users/demo2?include=userGroups
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/users/test_user_remove_user_groups.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/users/test_user_remove_user_groups.yaml
deleted file mode 100644
index d9cc140a5..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/users/test_user_remove_user_groups.yaml
+++ /dev/null
@@ -1,69 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/users/demo2?include=userGroups
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '540'
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- authenticationId: CiQ5ZGMzNjU0MC1hYzMxLTQ2MTUtOThmNy1hYzJiZDE2NzZkYzUSBWxvY2Fs
- id: demo2
- relationships:
- userGroups:
- data:
- - id: demoGroup
- type: userGroup
- type: user
- included:
- - attributes:
- name: demo group
- id: demoGroup
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/userGroups/demoGroup
- type: userGroup
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/users/demo2?include=userGroups
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/users/test_user_replace_user_groups.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/users/test_user_replace_user_groups.yaml
deleted file mode 100644
index d9cc140a5..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/users/test_user_replace_user_groups.yaml
+++ /dev/null
@@ -1,69 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/users/demo2?include=userGroups
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '540'
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- authenticationId: CiQ5ZGMzNjU0MC1hYzMxLTQ2MTUtOThmNy1hYzJiZDE2NzZkYzUSBWxvY2Fs
- id: demo2
- relationships:
- userGroups:
- data:
- - id: demoGroup
- type: userGroup
- type: user
- included:
- - attributes:
- name: demo group
- id: demoGroup
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/userGroups/demoGroup
- type: userGroup
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/users/demo2?include=userGroups
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/users/update_user.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/users/update_user.yaml
deleted file mode 100644
index f039a5027..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/users/update_user.yaml
+++ /dev/null
@@ -1,593 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/users?include=userGroups&page=0&size=500
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- - attributes: {}
- id: admin
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/users/admin
- relationships:
- userGroups:
- data:
- - id: adminGroup
- type: userGroup
- type: user
- - attributes:
- authenticationId: CiRhMzA4NmU3MS0zYjY2LTQ3NTItODIxMC0wN2VmODQ5NDNkOGESBWxvY2Fs
- id: demo
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/users/demo
- relationships:
- userGroups:
- data:
- - id: adminGroup
- type: userGroup
- type: user
- - attributes:
- authenticationId: CiQ5ZGMzNjU0MC1hYzMxLTQ2MTUtOThmNy1hYzJiZDE2NzZkYzUSBWxvY2Fs
- id: demo2
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/users/demo2
- relationships:
- userGroups:
- data:
- - id: demoGroup
- type: userGroup
- type: user
- included:
- - attributes: {}
- id: adminGroup
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/userGroups/adminGroup
- type: userGroup
- - attributes:
- name: demo group
- id: demoGroup
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/userGroups/demoGroup
- type: userGroup
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/users?include=userGroups&page=0&size=500
- next: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/users?include=userGroups&page=1&size=500
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/users/test_update_user_temp?include=userGroups
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 404
- message: Not Found
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '172'
- Content-Type:
- - application/problem+json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- detail: The requested endpoint does not exist or you do not have permission
- to access it.
- status: 404
- title: Not Found
- traceId: 516174f51a7a39257c37d7f8ae3e2b50
- - request:
- method: POST
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/users
- body:
- data:
- id: test_update_user_temp
- type: user
- attributes:
- firstname: Temp
- lastname: User
- email: temp.user@example.com
- authenticationId: test_update_user_temp_auth
- relationships:
- userGroups:
- data:
- - id: demoGroup
- type: userGroup
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 201
- message: Created
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '307'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- authenticationId: test_update_user_temp_auth
- firstname: Temp
- lastname: User
- email: temp.user@example.com
- id: test_update_user_temp
- type: user
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/users/test_update_user_temp
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/users?include=userGroups&page=0&size=500
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- - attributes: {}
- id: admin
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/users/admin
- relationships:
- userGroups:
- data:
- - id: adminGroup
- type: userGroup
- type: user
- - attributes:
- authenticationId: CiRhMzA4NmU3MS0zYjY2LTQ3NTItODIxMC0wN2VmODQ5NDNkOGESBWxvY2Fs
- id: demo
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/users/demo
- relationships:
- userGroups:
- data:
- - id: adminGroup
- type: userGroup
- type: user
- - attributes:
- authenticationId: CiQ5ZGMzNjU0MC1hYzMxLTQ2MTUtOThmNy1hYzJiZDE2NzZkYzUSBWxvY2Fs
- id: demo2
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/users/demo2
- relationships:
- userGroups:
- data:
- - id: demoGroup
- type: userGroup
- type: user
- - attributes:
- authenticationId: test_update_user_temp_auth
- firstname: Temp
- lastname: User
- email: temp.user@example.com
- id: test_update_user_temp
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/users/test_update_user_temp
- relationships:
- userGroups:
- data:
- - id: demoGroup
- type: userGroup
- type: user
- included:
- - attributes: {}
- id: adminGroup
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/userGroups/adminGroup
- type: userGroup
- - attributes:
- name: demo group
- id: demoGroup
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/userGroups/demoGroup
- type: userGroup
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/users?include=userGroups&page=0&size=500
- next: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/users?include=userGroups&page=1&size=500
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/users/test_update_user_temp?include=userGroups
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '607'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- authenticationId: test_update_user_temp_auth
- firstname: Temp
- lastname: User
- email: temp.user@example.com
- id: test_update_user_temp
- relationships:
- userGroups:
- data:
- - id: demoGroup
- type: userGroup
- type: user
- included:
- - attributes:
- name: demo group
- id: demoGroup
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/userGroups/demoGroup
- type: userGroup
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/users/test_update_user_temp?include=userGroups
- - request:
- method: PUT
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/users/test_update_user_temp
- body:
- data:
- id: test_update_user_temp
- type: user
- attributes:
- firstname: Michael
- lastname: Scott
- email: m.scott@dundermifflin.us
- authenticationId: test_update_user_temp_123
- relationships:
- userGroups:
- data:
- - id: demoGroup
- type: userGroup
- - id: visitorsGroup
- type: userGroup
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '313'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- authenticationId: test_update_user_temp_123
- firstname: Michael
- lastname: Scott
- email: m.scott@dundermifflin.us
- id: test_update_user_temp
- type: user
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/users/test_update_user_temp
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/users/test_update_user_temp?include=userGroups
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '849'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- authenticationId: test_update_user_temp_123
- firstname: Michael
- lastname: Scott
- email: m.scott@dundermifflin.us
- id: test_update_user_temp
- relationships:
- userGroups:
- data:
- - id: demoGroup
- type: userGroup
- - id: visitorsGroup
- type: userGroup
- type: user
- included:
- - attributes:
- name: visitors
- id: visitorsGroup
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/userGroups/visitorsGroup
- type: userGroup
- - attributes:
- name: demo group
- id: demoGroup
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/userGroups/demoGroup
- type: userGroup
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/users/test_update_user_temp?include=userGroups
- - request:
- method: DELETE
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/users/test_update_user_temp
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/users/update_user_group.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/users/update_user_group.yaml
deleted file mode 100644
index 0678de02d..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/users/update_user_group.yaml
+++ /dev/null
@@ -1,339 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/userGroups/demoGroup?include=ALL
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '208'
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- name: demo group
- id: demoGroup
- type: userGroup
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/userGroups/demoGroup?include=ALL
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/userGroups/demoGroup?include=ALL
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '208'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- name: demo group
- id: demoGroup
- type: userGroup
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/userGroups/demoGroup?include=ALL
- - request:
- method: PUT
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/userGroups/demoGroup
- body:
- data:
- id: demoGroup
- type: userGroup
- attributes:
- name: test_update_user_group
- relationships:
- parents:
- data: []
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '208'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- name: test_update_user_group
- id: demoGroup
- type: userGroup
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/userGroups/demoGroup
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/userGroups/demoGroup?include=ALL
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '220'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- name: test_update_user_group
- id: demoGroup
- type: userGroup
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/userGroups/demoGroup?include=ALL
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/userGroups/demoGroup?include=ALL
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '220'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- name: test_update_user_group
- id: demoGroup
- type: userGroup
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/userGroups/demoGroup?include=ALL
- - request:
- method: PUT
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/userGroups/demoGroup
- body:
- data:
- id: demoGroup
- type: userGroup
- attributes:
- name: demo group
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '196'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- name: demo group
- id: demoGroup
- type: userGroup
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/userGroups/demoGroup
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/analytics_store_load.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/analytics_store_load.yaml
deleted file mode 100644
index c811db63f..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/analytics_store_load.yaml
+++ /dev/null
@@ -1,3096 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces/demo/analyticsModel
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- analytics:
- analyticalDashboardExtensions: []
- analyticalDashboards:
- - content:
- filterContextRef:
- identifier:
- id: campaign_name_filter
- type: filterContext
- layout:
- type: IDashboardLayout
- sections:
- - type: IDashboardLayoutSection
- header:
- title: Spend breakdown and Revenue
- description: The first insight shows a breakdown of spend
- by category and campaign. The second shows revenue per
- $ spend, for each campaign, to demonstrate, how campaigns
- are successful.
- 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'
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- description: ''
- id: campaign
- permissions:
- - assigneeRule:
- type: allWorkspaceUsers
- name: VIEW
- 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'
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- 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'
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- description: ''
- id: product_and_category
- title: Product & Category
- attributeHierarchies: []
- dashboardPlugins:
- - content:
- url: https://www.example.com
- version: '2'
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- description: Testing record dashboard_plugin_1
- id: dashboard_plugin_1
- title: dashboard_plugin_1
- - content:
- url: https://www.example.com
- version: '2'
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- description: Testing record dashboard_plugin_2
- id: dashboard_plugin_2
- title: dashboard_plugin_2
- exportDefinitions: []
- 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
- memoryItems: []
- metrics:
- - content:
- format: '#,##0'
- maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id})
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- id: amount_of_active_customers
- title: '# of Active Customers'
- - content:
- format: '#,##0'
- maql: SELECT COUNT({attribute/order_id})
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- 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 '
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- 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"))
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- description: ''
- id: amount_of_valid_orders
- title: '# of Valid Orders'
- - content:
- format: $#,##0
- maql: SELECT SUM({fact/spend})
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- id: campaign_spend
- title: Campaign Spend
- - content:
- format: $#,##0
- maql: SELECT SUM({fact/price}*{fact/quantity})
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- id: order_amount
- title: Order Amount
- - content:
- format: '#,##0.0%'
- maql: SELECT {metric/revenue} / {metric/total_revenue}
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- 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}"
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- 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}"
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- 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}"
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- 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}"
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- 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)
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- 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})
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- 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"))
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- description: ''
- id: revenue
- title: Revenue
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE {label/products.category} IN
- ("Clothing")
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- id: revenue-clothing
- title: Revenue (Clothing)
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE {label/products.category} IN
- ( "Electronics")
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- id: revenue-electronic
- title: Revenue (Electronic)
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE {label/products.category} IN
- ("Home")
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- id: revenue-home
- title: Revenue (Home)
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE {label/products.category} IN
- ("Outdoor")
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- id: revenue-outdoor
- title: Revenue (Outdoor)
- - content:
- format: $#,##0.0
- maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id})
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- id: revenue_per_customer
- title: Revenue per Customer
- - content:
- format: $#,##0.0
- maql: SELECT {metric/revenue} / {metric/campaign_spend}
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- id: revenue_per_dollar_spent
- title: Revenue per Dollar Spent
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue})
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- id: revenue_top_10
- title: Revenue / Top 10
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue})
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- id: revenue_top_10_percent
- title: Revenue / Top 10%
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} BY ALL OTHER
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- id: total_revenue
- title: Total Revenue
- - content:
- format: $#,##0
- maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- id: top_10_products
- title: Top 10 Products
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces/demo/analyticsModel
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- analytics:
- analyticalDashboardExtensions: []
- analyticalDashboards:
- - content:
- filterContextRef:
- identifier:
- id: campaign_name_filter
- type: filterContext
- layout:
- type: IDashboardLayout
- sections:
- - type: IDashboardLayoutSection
- header:
- title: Spend breakdown and Revenue
- description: The first insight shows a breakdown of spend
- by category and campaign. The second shows revenue per
- $ spend, for each campaign, to demonstrate, how campaigns
- are successful.
- 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'
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- description: ''
- id: campaign
- permissions:
- - assigneeRule:
- type: allWorkspaceUsers
- name: VIEW
- 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'
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- 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'
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- description: ''
- id: product_and_category
- title: Product & Category
- attributeHierarchies: []
- dashboardPlugins:
- - content:
- url: https://www.example.com
- version: '2'
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- description: Testing record dashboard_plugin_1
- id: dashboard_plugin_1
- title: dashboard_plugin_1
- - content:
- url: https://www.example.com
- version: '2'
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- description: Testing record dashboard_plugin_2
- id: dashboard_plugin_2
- title: dashboard_plugin_2
- exportDefinitions: []
- 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
- memoryItems: []
- metrics:
- - content:
- format: '#,##0'
- maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id})
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- id: amount_of_active_customers
- title: '# of Active Customers'
- - content:
- format: '#,##0'
- maql: SELECT COUNT({attribute/order_id})
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- 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 '
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- 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"))
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- description: ''
- id: amount_of_valid_orders
- title: '# of Valid Orders'
- - content:
- format: $#,##0
- maql: SELECT SUM({fact/spend})
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- id: campaign_spend
- title: Campaign Spend
- - content:
- format: $#,##0
- maql: SELECT SUM({fact/price}*{fact/quantity})
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- id: order_amount
- title: Order Amount
- - content:
- format: '#,##0.0%'
- maql: SELECT {metric/revenue} / {metric/total_revenue}
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- 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}"
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- 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}"
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- 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}"
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- 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}"
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- 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)
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- 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})
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- 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"))
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- description: ''
- id: revenue
- title: Revenue
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE {label/products.category} IN
- ("Clothing")
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- id: revenue-clothing
- title: Revenue (Clothing)
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE {label/products.category} IN
- ( "Electronics")
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- id: revenue-electronic
- title: Revenue (Electronic)
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE {label/products.category} IN
- ("Home")
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- id: revenue-home
- title: Revenue (Home)
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE {label/products.category} IN
- ("Outdoor")
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- id: revenue-outdoor
- title: Revenue (Outdoor)
- - content:
- format: $#,##0.0
- maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id})
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- id: revenue_per_customer
- title: Revenue per Customer
- - content:
- format: $#,##0.0
- maql: SELECT {metric/revenue} / {metric/campaign_spend}
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- id: revenue_per_dollar_spent
- title: Revenue per Dollar Spent
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue})
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- id: revenue_top_10
- title: Revenue / Top 10
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue})
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- id: revenue_top_10_percent
- title: Revenue / Top 10%
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} BY ALL OTHER
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- id: total_revenue
- title: Total Revenue
- - content:
- format: $#,##0
- maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- id: top_10_products
- title: Top 10 Products
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog.yaml
deleted file mode 100644
index 3b23034fe..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog.yaml
+++ /dev/null
@@ -1,2080 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&page=0&size=500
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- - attributes:
- title: Campaign channel id
- description: Campaign channel id
- tags:
- - Campaign channels
- areRelationsValid: true
- sourceColumn: campaign_channel_id
- sourceColumnDataType: STRING
- id: campaign_channel_id
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/campaign_channel_id
- meta:
- origin:
- originId: demo
- originType: NATIVE
- relationships:
- dataset:
- data:
- id: campaign_channels
- type: dataset
- labels:
- data:
- - id: campaign_channel_id
- type: label
- type: attribute
- - attributes:
- title: Category
- description: Category
- tags:
- - Campaign channels
- areRelationsValid: true
- sourceColumn: category
- sourceColumnDataType: STRING
- id: campaign_channels.category
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/campaign_channels.category
- meta:
- origin:
- originId: demo
- originType: NATIVE
- relationships:
- dataset:
- data:
- id: campaign_channels
- type: dataset
- labels:
- data:
- - id: campaign_channels.category
- type: label
- type: attribute
- - attributes:
- title: Campaign id
- description: Campaign id
- tags:
- - Campaigns
- areRelationsValid: true
- sourceColumn: campaign_id
- sourceColumnDataType: INT
- id: campaign_id
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/campaign_id
- meta:
- origin:
- originId: demo
- originType: NATIVE
- relationships:
- dataset:
- data:
- id: campaigns
- type: dataset
- labels:
- data:
- - id: campaign_id
- type: label
- type: attribute
- - attributes:
- title: Campaign name
- description: Campaign name
- tags:
- - Campaigns
- areRelationsValid: true
- sourceColumn: campaign_name
- sourceColumnDataType: STRING
- id: campaign_name
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/campaign_name
- meta:
- origin:
- originId: demo
- originType: NATIVE
- relationships:
- dataset:
- data:
- id: campaigns
- type: dataset
- labels:
- data:
- - id: campaign_name
- type: label
- type: attribute
- - attributes:
- title: Customer id
- description: Customer id
- tags:
- - Customers
- areRelationsValid: true
- sourceColumn: customer_id
- sourceColumnDataType: INT
- id: customer_id
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/customer_id
- meta:
- origin:
- originId: demo
- originType: NATIVE
- relationships:
- dataset:
- data:
- id: customers
- type: dataset
- labels:
- data:
- - id: customer_id
- type: label
- type: attribute
- - attributes:
- title: Customer name
- description: Customer name
- tags:
- - Customers
- areRelationsValid: true
- sourceColumn: customer_name
- sourceColumnDataType: STRING
- id: customer_name
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/customer_name
- meta:
- origin:
- originId: demo
- originType: NATIVE
- relationships:
- dataset:
- data:
- id: customers
- type: dataset
- labels:
- data:
- - id: customer_name
- type: label
- type: attribute
- - attributes:
- title: Date - Date
- description: Date
- tags:
- - Date
- granularity: DAY
- areRelationsValid: true
- id: date.day
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/date.day
- meta:
- origin:
- originId: demo
- originType: NATIVE
- relationships:
- dataset:
- data:
- id: date
- type: dataset
- labels:
- data:
- - id: date.day
- 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: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/date.month
- meta:
- origin:
- originId: demo
- originType: NATIVE
- relationships:
- dataset:
- data:
- id: date
- type: dataset
- 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: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/date.quarter
- meta:
- origin:
- originId: demo
- originType: NATIVE
- relationships:
- dataset:
- data:
- id: date
- type: dataset
- labels:
- data:
- - id: date.quarter
- 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: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/date.week
- meta:
- origin:
- originId: demo
- originType: NATIVE
- relationships:
- dataset:
- data:
- id: date
- type: dataset
- labels:
- data:
- - id: date.week
- type: label
- type: attribute
- - attributes:
- title: Date - Year
- description: Year
- tags:
- - Date
- granularity: YEAR
- areRelationsValid: true
- id: date.year
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/date.year
- meta:
- origin:
- originId: demo
- originType: NATIVE
- relationships:
- dataset:
- data:
- id: date
- type: dataset
- labels:
- data:
- - id: date.year
- type: label
- type: attribute
- - attributes:
- title: Order id
- description: Order id
- tags:
- - Order lines
- areRelationsValid: true
- sourceColumn: order_id
- sourceColumnDataType: STRING
- id: order_id
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/order_id
- meta:
- origin:
- originId: demo
- originType: NATIVE
- relationships:
- dataset:
- data:
- id: order_lines
- type: dataset
- 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
- sourceColumnDataType: STRING
- id: order_line_id
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/order_line_id
- meta:
- origin:
- originId: demo
- originType: NATIVE
- relationships:
- dataset:
- data:
- id: order_lines
- type: dataset
- 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
- sourceColumnDataType: STRING
- id: order_status
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/order_status
- meta:
- origin:
- originId: demo
- originType: NATIVE
- relationships:
- dataset:
- data:
- id: order_lines
- type: dataset
- labels:
- data:
- - id: order_status
- type: label
- type: attribute
- - attributes:
- title: Product id
- description: Product id
- tags:
- - Products
- areRelationsValid: true
- sourceColumn: product_id
- sourceColumnDataType: INT
- id: product_id
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/product_id
- meta:
- origin:
- originId: demo
- originType: NATIVE
- relationships:
- dataset:
- data:
- id: products
- type: dataset
- labels:
- data:
- - id: product_id
- type: label
- type: attribute
- - attributes:
- title: Product name
- description: Product name
- tags:
- - Products
- areRelationsValid: true
- sourceColumn: product_name
- sourceColumnDataType: STRING
- id: product_name
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/product_name
- meta:
- origin:
- originId: demo
- originType: NATIVE
- relationships:
- dataset:
- data:
- id: products
- type: dataset
- labels:
- data:
- - id: product_name
- type: label
- type: attribute
- - attributes:
- title: Category
- description: Category
- tags:
- - Products
- areRelationsValid: true
- sourceColumn: category
- sourceColumnDataType: STRING
- id: products.category
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/products.category
- meta:
- origin:
- originId: demo
- originType: NATIVE
- relationships:
- dataset:
- data:
- id: products
- type: dataset
- labels:
- data:
- - id: products.category
- type: label
- type: attribute
- - attributes:
- title: Region
- description: Region
- tags:
- - Customers
- areRelationsValid: true
- sourceColumn: region
- sourceColumnDataType: STRING
- id: region
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/region
- meta:
- origin:
- originId: demo
- originType: NATIVE
- relationships:
- dataset:
- data:
- id: customers
- type: dataset
- labels:
- data:
- - id: region
- type: label
- type: attribute
- - attributes:
- title: State
- description: State
- tags:
- - Customers
- areRelationsValid: true
- sourceColumn: state
- sourceColumnDataType: STRING
- id: state
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/state
- meta:
- origin:
- originId: demo
- originType: NATIVE
- relationships:
- defaultView:
- data:
- id: state
- type: label
- dataset:
- data:
- id: customers
- type: dataset
- labels:
- data:
- - id: state
- type: label
- - id: geo__state__location
- type: label
- type: attribute
- - attributes:
- title: Type
- description: Type
- tags:
- - Campaign channels
- areRelationsValid: true
- sourceColumn: type
- sourceColumnDataType: STRING
- id: type
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/type
- meta:
- origin:
- originId: demo
- originType: NATIVE
- relationships:
- dataset:
- data:
- id: campaign_channels
- type: dataset
- labels:
- data:
- - id: type
- type: label
- type: attribute
- included:
- - attributes:
- title: Product name
- description: Product name
- tags:
- - Products
- primary: true
- sourceColumn: product_name
- sourceColumnDataType: STRING
- valueType: TEXT
- id: product_name
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/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
- sourceColumnDataType: STRING
- valueType: TEXT
- id: order_status
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/labels/order_status
- type: label
- - attributes:
- title: Order lines
- description: Order lines
- tags:
- - Order lines
- grain:
- - id: order_line_id
- type: attribute
- referenceProperties:
- - identifier:
- id: date
- type: dataset
- multivalue: false
- sources:
- - column: date
- dataType: DATE
- target:
- id: date
- type: date
- isNullable: null
- nullValue: null
- sourceColumns: null
- sourceColumnDataTypes: null
- - identifier:
- id: products
- type: dataset
- multivalue: false
- sources:
- - column: product_id
- dataType: INT
- target:
- id: product_id
- type: attribute
- isNullable: null
- nullValue: null
- sourceColumns: null
- sourceColumnDataTypes: null
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- dataType: INT
- target:
- id: campaign_id
- type: attribute
- isNullable: null
- nullValue: null
- sourceColumns: null
- sourceColumnDataTypes: null
- - identifier:
- id: customers
- type: dataset
- multivalue: false
- sources:
- - column: customer_id
- dataType: INT
- target:
- id: customer_id
- type: attribute
- isNullable: null
- nullValue: null
- sourceColumns: null
- sourceColumnDataTypes: null
- dataSourceTableId: demo-test-ds:order_lines
- dataSourceTablePath:
- - demo
- - order_lines
- workspaceDataFilterColumns:
- - name: wdf__region
- dataType: STRING
- - name: wdf__state
- dataType: STRING
- workspaceDataFilterReferences:
- - filterId:
- id: wdf__state
- type: workspaceDataFilter
- filterColumn: wdf__state
- filterColumnDataType: STRING
- - filterId:
- id: wdf__region
- type: workspaceDataFilter
- filterColumn: wdf__region
- filterColumnDataType: STRING
- type: NORMAL
- id: order_lines
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/datasets/order_lines
- type: dataset
- - attributes:
- title: Campaign name
- description: Campaign name
- tags:
- - Campaigns
- primary: true
- sourceColumn: campaign_name
- sourceColumnDataType: STRING
- valueType: TEXT
- id: campaign_name
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/labels/campaign_name
- type: label
- - 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
- sources:
- - column: campaign_id
- dataType: INT
- target:
- id: campaign_id
- type: attribute
- isNullable: null
- nullValue: null
- sourceColumns: null
- sourceColumnDataTypes: null
- dataSourceTableId: demo-test-ds:campaign_channels
- dataSourceTablePath:
- - demo
- - campaign_channels
- type: NORMAL
- id: campaign_channels
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/datasets/campaign_channels
- type: dataset
- - attributes:
- title: Date - Month/Year
- description: Month and Year (12/2020)
- tags:
- - Date
- primary: true
- sourceColumn: ''
- id: date.month
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/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: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/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
- sourceColumnDataType: STRING
- valueType: TEXT
- id: campaign_channel_id
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/labels/campaign_channel_id
- type: label
- - attributes:
- title: Date - Date
- description: Date
- tags:
- - Date
- primary: true
- sourceColumn: ''
- id: date.day
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/labels/date.day
- type: label
- - attributes:
- title: Campaigns
- description: Campaigns
- tags:
- - Campaigns
- grain:
- - id: campaign_id
- type: attribute
- dataSourceTableId: demo-test-ds:campaigns
- dataSourceTablePath:
- - demo
- - campaigns
- type: NORMAL
- id: campaigns
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/datasets/campaigns
- type: dataset
- - attributes:
- title: Order id
- description: Order id
- tags:
- - Order lines
- primary: true
- sourceColumn: order_id
- sourceColumnDataType: STRING
- valueType: TEXT
- id: order_id
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/labels/order_id
- type: label
- - attributes:
- title: Customer name
- description: Customer name
- tags:
- - Customers
- primary: true
- sourceColumn: customer_name
- sourceColumnDataType: STRING
- valueType: TEXT
- id: customer_name
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/labels/customer_name
- type: label
- - attributes:
- title: Type
- description: Type
- tags:
- - Campaign channels
- primary: true
- sourceColumn: type
- sourceColumnDataType: STRING
- valueType: TEXT
- id: type
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/labels/type
- type: label
- - attributes:
- title: Customers
- description: Customers
- tags:
- - Customers
- grain:
- - id: customer_id
- type: attribute
- dataSourceTableId: demo-test-ds:customers
- dataSourceTablePath:
- - demo
- - customers
- type: NORMAL
- id: customers
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/datasets/customers
- type: dataset
- - attributes:
- title: Region
- description: Region
- tags:
- - Customers
- primary: true
- sourceColumn: region
- sourceColumnDataType: STRING
- valueType: TEXT
- id: region
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/labels/region
- type: label
- - attributes:
- title: Category
- description: Category
- tags:
- - Products
- primary: true
- sourceColumn: category
- sourceColumnDataType: STRING
- valueType: TEXT
- id: products.category
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/labels/products.category
- type: label
- - attributes:
- title: Date - Week/Year
- description: Week and Year (W52/2020)
- tags:
- - Date
- primary: true
- sourceColumn: ''
- id: date.week
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/labels/date.week
- type: label
- - attributes:
- title: Location
- description: Location
- tags:
- - Customers
- primary: false
- sourceColumn: geo__state__location
- sourceColumnDataType: STRING
- valueType: GEO
- id: geo__state__location
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/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
- sourceColumnDataType: INT
- valueType: TEXT
- id: product_id
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/labels/product_id
- type: label
- - attributes:
- title: Order line id
- description: Order line id
- tags:
- - Order lines
- primary: true
- sourceColumn: order_line_id
- sourceColumnDataType: STRING
- valueType: TEXT
- id: order_line_id
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/labels/order_line_id
- type: label
- - attributes:
- title: Products
- description: Products
- tags:
- - Products
- grain:
- - id: product_id
- type: attribute
- dataSourceTableId: demo-test-ds:products
- dataSourceTablePath:
- - demo
- - products
- type: NORMAL
- id: products
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/datasets/products
- type: dataset
- - attributes:
- title: Date
- description: ''
- tags:
- - Date
- type: DATE
- id: date
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/datasets/date
- type: dataset
- - attributes:
- title: Category
- description: Category
- tags:
- - Campaign channels
- primary: true
- sourceColumn: category
- sourceColumnDataType: STRING
- valueType: TEXT
- id: campaign_channels.category
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/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
- sourceColumnDataType: INT
- valueType: TEXT
- id: customer_id
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/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: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/labels/date.year
- type: label
- - attributes:
- title: State
- description: State
- tags:
- - Customers
- primary: true
- sourceColumn: state
- sourceColumnDataType: STRING
- valueType: TEXT
- id: state
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/labels/state
- type: label
- - attributes:
- title: Campaign id
- description: Campaign id
- tags:
- - Campaigns
- primary: true
- sourceColumn: campaign_id
- sourceColumnDataType: INT
- valueType: TEXT
- id: campaign_id
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/labels/campaign_id
- type: label
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&page=0&size=500
- next: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&page=1&size=500
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts%2CaggregatedFacts&page=0&size=500
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- 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
- sources:
- - column: campaign_id
- dataType: INT
- target:
- id: campaign_id
- type: attribute
- isNullable: null
- nullValue: null
- sourceColumns: null
- sourceColumnDataTypes: null
- dataSourceTableId: demo-test-ds:campaign_channels
- dataSourceTablePath:
- - demo
- - campaign_channels
- areRelationsValid: true
- type: NORMAL
- id: campaign_channels
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/datasets/campaign_channels
- meta:
- origin:
- originId: demo
- originType: NATIVE
- relationships:
- attributes:
- data:
- - id: campaign_channel_id
- type: attribute
- - id: campaign_channels.category
- type: attribute
- - id: type
- type: attribute
- facts:
- data:
- - id: budget
- type: fact
- - id: spend
- type: fact
- type: dataset
- - attributes:
- title: Campaign channels per category
- description: Campaign channels per categories
- tags:
- - Campaign channels per category
- referenceProperties:
- - identifier:
- id: campaign_channels
- type: dataset
- multivalue: false
- sources:
- - column: campaign_channel_id
- dataType: STRING
- target:
- id: campaign_channel_id
- type: attribute
- isNullable: null
- nullValue: null
- sourceColumns: null
- sourceColumnDataTypes: null
- sql:
- statement: SELECT category, SUM(budget) FROM campaign_channels GROUP
- BY category
- dataSourceId: demo-test-ds
- precedence: 1
- areRelationsValid: true
- type: NORMAL
- id: campaign_channels_per_category
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/datasets/campaign_channels_per_category
- meta:
- origin:
- originId: demo
- originType: NATIVE
- relationships:
- aggregatedFacts:
- data:
- - id: budget_agg
- type: aggregatedFact
- type: dataset
- - attributes:
- title: Campaigns
- description: Campaigns
- tags:
- - Campaigns
- grain:
- - id: campaign_id
- type: attribute
- dataSourceTableId: demo-test-ds:campaigns
- dataSourceTablePath:
- - demo
- - campaigns
- areRelationsValid: true
- type: NORMAL
- id: campaigns
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/datasets/campaigns
- meta:
- origin:
- originId: demo
- originType: NATIVE
- relationships:
- attributes:
- data:
- - id: campaign_id
- type: attribute
- - id: campaign_name
- type: attribute
- type: dataset
- - attributes:
- title: Customers
- description: Customers
- tags:
- - Customers
- grain:
- - id: customer_id
- type: attribute
- dataSourceTableId: demo-test-ds:customers
- dataSourceTablePath:
- - demo
- - customers
- areRelationsValid: true
- type: NORMAL
- id: customers
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/datasets/customers
- meta:
- origin:
- originId: demo
- originType: NATIVE
- relationships:
- attributes:
- data:
- - id: customer_id
- type: attribute
- - id: customer_name
- type: attribute
- - id: region
- type: attribute
- - id: state
- type: attribute
- type: dataset
- - attributes:
- title: Date
- description: ''
- tags:
- - Date
- areRelationsValid: true
- type: DATE
- id: date
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/datasets/date
- meta:
- origin:
- originId: demo
- originType: NATIVE
- relationships:
- attributes:
- data:
- - id: date.day
- type: attribute
- - id: date.week
- type: attribute
- - id: date.month
- type: attribute
- - id: date.quarter
- type: attribute
- - id: date.year
- type: attribute
- type: dataset
- - attributes:
- title: Order lines
- description: Order lines
- tags:
- - Order lines
- grain:
- - id: order_line_id
- type: attribute
- referenceProperties:
- - identifier:
- id: date
- type: dataset
- multivalue: false
- sources:
- - column: date
- dataType: DATE
- target:
- id: date
- type: date
- isNullable: null
- nullValue: null
- sourceColumns: null
- sourceColumnDataTypes: null
- - identifier:
- id: products
- type: dataset
- multivalue: false
- sources:
- - column: product_id
- dataType: INT
- target:
- id: product_id
- type: attribute
- isNullable: null
- nullValue: null
- sourceColumns: null
- sourceColumnDataTypes: null
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- dataType: INT
- target:
- id: campaign_id
- type: attribute
- isNullable: null
- nullValue: null
- sourceColumns: null
- sourceColumnDataTypes: null
- - identifier:
- id: customers
- type: dataset
- multivalue: false
- sources:
- - column: customer_id
- dataType: INT
- target:
- id: customer_id
- type: attribute
- isNullable: null
- nullValue: null
- sourceColumns: null
- sourceColumnDataTypes: null
- dataSourceTableId: demo-test-ds:order_lines
- dataSourceTablePath:
- - demo
- - order_lines
- areRelationsValid: true
- workspaceDataFilterColumns:
- - name: wdf__region
- dataType: STRING
- - name: wdf__state
- dataType: STRING
- workspaceDataFilterReferences:
- - filterId:
- id: wdf__state
- type: workspaceDataFilter
- filterColumn: wdf__state
- filterColumnDataType: STRING
- - filterId:
- id: wdf__region
- type: workspaceDataFilter
- filterColumn: wdf__region
- filterColumnDataType: STRING
- type: NORMAL
- id: order_lines
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/datasets/order_lines
- meta:
- origin:
- originId: demo
- originType: NATIVE
- relationships:
- attributes:
- data:
- - id: order_id
- type: attribute
- - id: order_line_id
- type: attribute
- - id: order_status
- type: attribute
- facts:
- data:
- - id: price
- type: fact
- - id: quantity
- type: fact
- type: dataset
- - attributes:
- title: Products
- description: Products
- tags:
- - Products
- grain:
- - id: product_id
- type: attribute
- dataSourceTableId: demo-test-ds:products
- dataSourceTablePath:
- - demo
- - products
- areRelationsValid: true
- type: NORMAL
- id: products
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/datasets/products
- meta:
- origin:
- originId: demo
- originType: NATIVE
- relationships:
- attributes:
- data:
- - id: product_id
- type: attribute
- - id: product_name
- type: attribute
- - id: products.category
- type: attribute
- type: dataset
- included:
- - attributes:
- title: Product id
- description: Product id
- tags:
- - Products
- sourceColumn: product_id
- sourceColumnDataType: INT
- id: product_id
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/product_id
- type: attribute
- - attributes:
- title: Budget
- description: Budget
- tags:
- - Campaign channels
- sourceColumn: budget
- sourceColumnDataType: NUMERIC
- id: budget
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/facts/budget
- type: fact
- - attributes:
- title: Date - Year
- description: Year
- tags:
- - Date
- granularity: YEAR
- id: date.year
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/date.year
- type: attribute
- - attributes:
- title: Product name
- description: Product name
- tags:
- - Products
- sourceColumn: product_name
- sourceColumnDataType: STRING
- id: product_name
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/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: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/date.month
- type: attribute
- - attributes:
- title: Category
- description: Category
- tags:
- - Products
- sourceColumn: category
- sourceColumnDataType: STRING
- id: products.category
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/products.category
- type: attribute
- - attributes:
- title: Date - Quarter/Year
- description: Quarter and Year (Q1/2020)
- tags:
- - Date
- granularity: QUARTER
- id: date.quarter
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/date.quarter
- type: attribute
- - attributes:
- title: Category
- description: Category
- tags:
- - Campaign channels
- sourceColumn: category
- sourceColumnDataType: STRING
- id: campaign_channels.category
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/campaign_channels.category
- type: attribute
- - attributes:
- title: State
- description: State
- tags:
- - Customers
- sourceColumn: state
- sourceColumnDataType: STRING
- id: state
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/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: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/date.week
- type: attribute
- - attributes:
- title: Order id
- description: Order id
- tags:
- - Order lines
- sourceColumn: order_id
- sourceColumnDataType: STRING
- id: order_id
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/order_id
- type: attribute
- - attributes:
- title: Campaign name
- description: Campaign name
- tags:
- - Campaigns
- sourceColumn: campaign_name
- sourceColumnDataType: STRING
- id: campaign_name
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/campaign_name
- type: attribute
- - attributes:
- title: Price
- description: Price
- tags:
- - Order lines
- sourceColumn: price
- sourceColumnDataType: NUMERIC
- id: price
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/facts/price
- type: fact
- - attributes:
- description: Budget Agg
- tags:
- - Campaign channels per category
- sourceColumn: budget
- sourceColumnDataType: INT
- operation: SUM
- id: budget_agg
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/aggregatedFacts/budget_agg
- type: aggregatedFact
- - attributes:
- title: Date - Date
- description: Date
- tags:
- - Date
- granularity: DAY
- id: date.day
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/date.day
- type: attribute
- - attributes:
- title: Region
- description: Region
- tags:
- - Customers
- sourceColumn: region
- sourceColumnDataType: STRING
- id: region
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/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
- sourceColumnDataType: STRING
- id: campaign_channel_id
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/campaign_channel_id
- type: attribute
- - attributes:
- title: Customer id
- description: Customer id
- tags:
- - Customers
- sourceColumn: customer_id
- sourceColumnDataType: INT
- id: customer_id
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/customer_id
- type: attribute
- - attributes:
- title: Quantity
- description: Quantity
- tags:
- - Order lines
- sourceColumn: quantity
- sourceColumnDataType: NUMERIC
- id: quantity
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/facts/quantity
- type: fact
- - attributes:
- title: Campaign id
- description: Campaign id
- tags:
- - Campaigns
- sourceColumn: campaign_id
- sourceColumnDataType: INT
- id: campaign_id
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/campaign_id
- type: attribute
- - attributes:
- title: Type
- description: Type
- tags:
- - Campaign channels
- sourceColumn: type
- sourceColumnDataType: STRING
- id: type
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/type
- type: attribute
- - attributes:
- title: Spend
- description: Spend
- tags:
- - Campaign channels
- sourceColumn: spend
- sourceColumnDataType: NUMERIC
- id: spend
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/facts/spend
- type: fact
- - attributes:
- title: Order status
- description: Order status
- tags:
- - Order lines
- sourceColumn: order_status
- sourceColumnDataType: STRING
- id: order_status
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/order_status
- type: attribute
- - attributes:
- title: Customer name
- description: Customer name
- tags:
- - Customers
- sourceColumn: customer_name
- sourceColumnDataType: STRING
- id: customer_name
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/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
- sourceColumnDataType: STRING
- id: order_line_id
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/order_line_id
- type: attribute
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts%2CaggregatedFacts&page=0&size=500
- next: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts%2CaggregatedFacts&page=1&size=500
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics?page=0&size=500
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- - attributes:
- title: '# of Active Customers'
- areRelationsValid: true
- content:
- format: '#,##0'
- maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id})
- createdAt: 2026-03-25 09:17
- id: amount_of_active_customers
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/amount_of_active_customers
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: metric
- - attributes:
- title: '# of Orders'
- areRelationsValid: true
- content:
- format: '#,##0'
- maql: SELECT COUNT({attribute/order_id})
- createdAt: 2026-03-25 09:17
- id: amount_of_orders
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/amount_of_orders
- meta:
- origin:
- originId: demo
- originType: NATIVE
- 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 '
- createdAt: 2026-03-25 09:17
- id: amount_of_top_customers
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/amount_of_top_customers
- meta:
- origin:
- originId: demo
- originType: NATIVE
- 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"))
- createdAt: 2026-03-25 09:17
- id: amount_of_valid_orders
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/amount_of_valid_orders
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: metric
- - attributes:
- title: Campaign Spend
- areRelationsValid: true
- content:
- format: $#,##0
- maql: SELECT SUM({fact/spend})
- createdAt: 2026-03-25 09:17
- id: campaign_spend
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/campaign_spend
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: metric
- - attributes:
- title: Order Amount
- areRelationsValid: true
- content:
- format: $#,##0
- maql: SELECT SUM({fact/price}*{fact/quantity})
- createdAt: 2026-03-25 09:17
- id: order_amount
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/order_amount
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: metric
- - attributes:
- title: '% Revenue'
- areRelationsValid: true
- content:
- format: '#,##0.0%'
- maql: SELECT {metric/revenue} / {metric/total_revenue}
- createdAt: 2026-03-25 09:17
- id: percent_revenue
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/percent_revenue
- meta:
- origin:
- originId: demo
- originType: NATIVE
- 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}"
- createdAt: 2026-03-25 09:17
- id: percent_revenue_from_top_10_customers
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_customers
- meta:
- origin:
- originId: demo
- originType: NATIVE
- 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}"
- createdAt: 2026-03-25 09:17
- id: percent_revenue_from_top_10_percent_customers
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_customers
- meta:
- origin:
- originId: demo
- originType: NATIVE
- 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}"
- createdAt: 2026-03-25 09:17
- id: percent_revenue_from_top_10_percent_products
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_products
- meta:
- origin:
- originId: demo
- originType: NATIVE
- 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}"
- createdAt: 2026-03-25 09:17
- id: percent_revenue_from_top_10_products
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_products
- meta:
- origin:
- originId: demo
- originType: NATIVE
- 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)
- createdAt: 2026-03-25 09:17
- id: percent_revenue_in_category
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/percent_revenue_in_category
- meta:
- origin:
- originId: demo
- originType: NATIVE
- 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})
- createdAt: 2026-03-25 09:17
- id: percent_revenue_per_product
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/percent_revenue_per_product
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: metric
- - attributes:
- title: Revenue
- description: ''
- areRelationsValid: true
- content:
- format: $#,##0
- maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status}
- IN ("Returned", "Canceled"))
- createdAt: 2026-03-25 09:17
- id: revenue
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/revenue
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: metric
- - attributes:
- title: Revenue (Clothing)
- areRelationsValid: true
- content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE {label/products.category} IN
- ("Clothing")
- createdAt: 2026-03-25 09:17
- id: revenue-clothing
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/revenue-clothing
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: metric
- - attributes:
- title: Revenue (Electronic)
- areRelationsValid: true
- content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE {label/products.category} IN
- ( "Electronics")
- createdAt: 2026-03-25 09:17
- id: revenue-electronic
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/revenue-electronic
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: metric
- - attributes:
- title: Revenue (Home)
- areRelationsValid: true
- content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE {label/products.category} IN
- ("Home")
- createdAt: 2026-03-25 09:17
- id: revenue-home
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/revenue-home
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: metric
- - attributes:
- title: Revenue (Outdoor)
- areRelationsValid: true
- content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE {label/products.category} IN
- ("Outdoor")
- createdAt: 2026-03-25 09:17
- id: revenue-outdoor
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/revenue-outdoor
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: metric
- - attributes:
- title: Revenue per Customer
- areRelationsValid: true
- content:
- format: $#,##0.0
- maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id})
- createdAt: 2026-03-25 09:17
- id: revenue_per_customer
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/revenue_per_customer
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: metric
- - attributes:
- title: Revenue per Dollar Spent
- areRelationsValid: true
- content:
- format: $#,##0.0
- maql: SELECT {metric/revenue} / {metric/campaign_spend}
- createdAt: 2026-03-25 09:17
- id: revenue_per_dollar_spent
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/revenue_per_dollar_spent
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: metric
- - attributes:
- title: Revenue / Top 10
- areRelationsValid: true
- content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue})
- createdAt: 2026-03-25 09:17
- id: revenue_top_10
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/revenue_top_10
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: metric
- - attributes:
- title: Revenue / Top 10%
- areRelationsValid: true
- content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue})
- createdAt: 2026-03-25 09:17
- id: revenue_top_10_percent
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/revenue_top_10_percent
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: metric
- - attributes:
- title: Total Revenue
- areRelationsValid: true
- content:
- format: $#,##0
- maql: SELECT {metric/revenue} BY ALL OTHER
- createdAt: 2026-03-25 09:17
- id: total_revenue
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/total_revenue
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: metric
- - attributes:
- title: Total Revenue (No Filters)
- areRelationsValid: true
- content:
- format: $#,##0
- maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER
- createdAt: 2026-03-25 09:17
- id: total_revenue-no_filters
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/total_revenue-no_filters
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: metric
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics?page=0&size=500
- next: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics?page=1&size=500
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog_availability.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog_availability.yaml
deleted file mode 100644
index 36c7076d9..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog_availability.yaml
+++ /dev/null
@@ -1,2215 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&page=0&size=500
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- - attributes:
- title: Campaign channel id
- description: Campaign channel id
- tags:
- - Campaign channels
- areRelationsValid: true
- sourceColumn: campaign_channel_id
- sourceColumnDataType: STRING
- id: campaign_channel_id
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/campaign_channel_id
- meta:
- origin:
- originId: demo
- originType: NATIVE
- relationships:
- dataset:
- data:
- id: campaign_channels
- type: dataset
- labels:
- data:
- - id: campaign_channel_id
- type: label
- type: attribute
- - attributes:
- title: Category
- description: Category
- tags:
- - Campaign channels
- areRelationsValid: true
- sourceColumn: category
- sourceColumnDataType: STRING
- id: campaign_channels.category
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/campaign_channels.category
- meta:
- origin:
- originId: demo
- originType: NATIVE
- relationships:
- dataset:
- data:
- id: campaign_channels
- type: dataset
- labels:
- data:
- - id: campaign_channels.category
- type: label
- type: attribute
- - attributes:
- title: Campaign id
- description: Campaign id
- tags:
- - Campaigns
- areRelationsValid: true
- sourceColumn: campaign_id
- sourceColumnDataType: INT
- id: campaign_id
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/campaign_id
- meta:
- origin:
- originId: demo
- originType: NATIVE
- relationships:
- dataset:
- data:
- id: campaigns
- type: dataset
- labels:
- data:
- - id: campaign_id
- type: label
- type: attribute
- - attributes:
- title: Campaign name
- description: Campaign name
- tags:
- - Campaigns
- areRelationsValid: true
- sourceColumn: campaign_name
- sourceColumnDataType: STRING
- id: campaign_name
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/campaign_name
- meta:
- origin:
- originId: demo
- originType: NATIVE
- relationships:
- dataset:
- data:
- id: campaigns
- type: dataset
- labels:
- data:
- - id: campaign_name
- type: label
- type: attribute
- - attributes:
- title: Customer id
- description: Customer id
- tags:
- - Customers
- areRelationsValid: true
- sourceColumn: customer_id
- sourceColumnDataType: INT
- id: customer_id
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/customer_id
- meta:
- origin:
- originId: demo
- originType: NATIVE
- relationships:
- dataset:
- data:
- id: customers
- type: dataset
- labels:
- data:
- - id: customer_id
- type: label
- type: attribute
- - attributes:
- title: Customer name
- description: Customer name
- tags:
- - Customers
- areRelationsValid: true
- sourceColumn: customer_name
- sourceColumnDataType: STRING
- id: customer_name
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/customer_name
- meta:
- origin:
- originId: demo
- originType: NATIVE
- relationships:
- dataset:
- data:
- id: customers
- type: dataset
- labels:
- data:
- - id: customer_name
- type: label
- type: attribute
- - attributes:
- title: Date - Date
- description: Date
- tags:
- - Date
- granularity: DAY
- areRelationsValid: true
- id: date.day
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/date.day
- meta:
- origin:
- originId: demo
- originType: NATIVE
- relationships:
- dataset:
- data:
- id: date
- type: dataset
- labels:
- data:
- - id: date.day
- 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: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/date.month
- meta:
- origin:
- originId: demo
- originType: NATIVE
- relationships:
- dataset:
- data:
- id: date
- type: dataset
- 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: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/date.quarter
- meta:
- origin:
- originId: demo
- originType: NATIVE
- relationships:
- dataset:
- data:
- id: date
- type: dataset
- labels:
- data:
- - id: date.quarter
- 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: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/date.week
- meta:
- origin:
- originId: demo
- originType: NATIVE
- relationships:
- dataset:
- data:
- id: date
- type: dataset
- labels:
- data:
- - id: date.week
- type: label
- type: attribute
- - attributes:
- title: Date - Year
- description: Year
- tags:
- - Date
- granularity: YEAR
- areRelationsValid: true
- id: date.year
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/date.year
- meta:
- origin:
- originId: demo
- originType: NATIVE
- relationships:
- dataset:
- data:
- id: date
- type: dataset
- labels:
- data:
- - id: date.year
- type: label
- type: attribute
- - attributes:
- title: Order id
- description: Order id
- tags:
- - Order lines
- areRelationsValid: true
- sourceColumn: order_id
- sourceColumnDataType: STRING
- id: order_id
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/order_id
- meta:
- origin:
- originId: demo
- originType: NATIVE
- relationships:
- dataset:
- data:
- id: order_lines
- type: dataset
- 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
- sourceColumnDataType: STRING
- id: order_line_id
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/order_line_id
- meta:
- origin:
- originId: demo
- originType: NATIVE
- relationships:
- dataset:
- data:
- id: order_lines
- type: dataset
- 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
- sourceColumnDataType: STRING
- id: order_status
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/order_status
- meta:
- origin:
- originId: demo
- originType: NATIVE
- relationships:
- dataset:
- data:
- id: order_lines
- type: dataset
- labels:
- data:
- - id: order_status
- type: label
- type: attribute
- - attributes:
- title: Product id
- description: Product id
- tags:
- - Products
- areRelationsValid: true
- sourceColumn: product_id
- sourceColumnDataType: INT
- id: product_id
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/product_id
- meta:
- origin:
- originId: demo
- originType: NATIVE
- relationships:
- dataset:
- data:
- id: products
- type: dataset
- labels:
- data:
- - id: product_id
- type: label
- type: attribute
- - attributes:
- title: Product name
- description: Product name
- tags:
- - Products
- areRelationsValid: true
- sourceColumn: product_name
- sourceColumnDataType: STRING
- id: product_name
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/product_name
- meta:
- origin:
- originId: demo
- originType: NATIVE
- relationships:
- dataset:
- data:
- id: products
- type: dataset
- labels:
- data:
- - id: product_name
- type: label
- type: attribute
- - attributes:
- title: Category
- description: Category
- tags:
- - Products
- areRelationsValid: true
- sourceColumn: category
- sourceColumnDataType: STRING
- id: products.category
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/products.category
- meta:
- origin:
- originId: demo
- originType: NATIVE
- relationships:
- dataset:
- data:
- id: products
- type: dataset
- labels:
- data:
- - id: products.category
- type: label
- type: attribute
- - attributes:
- title: Region
- description: Region
- tags:
- - Customers
- areRelationsValid: true
- sourceColumn: region
- sourceColumnDataType: STRING
- id: region
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/region
- meta:
- origin:
- originId: demo
- originType: NATIVE
- relationships:
- dataset:
- data:
- id: customers
- type: dataset
- labels:
- data:
- - id: region
- type: label
- type: attribute
- - attributes:
- title: State
- description: State
- tags:
- - Customers
- areRelationsValid: true
- sourceColumn: state
- sourceColumnDataType: STRING
- id: state
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/state
- meta:
- origin:
- originId: demo
- originType: NATIVE
- relationships:
- defaultView:
- data:
- id: state
- type: label
- dataset:
- data:
- id: customers
- type: dataset
- labels:
- data:
- - id: state
- type: label
- - id: geo__state__location
- type: label
- type: attribute
- - attributes:
- title: Type
- description: Type
- tags:
- - Campaign channels
- areRelationsValid: true
- sourceColumn: type
- sourceColumnDataType: STRING
- id: type
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/type
- meta:
- origin:
- originId: demo
- originType: NATIVE
- relationships:
- dataset:
- data:
- id: campaign_channels
- type: dataset
- labels:
- data:
- - id: type
- type: label
- type: attribute
- included:
- - attributes:
- title: Product name
- description: Product name
- tags:
- - Products
- primary: true
- sourceColumn: product_name
- sourceColumnDataType: STRING
- valueType: TEXT
- id: product_name
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/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
- sourceColumnDataType: STRING
- valueType: TEXT
- id: order_status
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/labels/order_status
- type: label
- - attributes:
- title: Order lines
- description: Order lines
- tags:
- - Order lines
- grain:
- - id: order_line_id
- type: attribute
- referenceProperties:
- - identifier:
- id: date
- type: dataset
- multivalue: false
- sources:
- - column: date
- dataType: DATE
- target:
- id: date
- type: date
- isNullable: null
- nullValue: null
- sourceColumns: null
- sourceColumnDataTypes: null
- - identifier:
- id: products
- type: dataset
- multivalue: false
- sources:
- - column: product_id
- dataType: INT
- target:
- id: product_id
- type: attribute
- isNullable: null
- nullValue: null
- sourceColumns: null
- sourceColumnDataTypes: null
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- dataType: INT
- target:
- id: campaign_id
- type: attribute
- isNullable: null
- nullValue: null
- sourceColumns: null
- sourceColumnDataTypes: null
- - identifier:
- id: customers
- type: dataset
- multivalue: false
- sources:
- - column: customer_id
- dataType: INT
- target:
- id: customer_id
- type: attribute
- isNullable: null
- nullValue: null
- sourceColumns: null
- sourceColumnDataTypes: null
- dataSourceTableId: demo-test-ds:order_lines
- dataSourceTablePath:
- - demo
- - order_lines
- workspaceDataFilterColumns:
- - name: wdf__region
- dataType: STRING
- - name: wdf__state
- dataType: STRING
- workspaceDataFilterReferences:
- - filterId:
- id: wdf__state
- type: workspaceDataFilter
- filterColumn: wdf__state
- filterColumnDataType: STRING
- - filterId:
- id: wdf__region
- type: workspaceDataFilter
- filterColumn: wdf__region
- filterColumnDataType: STRING
- type: NORMAL
- id: order_lines
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/datasets/order_lines
- type: dataset
- - attributes:
- title: Campaign name
- description: Campaign name
- tags:
- - Campaigns
- primary: true
- sourceColumn: campaign_name
- sourceColumnDataType: STRING
- valueType: TEXT
- id: campaign_name
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/labels/campaign_name
- type: label
- - 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
- sources:
- - column: campaign_id
- dataType: INT
- target:
- id: campaign_id
- type: attribute
- isNullable: null
- nullValue: null
- sourceColumns: null
- sourceColumnDataTypes: null
- dataSourceTableId: demo-test-ds:campaign_channels
- dataSourceTablePath:
- - demo
- - campaign_channels
- type: NORMAL
- id: campaign_channels
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/datasets/campaign_channels
- type: dataset
- - attributes:
- title: Date - Month/Year
- description: Month and Year (12/2020)
- tags:
- - Date
- primary: true
- sourceColumn: ''
- id: date.month
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/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: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/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
- sourceColumnDataType: STRING
- valueType: TEXT
- id: campaign_channel_id
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/labels/campaign_channel_id
- type: label
- - attributes:
- title: Date - Date
- description: Date
- tags:
- - Date
- primary: true
- sourceColumn: ''
- id: date.day
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/labels/date.day
- type: label
- - attributes:
- title: Campaigns
- description: Campaigns
- tags:
- - Campaigns
- grain:
- - id: campaign_id
- type: attribute
- dataSourceTableId: demo-test-ds:campaigns
- dataSourceTablePath:
- - demo
- - campaigns
- type: NORMAL
- id: campaigns
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/datasets/campaigns
- type: dataset
- - attributes:
- title: Order id
- description: Order id
- tags:
- - Order lines
- primary: true
- sourceColumn: order_id
- sourceColumnDataType: STRING
- valueType: TEXT
- id: order_id
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/labels/order_id
- type: label
- - attributes:
- title: Customer name
- description: Customer name
- tags:
- - Customers
- primary: true
- sourceColumn: customer_name
- sourceColumnDataType: STRING
- valueType: TEXT
- id: customer_name
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/labels/customer_name
- type: label
- - attributes:
- title: Type
- description: Type
- tags:
- - Campaign channels
- primary: true
- sourceColumn: type
- sourceColumnDataType: STRING
- valueType: TEXT
- id: type
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/labels/type
- type: label
- - attributes:
- title: Customers
- description: Customers
- tags:
- - Customers
- grain:
- - id: customer_id
- type: attribute
- dataSourceTableId: demo-test-ds:customers
- dataSourceTablePath:
- - demo
- - customers
- type: NORMAL
- id: customers
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/datasets/customers
- type: dataset
- - attributes:
- title: Region
- description: Region
- tags:
- - Customers
- primary: true
- sourceColumn: region
- sourceColumnDataType: STRING
- valueType: TEXT
- id: region
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/labels/region
- type: label
- - attributes:
- title: Category
- description: Category
- tags:
- - Products
- primary: true
- sourceColumn: category
- sourceColumnDataType: STRING
- valueType: TEXT
- id: products.category
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/labels/products.category
- type: label
- - attributes:
- title: Date - Week/Year
- description: Week and Year (W52/2020)
- tags:
- - Date
- primary: true
- sourceColumn: ''
- id: date.week
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/labels/date.week
- type: label
- - attributes:
- title: Location
- description: Location
- tags:
- - Customers
- primary: false
- sourceColumn: geo__state__location
- sourceColumnDataType: STRING
- valueType: GEO
- id: geo__state__location
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/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
- sourceColumnDataType: INT
- valueType: TEXT
- id: product_id
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/labels/product_id
- type: label
- - attributes:
- title: Order line id
- description: Order line id
- tags:
- - Order lines
- primary: true
- sourceColumn: order_line_id
- sourceColumnDataType: STRING
- valueType: TEXT
- id: order_line_id
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/labels/order_line_id
- type: label
- - attributes:
- title: Products
- description: Products
- tags:
- - Products
- grain:
- - id: product_id
- type: attribute
- dataSourceTableId: demo-test-ds:products
- dataSourceTablePath:
- - demo
- - products
- type: NORMAL
- id: products
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/datasets/products
- type: dataset
- - attributes:
- title: Date
- description: ''
- tags:
- - Date
- type: DATE
- id: date
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/datasets/date
- type: dataset
- - attributes:
- title: Category
- description: Category
- tags:
- - Campaign channels
- primary: true
- sourceColumn: category
- sourceColumnDataType: STRING
- valueType: TEXT
- id: campaign_channels.category
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/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
- sourceColumnDataType: INT
- valueType: TEXT
- id: customer_id
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/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: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/labels/date.year
- type: label
- - attributes:
- title: State
- description: State
- tags:
- - Customers
- primary: true
- sourceColumn: state
- sourceColumnDataType: STRING
- valueType: TEXT
- id: state
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/labels/state
- type: label
- - attributes:
- title: Campaign id
- description: Campaign id
- tags:
- - Campaigns
- primary: true
- sourceColumn: campaign_id
- sourceColumnDataType: INT
- valueType: TEXT
- id: campaign_id
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/labels/campaign_id
- type: label
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&page=0&size=500
- next: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&page=1&size=500
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts%2CaggregatedFacts&page=0&size=500
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- 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
- sources:
- - column: campaign_id
- dataType: INT
- target:
- id: campaign_id
- type: attribute
- isNullable: null
- nullValue: null
- sourceColumns: null
- sourceColumnDataTypes: null
- dataSourceTableId: demo-test-ds:campaign_channels
- dataSourceTablePath:
- - demo
- - campaign_channels
- areRelationsValid: true
- type: NORMAL
- id: campaign_channels
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/datasets/campaign_channels
- meta:
- origin:
- originId: demo
- originType: NATIVE
- relationships:
- attributes:
- data:
- - id: campaign_channel_id
- type: attribute
- - id: campaign_channels.category
- type: attribute
- - id: type
- type: attribute
- facts:
- data:
- - id: budget
- type: fact
- - id: spend
- type: fact
- type: dataset
- - attributes:
- title: Campaign channels per category
- description: Campaign channels per categories
- tags:
- - Campaign channels per category
- referenceProperties:
- - identifier:
- id: campaign_channels
- type: dataset
- multivalue: false
- sources:
- - column: campaign_channel_id
- dataType: STRING
- target:
- id: campaign_channel_id
- type: attribute
- isNullable: null
- nullValue: null
- sourceColumns: null
- sourceColumnDataTypes: null
- sql:
- statement: SELECT category, SUM(budget) FROM campaign_channels GROUP
- BY category
- dataSourceId: demo-test-ds
- precedence: 1
- areRelationsValid: true
- type: NORMAL
- id: campaign_channels_per_category
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/datasets/campaign_channels_per_category
- meta:
- origin:
- originId: demo
- originType: NATIVE
- relationships:
- aggregatedFacts:
- data:
- - id: budget_agg
- type: aggregatedFact
- type: dataset
- - attributes:
- title: Campaigns
- description: Campaigns
- tags:
- - Campaigns
- grain:
- - id: campaign_id
- type: attribute
- dataSourceTableId: demo-test-ds:campaigns
- dataSourceTablePath:
- - demo
- - campaigns
- areRelationsValid: true
- type: NORMAL
- id: campaigns
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/datasets/campaigns
- meta:
- origin:
- originId: demo
- originType: NATIVE
- relationships:
- attributes:
- data:
- - id: campaign_id
- type: attribute
- - id: campaign_name
- type: attribute
- type: dataset
- - attributes:
- title: Customers
- description: Customers
- tags:
- - Customers
- grain:
- - id: customer_id
- type: attribute
- dataSourceTableId: demo-test-ds:customers
- dataSourceTablePath:
- - demo
- - customers
- areRelationsValid: true
- type: NORMAL
- id: customers
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/datasets/customers
- meta:
- origin:
- originId: demo
- originType: NATIVE
- relationships:
- attributes:
- data:
- - id: customer_id
- type: attribute
- - id: customer_name
- type: attribute
- - id: region
- type: attribute
- - id: state
- type: attribute
- type: dataset
- - attributes:
- title: Date
- description: ''
- tags:
- - Date
- areRelationsValid: true
- type: DATE
- id: date
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/datasets/date
- meta:
- origin:
- originId: demo
- originType: NATIVE
- relationships:
- attributes:
- data:
- - id: date.day
- type: attribute
- - id: date.week
- type: attribute
- - id: date.month
- type: attribute
- - id: date.quarter
- type: attribute
- - id: date.year
- type: attribute
- type: dataset
- - attributes:
- title: Order lines
- description: Order lines
- tags:
- - Order lines
- grain:
- - id: order_line_id
- type: attribute
- referenceProperties:
- - identifier:
- id: date
- type: dataset
- multivalue: false
- sources:
- - column: date
- dataType: DATE
- target:
- id: date
- type: date
- isNullable: null
- nullValue: null
- sourceColumns: null
- sourceColumnDataTypes: null
- - identifier:
- id: products
- type: dataset
- multivalue: false
- sources:
- - column: product_id
- dataType: INT
- target:
- id: product_id
- type: attribute
- isNullable: null
- nullValue: null
- sourceColumns: null
- sourceColumnDataTypes: null
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- dataType: INT
- target:
- id: campaign_id
- type: attribute
- isNullable: null
- nullValue: null
- sourceColumns: null
- sourceColumnDataTypes: null
- - identifier:
- id: customers
- type: dataset
- multivalue: false
- sources:
- - column: customer_id
- dataType: INT
- target:
- id: customer_id
- type: attribute
- isNullable: null
- nullValue: null
- sourceColumns: null
- sourceColumnDataTypes: null
- dataSourceTableId: demo-test-ds:order_lines
- dataSourceTablePath:
- - demo
- - order_lines
- areRelationsValid: true
- workspaceDataFilterColumns:
- - name: wdf__region
- dataType: STRING
- - name: wdf__state
- dataType: STRING
- workspaceDataFilterReferences:
- - filterId:
- id: wdf__state
- type: workspaceDataFilter
- filterColumn: wdf__state
- filterColumnDataType: STRING
- - filterId:
- id: wdf__region
- type: workspaceDataFilter
- filterColumn: wdf__region
- filterColumnDataType: STRING
- type: NORMAL
- id: order_lines
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/datasets/order_lines
- meta:
- origin:
- originId: demo
- originType: NATIVE
- relationships:
- attributes:
- data:
- - id: order_id
- type: attribute
- - id: order_line_id
- type: attribute
- - id: order_status
- type: attribute
- facts:
- data:
- - id: price
- type: fact
- - id: quantity
- type: fact
- type: dataset
- - attributes:
- title: Products
- description: Products
- tags:
- - Products
- grain:
- - id: product_id
- type: attribute
- dataSourceTableId: demo-test-ds:products
- dataSourceTablePath:
- - demo
- - products
- areRelationsValid: true
- type: NORMAL
- id: products
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/datasets/products
- meta:
- origin:
- originId: demo
- originType: NATIVE
- relationships:
- attributes:
- data:
- - id: product_id
- type: attribute
- - id: product_name
- type: attribute
- - id: products.category
- type: attribute
- type: dataset
- included:
- - attributes:
- title: Product id
- description: Product id
- tags:
- - Products
- sourceColumn: product_id
- sourceColumnDataType: INT
- id: product_id
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/product_id
- type: attribute
- - attributes:
- title: Budget
- description: Budget
- tags:
- - Campaign channels
- sourceColumn: budget
- sourceColumnDataType: NUMERIC
- id: budget
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/facts/budget
- type: fact
- - attributes:
- title: Date - Year
- description: Year
- tags:
- - Date
- granularity: YEAR
- id: date.year
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/date.year
- type: attribute
- - attributes:
- title: Product name
- description: Product name
- tags:
- - Products
- sourceColumn: product_name
- sourceColumnDataType: STRING
- id: product_name
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/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: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/date.month
- type: attribute
- - attributes:
- title: Category
- description: Category
- tags:
- - Products
- sourceColumn: category
- sourceColumnDataType: STRING
- id: products.category
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/products.category
- type: attribute
- - attributes:
- title: Date - Quarter/Year
- description: Quarter and Year (Q1/2020)
- tags:
- - Date
- granularity: QUARTER
- id: date.quarter
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/date.quarter
- type: attribute
- - attributes:
- title: Category
- description: Category
- tags:
- - Campaign channels
- sourceColumn: category
- sourceColumnDataType: STRING
- id: campaign_channels.category
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/campaign_channels.category
- type: attribute
- - attributes:
- title: State
- description: State
- tags:
- - Customers
- sourceColumn: state
- sourceColumnDataType: STRING
- id: state
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/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: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/date.week
- type: attribute
- - attributes:
- title: Order id
- description: Order id
- tags:
- - Order lines
- sourceColumn: order_id
- sourceColumnDataType: STRING
- id: order_id
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/order_id
- type: attribute
- - attributes:
- title: Campaign name
- description: Campaign name
- tags:
- - Campaigns
- sourceColumn: campaign_name
- sourceColumnDataType: STRING
- id: campaign_name
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/campaign_name
- type: attribute
- - attributes:
- title: Price
- description: Price
- tags:
- - Order lines
- sourceColumn: price
- sourceColumnDataType: NUMERIC
- id: price
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/facts/price
- type: fact
- - attributes:
- description: Budget Agg
- tags:
- - Campaign channels per category
- sourceColumn: budget
- sourceColumnDataType: INT
- operation: SUM
- id: budget_agg
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/aggregatedFacts/budget_agg
- type: aggregatedFact
- - attributes:
- title: Date - Date
- description: Date
- tags:
- - Date
- granularity: DAY
- id: date.day
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/date.day
- type: attribute
- - attributes:
- title: Region
- description: Region
- tags:
- - Customers
- sourceColumn: region
- sourceColumnDataType: STRING
- id: region
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/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
- sourceColumnDataType: STRING
- id: campaign_channel_id
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/campaign_channel_id
- type: attribute
- - attributes:
- title: Customer id
- description: Customer id
- tags:
- - Customers
- sourceColumn: customer_id
- sourceColumnDataType: INT
- id: customer_id
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/customer_id
- type: attribute
- - attributes:
- title: Quantity
- description: Quantity
- tags:
- - Order lines
- sourceColumn: quantity
- sourceColumnDataType: NUMERIC
- id: quantity
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/facts/quantity
- type: fact
- - attributes:
- title: Campaign id
- description: Campaign id
- tags:
- - Campaigns
- sourceColumn: campaign_id
- sourceColumnDataType: INT
- id: campaign_id
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/campaign_id
- type: attribute
- - attributes:
- title: Type
- description: Type
- tags:
- - Campaign channels
- sourceColumn: type
- sourceColumnDataType: STRING
- id: type
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/type
- type: attribute
- - attributes:
- title: Spend
- description: Spend
- tags:
- - Campaign channels
- sourceColumn: spend
- sourceColumnDataType: NUMERIC
- id: spend
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/facts/spend
- type: fact
- - attributes:
- title: Order status
- description: Order status
- tags:
- - Order lines
- sourceColumn: order_status
- sourceColumnDataType: STRING
- id: order_status
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/order_status
- type: attribute
- - attributes:
- title: Customer name
- description: Customer name
- tags:
- - Customers
- sourceColumn: customer_name
- sourceColumnDataType: STRING
- id: customer_name
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/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
- sourceColumnDataType: STRING
- id: order_line_id
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/order_line_id
- type: attribute
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts%2CaggregatedFacts&page=0&size=500
- next: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts%2CaggregatedFacts&page=1&size=500
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics?page=0&size=500
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- - attributes:
- title: '# of Active Customers'
- areRelationsValid: true
- content:
- format: '#,##0'
- maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id})
- createdAt: 2026-03-25 09:17
- id: amount_of_active_customers
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/amount_of_active_customers
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: metric
- - attributes:
- title: '# of Orders'
- areRelationsValid: true
- content:
- format: '#,##0'
- maql: SELECT COUNT({attribute/order_id})
- createdAt: 2026-03-25 09:17
- id: amount_of_orders
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/amount_of_orders
- meta:
- origin:
- originId: demo
- originType: NATIVE
- 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 '
- createdAt: 2026-03-25 09:17
- id: amount_of_top_customers
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/amount_of_top_customers
- meta:
- origin:
- originId: demo
- originType: NATIVE
- 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"))
- createdAt: 2026-03-25 09:17
- id: amount_of_valid_orders
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/amount_of_valid_orders
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: metric
- - attributes:
- title: Campaign Spend
- areRelationsValid: true
- content:
- format: $#,##0
- maql: SELECT SUM({fact/spend})
- createdAt: 2026-03-25 09:17
- id: campaign_spend
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/campaign_spend
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: metric
- - attributes:
- title: Order Amount
- areRelationsValid: true
- content:
- format: $#,##0
- maql: SELECT SUM({fact/price}*{fact/quantity})
- createdAt: 2026-03-25 09:17
- id: order_amount
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/order_amount
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: metric
- - attributes:
- title: '% Revenue'
- areRelationsValid: true
- content:
- format: '#,##0.0%'
- maql: SELECT {metric/revenue} / {metric/total_revenue}
- createdAt: 2026-03-25 09:17
- id: percent_revenue
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/percent_revenue
- meta:
- origin:
- originId: demo
- originType: NATIVE
- 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}"
- createdAt: 2026-03-25 09:17
- id: percent_revenue_from_top_10_customers
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_customers
- meta:
- origin:
- originId: demo
- originType: NATIVE
- 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}"
- createdAt: 2026-03-25 09:17
- id: percent_revenue_from_top_10_percent_customers
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_customers
- meta:
- origin:
- originId: demo
- originType: NATIVE
- 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}"
- createdAt: 2026-03-25 09:17
- id: percent_revenue_from_top_10_percent_products
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_products
- meta:
- origin:
- originId: demo
- originType: NATIVE
- 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}"
- createdAt: 2026-03-25 09:17
- id: percent_revenue_from_top_10_products
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_products
- meta:
- origin:
- originId: demo
- originType: NATIVE
- 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)
- createdAt: 2026-03-25 09:17
- id: percent_revenue_in_category
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/percent_revenue_in_category
- meta:
- origin:
- originId: demo
- originType: NATIVE
- 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})
- createdAt: 2026-03-25 09:17
- id: percent_revenue_per_product
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/percent_revenue_per_product
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: metric
- - attributes:
- title: Revenue
- description: ''
- areRelationsValid: true
- content:
- format: $#,##0
- maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status}
- IN ("Returned", "Canceled"))
- createdAt: 2026-03-25 09:17
- id: revenue
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/revenue
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: metric
- - attributes:
- title: Revenue (Clothing)
- areRelationsValid: true
- content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE {label/products.category} IN
- ("Clothing")
- createdAt: 2026-03-25 09:17
- id: revenue-clothing
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/revenue-clothing
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: metric
- - attributes:
- title: Revenue (Electronic)
- areRelationsValid: true
- content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE {label/products.category} IN
- ( "Electronics")
- createdAt: 2026-03-25 09:17
- id: revenue-electronic
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/revenue-electronic
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: metric
- - attributes:
- title: Revenue (Home)
- areRelationsValid: true
- content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE {label/products.category} IN
- ("Home")
- createdAt: 2026-03-25 09:17
- id: revenue-home
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/revenue-home
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: metric
- - attributes:
- title: Revenue (Outdoor)
- areRelationsValid: true
- content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE {label/products.category} IN
- ("Outdoor")
- createdAt: 2026-03-25 09:17
- id: revenue-outdoor
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/revenue-outdoor
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: metric
- - attributes:
- title: Revenue per Customer
- areRelationsValid: true
- content:
- format: $#,##0.0
- maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id})
- createdAt: 2026-03-25 09:17
- id: revenue_per_customer
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/revenue_per_customer
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: metric
- - attributes:
- title: Revenue per Dollar Spent
- areRelationsValid: true
- content:
- format: $#,##0.0
- maql: SELECT {metric/revenue} / {metric/campaign_spend}
- createdAt: 2026-03-25 09:17
- id: revenue_per_dollar_spent
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/revenue_per_dollar_spent
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: metric
- - attributes:
- title: Revenue / Top 10
- areRelationsValid: true
- content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue})
- createdAt: 2026-03-25 09:17
- id: revenue_top_10
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/revenue_top_10
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: metric
- - attributes:
- title: Revenue / Top 10%
- areRelationsValid: true
- content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue})
- createdAt: 2026-03-25 09:17
- id: revenue_top_10_percent
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/revenue_top_10_percent
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: metric
- - attributes:
- title: Total Revenue
- areRelationsValid: true
- content:
- format: $#,##0
- maql: SELECT {metric/revenue} BY ALL OTHER
- createdAt: 2026-03-25 09:17
- id: total_revenue
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/total_revenue
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: metric
- - attributes:
- title: Total Revenue (No Filters)
- areRelationsValid: true
- content:
- format: $#,##0
- maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER
- createdAt: 2026-03-25 09:17
- id: total_revenue-no_filters
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/total_revenue-no_filters
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: metric
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics?page=0&size=500
- next: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics?page=1&size=500
- - request:
- method: POST
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/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
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- 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/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog_list_aggregated_facts.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog_list_aggregated_facts.yaml
deleted file mode 100644
index d9e5550b1..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog_list_aggregated_facts.yaml
+++ /dev/null
@@ -1,70 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/aggregatedFacts?page=0&size=500
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '705'
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- - attributes:
- description: Budget Agg
- tags:
- - Campaign channels per category
- sourceColumn: budget
- sourceColumnDataType: INT
- areRelationsValid: true
- operation: SUM
- id: budget_agg
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/aggregatedFacts/budget_agg
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: aggregatedFact
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/aggregatedFacts?page=0&size=500
- next: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/aggregatedFacts?page=1&size=500
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog_list_attributes.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog_list_attributes.yaml
deleted file mode 100644
index bb52f85f8..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog_list_attributes.yaml
+++ /dev/null
@@ -1,738 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- - attributes:
- title: Campaign channel id
- description: Campaign channel id
- tags:
- - Campaign channels
- areRelationsValid: true
- sourceColumn: campaign_channel_id
- sourceColumnDataType: STRING
- id: campaign_channel_id
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/campaign_channel_id
- meta:
- origin:
- originId: demo
- originType: NATIVE
- relationships:
- labels:
- data:
- - id: campaign_channel_id
- type: label
- type: attribute
- - attributes:
- title: Category
- description: Category
- tags:
- - Campaign channels
- areRelationsValid: true
- sourceColumn: category
- sourceColumnDataType: STRING
- id: campaign_channels.category
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/campaign_channels.category
- meta:
- origin:
- originId: demo
- originType: NATIVE
- relationships:
- labels:
- data:
- - id: campaign_channels.category
- type: label
- type: attribute
- - attributes:
- title: Campaign id
- description: Campaign id
- tags:
- - Campaigns
- areRelationsValid: true
- sourceColumn: campaign_id
- sourceColumnDataType: INT
- id: campaign_id
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/campaign_id
- meta:
- origin:
- originId: demo
- originType: NATIVE
- relationships:
- labels:
- data:
- - id: campaign_id
- type: label
- type: attribute
- - attributes:
- title: Campaign name
- description: Campaign name
- tags:
- - Campaigns
- areRelationsValid: true
- sourceColumn: campaign_name
- sourceColumnDataType: STRING
- id: campaign_name
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/campaign_name
- meta:
- origin:
- originId: demo
- originType: NATIVE
- relationships:
- labels:
- data:
- - id: campaign_name
- type: label
- type: attribute
- - attributes:
- title: Customer id
- description: Customer id
- tags:
- - Customers
- areRelationsValid: true
- sourceColumn: customer_id
- sourceColumnDataType: INT
- id: customer_id
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/customer_id
- meta:
- origin:
- originId: demo
- originType: NATIVE
- relationships:
- labels:
- data:
- - id: customer_id
- type: label
- type: attribute
- - attributes:
- title: Customer name
- description: Customer name
- tags:
- - Customers
- areRelationsValid: true
- sourceColumn: customer_name
- sourceColumnDataType: STRING
- id: customer_name
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/customer_name
- meta:
- origin:
- originId: demo
- originType: NATIVE
- relationships:
- labels:
- data:
- - id: customer_name
- type: label
- type: attribute
- - attributes:
- title: Date - Date
- description: Date
- tags:
- - Date
- granularity: DAY
- areRelationsValid: true
- id: date.day
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/date.day
- meta:
- origin:
- originId: demo
- originType: NATIVE
- relationships:
- labels:
- data:
- - id: date.day
- 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: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/date.month
- meta:
- origin:
- originId: demo
- originType: NATIVE
- 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: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/date.quarter
- meta:
- origin:
- originId: demo
- originType: NATIVE
- relationships:
- labels:
- data:
- - id: date.quarter
- 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: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/date.week
- meta:
- origin:
- originId: demo
- originType: NATIVE
- relationships:
- labels:
- data:
- - id: date.week
- type: label
- type: attribute
- - attributes:
- title: Date - Year
- description: Year
- tags:
- - Date
- granularity: YEAR
- areRelationsValid: true
- id: date.year
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/date.year
- meta:
- origin:
- originId: demo
- originType: NATIVE
- relationships:
- labels:
- data:
- - id: date.year
- type: label
- type: attribute
- - attributes:
- title: Order id
- description: Order id
- tags:
- - Order lines
- areRelationsValid: true
- sourceColumn: order_id
- sourceColumnDataType: STRING
- id: order_id
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/order_id
- meta:
- origin:
- originId: demo
- originType: NATIVE
- 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
- sourceColumnDataType: STRING
- id: order_line_id
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/order_line_id
- meta:
- origin:
- originId: demo
- originType: NATIVE
- 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
- sourceColumnDataType: STRING
- id: order_status
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/order_status
- meta:
- origin:
- originId: demo
- originType: NATIVE
- relationships:
- labels:
- data:
- - id: order_status
- type: label
- type: attribute
- - attributes:
- title: Product id
- description: Product id
- tags:
- - Products
- areRelationsValid: true
- sourceColumn: product_id
- sourceColumnDataType: INT
- id: product_id
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/product_id
- meta:
- origin:
- originId: demo
- originType: NATIVE
- relationships:
- labels:
- data:
- - id: product_id
- type: label
- type: attribute
- - attributes:
- title: Product name
- description: Product name
- tags:
- - Products
- areRelationsValid: true
- sourceColumn: product_name
- sourceColumnDataType: STRING
- id: product_name
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/product_name
- meta:
- origin:
- originId: demo
- originType: NATIVE
- relationships:
- labels:
- data:
- - id: product_name
- type: label
- type: attribute
- - attributes:
- title: Category
- description: Category
- tags:
- - Products
- areRelationsValid: true
- sourceColumn: category
- sourceColumnDataType: STRING
- id: products.category
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/products.category
- meta:
- origin:
- originId: demo
- originType: NATIVE
- relationships:
- labels:
- data:
- - id: products.category
- type: label
- type: attribute
- - attributes:
- title: Region
- description: Region
- tags:
- - Customers
- areRelationsValid: true
- sourceColumn: region
- sourceColumnDataType: STRING
- id: region
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/region
- meta:
- origin:
- originId: demo
- originType: NATIVE
- relationships:
- labels:
- data:
- - id: region
- type: label
- type: attribute
- - attributes:
- title: State
- description: State
- tags:
- - Customers
- areRelationsValid: true
- sourceColumn: state
- sourceColumnDataType: STRING
- id: state
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/state
- meta:
- origin:
- originId: demo
- originType: NATIVE
- relationships:
- labels:
- data:
- - id: state
- type: label
- - id: geo__state__location
- type: label
- type: attribute
- - attributes:
- title: Type
- description: Type
- tags:
- - Campaign channels
- areRelationsValid: true
- sourceColumn: type
- sourceColumnDataType: STRING
- id: type
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/type
- meta:
- origin:
- originId: demo
- originType: NATIVE
- relationships:
- labels:
- data:
- - id: type
- type: label
- type: attribute
- included:
- - attributes:
- title: Product name
- description: Product name
- tags:
- - Products
- primary: true
- sourceColumn: product_name
- sourceColumnDataType: STRING
- valueType: TEXT
- id: product_name
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/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
- sourceColumnDataType: STRING
- valueType: TEXT
- id: order_status
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/labels/order_status
- type: label
- - attributes:
- title: Campaign name
- description: Campaign name
- tags:
- - Campaigns
- primary: true
- sourceColumn: campaign_name
- sourceColumnDataType: STRING
- valueType: TEXT
- id: campaign_name
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/labels/campaign_name
- type: label
- - attributes:
- title: Date - Week/Year
- description: Week and Year (W52/2020)
- tags:
- - Date
- primary: true
- sourceColumn: ''
- id: date.week
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/labels/date.week
- type: label
- - attributes:
- title: Location
- description: Location
- tags:
- - Customers
- primary: false
- sourceColumn: geo__state__location
- sourceColumnDataType: STRING
- valueType: GEO
- id: geo__state__location
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/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
- sourceColumnDataType: INT
- valueType: TEXT
- id: product_id
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/labels/product_id
- type: label
- - attributes:
- title: Order line id
- description: Order line id
- tags:
- - Order lines
- primary: true
- sourceColumn: order_line_id
- sourceColumnDataType: STRING
- valueType: TEXT
- id: order_line_id
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/labels/order_line_id
- type: label
- - attributes:
- title: Date - Month/Year
- description: Month and Year (12/2020)
- tags:
- - Date
- primary: true
- sourceColumn: ''
- id: date.month
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/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: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/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
- sourceColumnDataType: STRING
- valueType: TEXT
- id: campaign_channel_id
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/labels/campaign_channel_id
- type: label
- - attributes:
- title: Date - Date
- description: Date
- tags:
- - Date
- primary: true
- sourceColumn: ''
- id: date.day
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/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
- sourceColumnDataType: STRING
- valueType: TEXT
- id: order_id
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/labels/order_id
- type: label
- - attributes:
- title: Category
- description: Category
- tags:
- - Campaign channels
- primary: true
- sourceColumn: category
- sourceColumnDataType: STRING
- valueType: TEXT
- id: campaign_channels.category
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/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
- sourceColumnDataType: STRING
- valueType: TEXT
- id: customer_name
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/labels/customer_name
- type: label
- - attributes:
- title: Type
- description: Type
- tags:
- - Campaign channels
- primary: true
- sourceColumn: type
- sourceColumnDataType: STRING
- valueType: TEXT
- id: type
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/labels/type
- type: label
- - attributes:
- title: Region
- description: Region
- tags:
- - Customers
- primary: true
- sourceColumn: region
- sourceColumnDataType: STRING
- valueType: TEXT
- id: region
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/labels/region
- type: label
- - attributes:
- title: Customer id
- description: Customer id
- tags:
- - Customers
- primary: true
- sourceColumn: customer_id
- sourceColumnDataType: INT
- valueType: TEXT
- id: customer_id
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/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: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/labels/date.year
- type: label
- - attributes:
- title: State
- description: State
- tags:
- - Customers
- primary: true
- sourceColumn: state
- sourceColumnDataType: STRING
- valueType: TEXT
- id: state
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/labels/state
- type: label
- - attributes:
- title: Category
- description: Category
- tags:
- - Products
- primary: true
- sourceColumn: category
- sourceColumnDataType: STRING
- valueType: TEXT
- id: products.category
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/labels/products.category
- type: label
- - attributes:
- title: Campaign id
- description: Campaign id
- tags:
- - Campaigns
- primary: true
- sourceColumn: campaign_id
- sourceColumnDataType: INT
- valueType: TEXT
- id: campaign_id
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/labels/campaign_id
- type: label
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500
- next: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes?include=labels&page=1&size=500
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog_list_facts.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog_list_facts.yaml
deleted file mode 100644
index a4afed4e3..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog_list_facts.yaml
+++ /dev/null
@@ -1,121 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/facts?page=0&size=500
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- - attributes:
- title: Budget
- description: Budget
- tags:
- - Campaign channels
- sourceColumn: budget
- sourceColumnDataType: NUMERIC
- areRelationsValid: true
- id: budget
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/facts/budget
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: fact
- - attributes:
- title: Price
- description: Price
- tags:
- - Order lines
- sourceColumn: price
- sourceColumnDataType: NUMERIC
- areRelationsValid: true
- id: price
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/facts/price
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: fact
- - attributes:
- title: Quantity
- description: Quantity
- tags:
- - Order lines
- sourceColumn: quantity
- sourceColumnDataType: NUMERIC
- areRelationsValid: true
- id: quantity
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/facts/quantity
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: fact
- - attributes:
- title: Spend
- description: Spend
- tags:
- - Campaign channels
- sourceColumn: spend
- sourceColumnDataType: NUMERIC
- areRelationsValid: true
- id: spend
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/facts/spend
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: fact
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/facts?page=0&size=500
- next: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/facts?page=1&size=500
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog_list_labels.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog_list_labels.yaml
deleted file mode 100644
index 8f09bf9e9..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog_list_labels.yaml
+++ /dev/null
@@ -1,425 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/labels?page=0&size=500
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- - attributes:
- title: Campaign channel id
- description: Campaign channel id
- tags:
- - Campaign channels
- primary: true
- sourceColumn: campaign_channel_id
- sourceColumnDataType: STRING
- valueType: TEXT
- areRelationsValid: true
- id: campaign_channel_id
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/labels/campaign_channel_id
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: label
- - attributes:
- title: Category
- description: Category
- tags:
- - Campaign channels
- primary: true
- sourceColumn: category
- sourceColumnDataType: STRING
- valueType: TEXT
- areRelationsValid: true
- id: campaign_channels.category
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/labels/campaign_channels.category
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: label
- - attributes:
- title: Campaign id
- description: Campaign id
- tags:
- - Campaigns
- primary: true
- sourceColumn: campaign_id
- sourceColumnDataType: INT
- valueType: TEXT
- areRelationsValid: true
- id: campaign_id
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/labels/campaign_id
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: label
- - attributes:
- title: Campaign name
- description: Campaign name
- tags:
- - Campaigns
- primary: true
- sourceColumn: campaign_name
- sourceColumnDataType: STRING
- valueType: TEXT
- areRelationsValid: true
- id: campaign_name
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/labels/campaign_name
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: label
- - attributes:
- title: Customer id
- description: Customer id
- tags:
- - Customers
- primary: true
- sourceColumn: customer_id
- sourceColumnDataType: INT
- valueType: TEXT
- areRelationsValid: true
- id: customer_id
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/labels/customer_id
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: label
- - attributes:
- title: Customer name
- description: Customer name
- tags:
- - Customers
- primary: true
- sourceColumn: customer_name
- sourceColumnDataType: STRING
- valueType: TEXT
- areRelationsValid: true
- id: customer_name
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/labels/customer_name
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: label
- - attributes:
- title: Date - Date
- description: Date
- tags:
- - Date
- primary: true
- sourceColumn: ''
- areRelationsValid: true
- id: date.day
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/labels/date.day
- meta:
- origin:
- originId: demo
- originType: NATIVE
- 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: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/labels/date.month
- meta:
- origin:
- originId: demo
- originType: NATIVE
- 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: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/labels/date.quarter
- meta:
- origin:
- originId: demo
- originType: NATIVE
- 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: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/labels/date.week
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: label
- - attributes:
- title: Date - Year
- description: Year
- tags:
- - Date
- primary: true
- sourceColumn: ''
- areRelationsValid: true
- id: date.year
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/labels/date.year
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: label
- - attributes:
- title: Location
- description: Location
- tags:
- - Customers
- primary: false
- sourceColumn: geo__state__location
- sourceColumnDataType: STRING
- valueType: GEO
- areRelationsValid: true
- id: geo__state__location
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/labels/geo__state__location
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: label
- - attributes:
- title: Order id
- description: Order id
- tags:
- - Order lines
- primary: true
- sourceColumn: order_id
- sourceColumnDataType: STRING
- valueType: TEXT
- areRelationsValid: true
- id: order_id
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/labels/order_id
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: label
- - attributes:
- title: Order line id
- description: Order line id
- tags:
- - Order lines
- primary: true
- sourceColumn: order_line_id
- sourceColumnDataType: STRING
- valueType: TEXT
- areRelationsValid: true
- id: order_line_id
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/labels/order_line_id
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: label
- - attributes:
- title: Order status
- description: Order status
- tags:
- - Order lines
- primary: true
- sourceColumn: order_status
- sourceColumnDataType: STRING
- valueType: TEXT
- areRelationsValid: true
- id: order_status
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/labels/order_status
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: label
- - attributes:
- title: Product id
- description: Product id
- tags:
- - Products
- primary: true
- sourceColumn: product_id
- sourceColumnDataType: INT
- valueType: TEXT
- areRelationsValid: true
- id: product_id
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/labels/product_id
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: label
- - attributes:
- title: Product name
- description: Product name
- tags:
- - Products
- primary: true
- sourceColumn: product_name
- sourceColumnDataType: STRING
- valueType: TEXT
- areRelationsValid: true
- id: product_name
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/labels/product_name
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: label
- - attributes:
- title: Category
- description: Category
- tags:
- - Products
- primary: true
- sourceColumn: category
- sourceColumnDataType: STRING
- valueType: TEXT
- areRelationsValid: true
- id: products.category
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/labels/products.category
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: label
- - attributes:
- title: Region
- description: Region
- tags:
- - Customers
- primary: true
- sourceColumn: region
- sourceColumnDataType: STRING
- valueType: TEXT
- areRelationsValid: true
- id: region
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/labels/region
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: label
- - attributes:
- title: State
- description: State
- tags:
- - Customers
- primary: true
- sourceColumn: state
- sourceColumnDataType: STRING
- valueType: TEXT
- areRelationsValid: true
- id: state
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/labels/state
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: label
- - attributes:
- title: Type
- description: Type
- tags:
- - Campaign channels
- primary: true
- sourceColumn: type
- sourceColumnDataType: STRING
- valueType: TEXT
- areRelationsValid: true
- id: type
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/labels/type
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: label
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/labels?page=0&size=500
- next: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/labels?page=1&size=500
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog_list_metrics.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog_list_metrics.yaml
deleted file mode 100644
index ae0394f4e..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog_list_metrics.yaml
+++ /dev/null
@@ -1,432 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics?page=0&size=500
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- - attributes:
- title: '# of Active Customers'
- areRelationsValid: true
- content:
- format: '#,##0'
- maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id})
- createdAt: 2026-03-25 09:17
- id: amount_of_active_customers
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/amount_of_active_customers
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: metric
- - attributes:
- title: '# of Orders'
- areRelationsValid: true
- content:
- format: '#,##0'
- maql: SELECT COUNT({attribute/order_id})
- createdAt: 2026-03-25 09:17
- id: amount_of_orders
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/amount_of_orders
- meta:
- origin:
- originId: demo
- originType: NATIVE
- 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 '
- createdAt: 2026-03-25 09:17
- id: amount_of_top_customers
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/amount_of_top_customers
- meta:
- origin:
- originId: demo
- originType: NATIVE
- 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"))
- createdAt: 2026-03-25 09:17
- id: amount_of_valid_orders
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/amount_of_valid_orders
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: metric
- - attributes:
- title: Campaign Spend
- areRelationsValid: true
- content:
- format: $#,##0
- maql: SELECT SUM({fact/spend})
- createdAt: 2026-03-25 09:17
- id: campaign_spend
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/campaign_spend
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: metric
- - attributes:
- title: Order Amount
- areRelationsValid: true
- content:
- format: $#,##0
- maql: SELECT SUM({fact/price}*{fact/quantity})
- createdAt: 2026-03-25 09:17
- id: order_amount
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/order_amount
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: metric
- - attributes:
- title: '% Revenue'
- areRelationsValid: true
- content:
- format: '#,##0.0%'
- maql: SELECT {metric/revenue} / {metric/total_revenue}
- createdAt: 2026-03-25 09:17
- id: percent_revenue
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/percent_revenue
- meta:
- origin:
- originId: demo
- originType: NATIVE
- 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}"
- createdAt: 2026-03-25 09:17
- id: percent_revenue_from_top_10_customers
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_customers
- meta:
- origin:
- originId: demo
- originType: NATIVE
- 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}"
- createdAt: 2026-03-25 09:17
- id: percent_revenue_from_top_10_percent_customers
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_customers
- meta:
- origin:
- originId: demo
- originType: NATIVE
- 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}"
- createdAt: 2026-03-25 09:17
- id: percent_revenue_from_top_10_percent_products
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_products
- meta:
- origin:
- originId: demo
- originType: NATIVE
- 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}"
- createdAt: 2026-03-25 09:17
- id: percent_revenue_from_top_10_products
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_products
- meta:
- origin:
- originId: demo
- originType: NATIVE
- 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)
- createdAt: 2026-03-25 09:17
- id: percent_revenue_in_category
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/percent_revenue_in_category
- meta:
- origin:
- originId: demo
- originType: NATIVE
- 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})
- createdAt: 2026-03-25 09:17
- id: percent_revenue_per_product
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/percent_revenue_per_product
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: metric
- - attributes:
- title: Revenue
- description: ''
- areRelationsValid: true
- content:
- format: $#,##0
- maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status}
- IN ("Returned", "Canceled"))
- createdAt: 2026-03-25 09:17
- id: revenue
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/revenue
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: metric
- - attributes:
- title: Revenue (Clothing)
- areRelationsValid: true
- content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE {label/products.category} IN
- ("Clothing")
- createdAt: 2026-03-25 09:17
- id: revenue-clothing
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/revenue-clothing
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: metric
- - attributes:
- title: Revenue (Electronic)
- areRelationsValid: true
- content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE {label/products.category} IN
- ( "Electronics")
- createdAt: 2026-03-25 09:17
- id: revenue-electronic
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/revenue-electronic
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: metric
- - attributes:
- title: Revenue (Home)
- areRelationsValid: true
- content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE {label/products.category} IN
- ("Home")
- createdAt: 2026-03-25 09:17
- id: revenue-home
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/revenue-home
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: metric
- - attributes:
- title: Revenue (Outdoor)
- areRelationsValid: true
- content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE {label/products.category} IN
- ("Outdoor")
- createdAt: 2026-03-25 09:17
- id: revenue-outdoor
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/revenue-outdoor
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: metric
- - attributes:
- title: Revenue per Customer
- areRelationsValid: true
- content:
- format: $#,##0.0
- maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id})
- createdAt: 2026-03-25 09:17
- id: revenue_per_customer
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/revenue_per_customer
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: metric
- - attributes:
- title: Revenue per Dollar Spent
- areRelationsValid: true
- content:
- format: $#,##0.0
- maql: SELECT {metric/revenue} / {metric/campaign_spend}
- createdAt: 2026-03-25 09:17
- id: revenue_per_dollar_spent
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/revenue_per_dollar_spent
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: metric
- - attributes:
- title: Revenue / Top 10
- areRelationsValid: true
- content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue})
- createdAt: 2026-03-25 09:17
- id: revenue_top_10
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/revenue_top_10
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: metric
- - attributes:
- title: Revenue / Top 10%
- areRelationsValid: true
- content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue})
- createdAt: 2026-03-25 09:17
- id: revenue_top_10_percent
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/revenue_top_10_percent
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: metric
- - attributes:
- title: Total Revenue
- areRelationsValid: true
- content:
- format: $#,##0
- maql: SELECT {metric/revenue} BY ALL OTHER
- createdAt: 2026-03-25 09:17
- id: total_revenue
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/total_revenue
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: metric
- - attributes:
- title: Total Revenue (No Filters)
- areRelationsValid: true
- content:
- format: $#,##0
- maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER
- createdAt: 2026-03-25 09:17
- id: total_revenue-no_filters
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/total_revenue-no_filters
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: metric
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics?page=0&size=500
- next: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics?page=1&size=500
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_get_declarative_analytics_model.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_get_declarative_analytics_model.yaml
deleted file mode 100644
index 3ee85f6b9..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_get_declarative_analytics_model.yaml
+++ /dev/null
@@ -1,1374 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces/demo/analyticsModel?exclude=ACTIVITY_INFO
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- analytics:
- analyticalDashboardExtensions: []
- analyticalDashboards:
- - content:
- filterContextRef:
- identifier:
- id: campaign_name_filter
- type: filterContext
- layout:
- type: IDashboardLayout
- sections:
- - type: IDashboardLayoutSection
- header:
- title: Spend breakdown and Revenue
- description: The first insight shows a breakdown of spend
- by category and campaign. The second shows revenue per
- $ spend, for each campaign, to demonstrate, how campaigns
- are successful.
- 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
- permissions:
- - assigneeRule:
- type: allWorkspaceUsers
- name: VIEW
- 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
- attributeHierarchies: []
- 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
- exportDefinitions: []
- 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
- memoryItems: []
- 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/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_get_declarative_analytics_model_child.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_get_declarative_analytics_model_child.yaml
deleted file mode 100644
index c8eb5ab6c..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_get_declarative_analytics_model_child.yaml
+++ /dev/null
@@ -1,65 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces/demo_west/analyticsModel?exclude=ACTIVITY_INFO
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '316'
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- analytics:
- analyticalDashboardExtensions:
- - id: campaign
- permissions:
- - assigneeRule:
- type: allWorkspaceUsers
- name: VIEW
- analyticalDashboards: []
- attributeHierarchies: []
- dashboardPlugins: []
- exportDefinitions: []
- filterContexts: []
- memoryItems: []
- metrics: []
- visualizationObjects: []
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_get_declarative_ldm.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_get_declarative_ldm.yaml
deleted file mode 100644
index 0232a06d7..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_get_declarative_ldm.yaml
+++ /dev/null
@@ -1,418 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces/demo/logicalModel
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- ldm:
- datasets:
- - aggregatedFacts: []
- attributes:
- - description: Campaign channel id
- id: campaign_channel_id
- labels: []
- sourceColumn: campaign_channel_id
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Campaign channel id
- - description: Category
- id: campaign_channels.category
- labels: []
- sourceColumn: category
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Category
- - description: Type
- id: type
- labels: []
- sourceColumn: type
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Type
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaign_channels
- path:
- - demo
- - campaign_channels
- type: dataSource
- description: Campaign channels
- facts:
- - description: Budget
- id: budget
- sourceColumn: budget
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- title: Budget
- - description: Spend
- id: spend
- sourceColumn: spend
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- title: Spend
- grain:
- - id: campaign_channel_id
- type: attribute
- id: campaign_channels
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- dataType: INT
- target:
- id: campaign_id
- type: attribute
- tags:
- - Campaign channels
- title: Campaign channels
- - aggregatedFacts:
- - description: Budget Agg
- id: budget_agg
- sourceColumn: budget
- sourceColumnDataType: INT
- sourceFactReference:
- operation: SUM
- reference:
- id: budget
- type: fact
- tags:
- - Campaign channels per category
- attributes: []
- description: Campaign channels per categories
- facts: []
- grain: []
- id: campaign_channels_per_category
- precedence: 1
- references:
- - identifier:
- id: campaign_channels
- type: dataset
- multivalue: false
- sources:
- - column: campaign_channel_id
- dataType: STRING
- target:
- id: campaign_channel_id
- type: attribute
- sql:
- dataSourceId: demo-test-ds
- statement: SELECT category, SUM(budget) FROM campaign_channels GROUP
- BY category
- tags:
- - Campaign channels per category
- title: Campaign channels per category
- - aggregatedFacts: []
- attributes:
- - description: Campaign id
- id: campaign_id
- labels: []
- sourceColumn: campaign_id
- sourceColumnDataType: INT
- tags:
- - Campaigns
- title: Campaign id
- - description: Campaign name
- id: campaign_name
- labels: []
- sourceColumn: campaign_name
- sourceColumnDataType: STRING
- tags:
- - Campaigns
- title: Campaign name
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaigns
- path:
- - demo
- - campaigns
- type: dataSource
- description: Campaigns
- facts: []
- grain:
- - id: campaign_id
- type: attribute
- id: campaigns
- references: []
- tags:
- - Campaigns
- title: Campaigns
- - aggregatedFacts: []
- attributes:
- - description: Customer id
- id: customer_id
- labels: []
- sourceColumn: customer_id
- sourceColumnDataType: INT
- tags:
- - Customers
- title: Customer id
- - description: Customer name
- id: customer_name
- labels: []
- sourceColumn: customer_name
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Customer name
- - description: Region
- id: region
- labels: []
- sourceColumn: region
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Region
- - description: State
- id: state
- labels:
- - description: Location
- id: geo__state__location
- sourceColumn: geo__state__location
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Location
- valueType: GEO
- sourceColumn: state
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: State
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: customers
- path:
- - demo
- - customers
- type: dataSource
- description: Customers
- facts: []
- grain:
- - id: customer_id
- type: attribute
- id: customers
- references: []
- tags:
- - Customers
- title: Customers
- - aggregatedFacts: []
- attributes:
- - description: Order id
- id: order_id
- labels: []
- sourceColumn: order_id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order id
- - description: Order line id
- id: order_line_id
- labels: []
- sourceColumn: order_line_id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order line id
- - description: Order status
- id: order_status
- labels: []
- sourceColumn: order_status
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order status
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: order_lines
- path:
- - demo
- - order_lines
- type: dataSource
- description: Order lines
- facts:
- - description: Price
- id: price
- sourceColumn: price
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- title: Price
- - description: Quantity
- id: quantity
- sourceColumn: quantity
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- title: Quantity
- grain:
- - id: order_line_id
- type: attribute
- id: order_lines
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- dataType: INT
- target:
- id: campaign_id
- type: attribute
- - identifier:
- id: customers
- type: dataset
- multivalue: false
- sources:
- - column: customer_id
- dataType: INT
- target:
- id: customer_id
- type: attribute
- - identifier:
- id: date
- type: dataset
- multivalue: false
- sources:
- - column: date
- dataType: DATE
- target:
- id: date
- type: date
- - identifier:
- id: products
- type: dataset
- multivalue: false
- sources:
- - column: product_id
- dataType: INT
- target:
- id: product_id
- type: attribute
- tags:
- - Order lines
- title: Order lines
- workspaceDataFilterColumns:
- - dataType: STRING
- name: wdf__region
- - dataType: STRING
- name: wdf__state
- workspaceDataFilterReferences:
- - filterColumn: wdf__region
- filterColumnDataType: STRING
- filterId:
- id: wdf__region
- type: workspaceDataFilter
- - aggregatedFacts: []
- attributes:
- - description: Product id
- id: product_id
- labels: []
- sourceColumn: product_id
- sourceColumnDataType: INT
- tags:
- - Products
- title: Product id
- - description: Product name
- id: product_name
- labels: []
- sourceColumn: product_name
- sourceColumnDataType: STRING
- tags:
- - Products
- title: Product name
- - description: Category
- id: products.category
- labels: []
- sourceColumn: category
- sourceColumnDataType: STRING
- tags:
- - Products
- title: Category
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: products
- path:
- - demo
- - products
- type: dataSource
- description: Products
- facts: []
- grain:
- - id: product_id
- type: attribute
- id: products
- references: []
- tags:
- - Products
- title: Products
- dateInstances:
- - description: ''
- granularities:
- - DAY
- - WEEK
- - MONTH
- - QUARTER
- - YEAR
- granularitiesFormatting:
- titleBase: ''
- titlePattern: '%titleBase - %granularityTitle'
- id: date
- tags:
- - Date
- title: Date
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_get_dependent_entities_graph.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_get_dependent_entities_graph.yaml
deleted file mode 100644
index 1a546fa32..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_get_dependent_entities_graph.yaml
+++ /dev/null
@@ -1,1038 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/actions/workspaces/demo/dependentEntitiesGraph
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- 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: revenue_per_customer
- type: metric
- - - id: customer_id
- type: attribute
- - id: amount_of_active_customers
- type: metric
- - - id: customer_id
- type: attribute
- - id: percent_revenue_from_top_10_percent_customers
- type: metric
- - - id: customer_id
- type: attribute
- - id: customers
- type: dataset
- - - id: customer_id
- type: attribute
- - id: amount_of_top_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.month
- type: attribute
- - id: date
- type: dataset
- - - id: date.quarter
- type: attribute
- - id: date
- type: dataset
- - - id: date.week
- 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: 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: products
- 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_from_top_10_products
- type: metric
- - - id: product_id
- type: attribute
- - id: percent_revenue_per_product
- 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: campaign_channels
- type: dataset
- - id: campaign_channels_per_category
- type: dataset
- - - 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: percentage_of_customers_by_region
- type: visualizationObject
- - - 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_trend
- type: visualizationObject
- - - id: date
- type: dataset
- - id: product_and_category
- type: analyticalDashboard
- - - id: date
- type: dataset
- - id: customers_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_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_spend
- type: metric
- - - id: spend
- type: fact
- - id: campaign_channels
- type: dataset
- - - 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: 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_name
- type: attribute
- - - 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.month
- type: label
- - id: revenue_by_category_trend
- type: visualizationObject
- - - id: date.month
- type: label
- - id: date.month
- type: attribute
- - - id: date.month
- type: label
- - id: revenue_trend
- type: visualizationObject
- - - id: date.month
- type: label
- - id: customers_trend
- type: visualizationObject
- - - id: date.month
- type: label
- - id: percentage_of_customers_by_region
- type: visualizationObject
- - - id: date.quarter
- type: label
- - id: date.quarter
- type: attribute
- - - id: date.week
- type: label
- - id: date.week
- 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: order_status
- type: attribute
- - - id: order_status
- type: label
- - id: revenue
- type: metric
- - - 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: product_breakdown
- 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: product_saleability
- type: visualizationObject
- - - id: product_name
- type: label
- - id: product_revenue_comparison-over_previous_period
- type: visualizationObject
- - - id: product_name
- type: label
- - id: revenue_and_quantity_by_product_and_category
- 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: top_10_products
- type: visualizationObject
- - - id: products.category
- type: label
- - id: product_breakdown
- type: visualizationObject
- - - id: products.category
- type: label
- - id: revenue-clothing
- type: metric
- - - id: products.category
- type: label
- - id: revenue_by_category_trend
- type: visualizationObject
- - - id: products.category
- type: label
- - id: revenue-electronic
- type: metric
- - - id: products.category
- type: label
- - id: products.category
- type: attribute
- - - id: products.category
- type: label
- - id: percent_revenue_per_product_by_customer_and_category
- type: visualizationObject
- - - id: products.category
- type: label
- - id: revenue-home
- type: metric
- - - id: products.category
- type: label
- - id: revenue-outdoor
- type: metric
- - - id: products.category
- 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: top_10_products
- type: visualizationObject
- - - id: region
- type: label
- - id: region
- type: attribute
- - - id: region
- type: label
- - id: percentage_of_customers_by_region
- type: visualizationObject
- - - 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: 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: revenue_per_usd_vs_spend_by_campaign
- type: visualizationObject
- - - id: campaign_spend
- type: metric
- - id: revenue_per_dollar_spent
- type: metric
- - - id: campaign_spend
- type: metric
- - id: campaign_spend
- 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: revenue-clothing
- type: metric
- - - id: revenue
- type: metric
- - id: revenue_top_10
- type: metric
- - - id: revenue
- type: metric
- - id: percent_revenue_per_product_by_customer_and_category
- type: visualizationObject
- - - id: revenue
- type: metric
- - id: percent_revenue_in_category
- 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: product_saleability
- type: visualizationObject
- - - id: revenue
- type: metric
- - id: revenue-outdoor
- type: metric
- - - id: revenue
- type: metric
- - id: revenue_per_customer
- type: metric
- - - id: revenue
- type: metric
- - id: revenue_per_dollar_spent
- type: metric
- - - id: revenue
- type: metric
- - id: revenue_trend
- type: visualizationObject
- - - id: revenue
- type: metric
- - id: percent_revenue
- type: metric
- - - id: revenue
- type: metric
- - id: revenue_by_product
- type: visualizationObject
- - - id: revenue
- type: metric
- - id: percent_revenue_from_top_10_customers
- type: metric
- - - 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: total_revenue
- type: metric
- - - id: revenue
- type: metric
- - id: product_breakdown
- type: visualizationObject
- - - id: revenue
- type: metric
- - id: revenue_by_category_trend
- type: visualizationObject
- - - id: revenue
- type: metric
- - id: revenue-electronic
- type: metric
- - - id: revenue
- type: metric
- - id: percent_revenue_from_top_10_percent_customers
- type: metric
- - - id: revenue
- type: metric
- - id: percent_revenue_from_top_10_products
- type: metric
- - - 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: revenue_and_quantity_by_product_and_category
- type: visualizationObject
- - - id: revenue
- type: metric
- - id: amount_of_top_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: percent_revenue_from_top_10_customers
- type: metric
- - - 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_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
- - - 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
- 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.month
- title: Date - Month/Year
- type: attribute
- - id: date.quarter
- title: Date - Quarter/Year
- type: attribute
- - id: date.week
- title: Date - Week/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: campaign_channels_per_category
- title: Campaign channels per category
- 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_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.month
- title: Date - Month/Year
- type: label
- - id: date.quarter
- title: Date - Quarter/Year
- type: label
- - id: date.week
- title: Date - Week/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
- - id: campaign_name_filter
- title: filterContext
- type: filterContext
- - id: region_filter
- title: filterContext
- type: filterContext
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_get_dependent_entities_graph_from_entry_points.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_get_dependent_entities_graph_from_entry_points.yaml
deleted file mode 100644
index 6dcf93052..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_get_dependent_entities_graph_from_entry_points.yaml
+++ /dev/null
@@ -1,75 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: POST
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/actions/workspaces/demo/dependentEntitiesGraph
- body:
- identifiers:
- - id: campaign_channel_id
- type: attribute
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '476'
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- graph:
- edges:
- - - id: campaign_channel_id
- type: attribute
- - id: campaign_channels
- type: dataset
- - - id: campaign_channels
- type: dataset
- - id: campaign_channels_per_category
- type: dataset
- nodes:
- - id: campaign_channel_id
- title: Campaign channel id
- type: attribute
- - id: campaign_channels
- title: Campaign channels
- type: dataset
- - id: campaign_channels_per_category
- title: Campaign channels per category
- type: dataset
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_load_and_modify_ds_and_put_declarative_ldm.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_load_and_modify_ds_and_put_declarative_ldm.yaml
deleted file mode 100644
index b7b56943d..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_load_and_modify_ds_and_put_declarative_ldm.yaml
+++ /dev/null
@@ -1,3708 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo_testing?include=workspaces
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 404
- message: Not Found
- headers:
- Cache-Control:
- - max-age=5, private
- Connection:
- - keep-alive
- Content-Length:
- - '172'
- Content-Type:
- - application/problem+json
- DATE: &id001
- - PLACEHOLDER
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- detail: The requested endpoint does not exist or you do not have permission
- to access it.
- status: 404
- title: Not Found
- traceId: a63b4b8178a2dc022556694b2d9b342d
- - request:
- method: POST
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces
- body:
- data:
- id: demo_testing
- type: workspace
- attributes:
- name: demo_testing
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 201
- message: Created
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '204'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- name: demo_testing
- id: demo_testing
- type: workspace
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo_testing
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces/demo/logicalModel
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- ldm:
- datasets:
- - aggregatedFacts: []
- attributes:
- - description: Campaign channel id
- id: campaign_channel_id
- labels: []
- sourceColumn: campaign_channel_id
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Campaign channel id
- - description: Category
- id: campaign_channels.category
- labels: []
- sourceColumn: category
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Category
- - description: Type
- id: type
- labels: []
- sourceColumn: type
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Type
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaign_channels
- path:
- - demo
- - campaign_channels
- type: dataSource
- description: Campaign channels
- facts:
- - description: Budget
- id: budget
- sourceColumn: budget
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- title: Budget
- - description: Spend
- id: spend
- sourceColumn: spend
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- title: Spend
- grain:
- - id: campaign_channel_id
- type: attribute
- id: campaign_channels
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- dataType: INT
- target:
- id: campaign_id
- type: attribute
- tags:
- - Campaign channels
- title: Campaign channels
- - aggregatedFacts:
- - description: Budget Agg
- id: budget_agg
- sourceColumn: budget
- sourceColumnDataType: INT
- sourceFactReference:
- operation: SUM
- reference:
- id: budget
- type: fact
- tags:
- - Campaign channels per category
- attributes: []
- description: Campaign channels per categories
- facts: []
- grain: []
- id: campaign_channels_per_category
- precedence: 1
- references:
- - identifier:
- id: campaign_channels
- type: dataset
- multivalue: false
- sources:
- - column: campaign_channel_id
- dataType: STRING
- target:
- id: campaign_channel_id
- type: attribute
- sql:
- dataSourceId: demo-test-ds
- statement: SELECT category, SUM(budget) FROM campaign_channels GROUP
- BY category
- tags:
- - Campaign channels per category
- title: Campaign channels per category
- - aggregatedFacts: []
- attributes:
- - description: Campaign id
- id: campaign_id
- labels: []
- sourceColumn: campaign_id
- sourceColumnDataType: INT
- tags:
- - Campaigns
- title: Campaign id
- - description: Campaign name
- id: campaign_name
- labels: []
- sourceColumn: campaign_name
- sourceColumnDataType: STRING
- tags:
- - Campaigns
- title: Campaign name
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaigns
- path:
- - demo
- - campaigns
- type: dataSource
- description: Campaigns
- facts: []
- grain:
- - id: campaign_id
- type: attribute
- id: campaigns
- references: []
- tags:
- - Campaigns
- title: Campaigns
- - aggregatedFacts: []
- attributes:
- - description: Customer id
- id: customer_id
- labels: []
- sourceColumn: customer_id
- sourceColumnDataType: INT
- tags:
- - Customers
- title: Customer id
- - description: Customer name
- id: customer_name
- labels: []
- sourceColumn: customer_name
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Customer name
- - description: Region
- id: region
- labels: []
- sourceColumn: region
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Region
- - description: State
- id: state
- labels:
- - description: Location
- id: geo__state__location
- sourceColumn: geo__state__location
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Location
- valueType: GEO
- sourceColumn: state
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: State
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: customers
- path:
- - demo
- - customers
- type: dataSource
- description: Customers
- facts: []
- grain:
- - id: customer_id
- type: attribute
- id: customers
- references: []
- tags:
- - Customers
- title: Customers
- - aggregatedFacts: []
- attributes:
- - description: Order id
- id: order_id
- labels: []
- sourceColumn: order_id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order id
- - description: Order line id
- id: order_line_id
- labels: []
- sourceColumn: order_line_id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order line id
- - description: Order status
- id: order_status
- labels: []
- sourceColumn: order_status
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order status
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: order_lines
- path:
- - demo
- - order_lines
- type: dataSource
- description: Order lines
- facts:
- - description: Price
- id: price
- sourceColumn: price
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- title: Price
- - description: Quantity
- id: quantity
- sourceColumn: quantity
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- title: Quantity
- grain:
- - id: order_line_id
- type: attribute
- id: order_lines
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- dataType: INT
- target:
- id: campaign_id
- type: attribute
- - identifier:
- id: customers
- type: dataset
- multivalue: false
- sources:
- - column: customer_id
- dataType: INT
- target:
- id: customer_id
- type: attribute
- - identifier:
- id: date
- type: dataset
- multivalue: false
- sources:
- - column: date
- dataType: DATE
- target:
- id: date
- type: date
- - identifier:
- id: products
- type: dataset
- multivalue: false
- sources:
- - column: product_id
- dataType: INT
- target:
- id: product_id
- type: attribute
- tags:
- - Order lines
- title: Order lines
- workspaceDataFilterColumns:
- - dataType: STRING
- name: wdf__region
- - dataType: STRING
- name: wdf__state
- workspaceDataFilterReferences:
- - filterColumn: wdf__region
- filterColumnDataType: STRING
- filterId:
- id: wdf__region
- type: workspaceDataFilter
- - aggregatedFacts: []
- attributes:
- - description: Product id
- id: product_id
- labels: []
- sourceColumn: product_id
- sourceColumnDataType: INT
- tags:
- - Products
- title: Product id
- - description: Product name
- id: product_name
- labels: []
- sourceColumn: product_name
- sourceColumnDataType: STRING
- tags:
- - Products
- title: Product name
- - description: Category
- id: products.category
- labels: []
- sourceColumn: category
- sourceColumnDataType: STRING
- tags:
- - Products
- title: Category
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: products
- path:
- - demo
- - products
- type: dataSource
- description: Products
- facts: []
- grain:
- - id: product_id
- type: attribute
- id: products
- references: []
- tags:
- - Products
- title: Products
- dateInstances:
- - description: ''
- granularities:
- - DAY
- - WEEK
- - MONTH
- - QUARTER
- - YEAR
- granularitiesFormatting:
- titleBase: ''
- titlePattern: '%titleBase - %granularityTitle'
- id: date
- tags:
- - Date
- title: Date
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/dataSources?page=0&size=500
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '671'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- - attributes:
- url: jdbc:postgresql://postgresql-ha-pgpool.postgresql-ha/tiger_tests?sslmode=prefer
- username: postgres
- authenticationType: USERNAME_PASSWORD
- alternativeDataSourceId: ds-put-abc-id
- name: demo-test-ds
- type: POSTGRESQL
- schema: demo
- id: demo-test-ds
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/dataSources/demo-test-ds
- type: dataSource
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/dataSources?page=0&size=500
- next: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/dataSources?page=1&size=500
- - request:
- method: PUT
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/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
- sources:
- - column: campaign_id
- target:
- id: campaign_id
- type: attribute
- dataType: INT
- title: Campaign channels
- description: Campaign channels
- attributes:
- - id: campaign_channel_id
- labels: []
- sourceColumn: campaign_channel_id
- title: Campaign channel id
- sourceColumnDataType: STRING
- description: Campaign channel id
- tags:
- - Campaign channels
- - id: campaign_channels.category
- labels: []
- sourceColumn: category
- title: Category
- sourceColumnDataType: STRING
- description: Category
- tags:
- - Campaign channels
- - id: type
- labels: []
- sourceColumn: type
- title: Type
- sourceColumnDataType: STRING
- description: Type
- tags:
- - Campaign channels
- facts:
- - id: budget
- sourceColumn: budget
- title: Budget
- sourceColumnDataType: NUMERIC
- description: Budget
- tags:
- - Campaign channels
- - id: spend
- sourceColumn: spend
- title: Spend
- sourceColumnDataType: NUMERIC
- description: Spend
- tags:
- - Campaign channels
- aggregatedFacts: []
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaign_channels
- type: dataSource
- path:
- - demo
- - campaign_channels
- tags:
- - Campaign channels
- - grain: []
- id: campaign_channels_per_category
- references:
- - identifier:
- id: campaign_channels
- type: dataset
- multivalue: false
- sources:
- - column: campaign_channel_id
- target:
- id: campaign_channel_id
- type: attribute
- dataType: STRING
- title: Campaign channels per category
- description: Campaign channels per categories
- attributes: []
- facts: []
- aggregatedFacts:
- - id: budget_agg
- sourceColumn: budget
- sourceFactReference:
- operation: SUM
- reference:
- id: budget
- type: fact
- sourceColumnDataType: INT
- description: Budget Agg
- tags:
- - Campaign channels per category
- precedence: 1
- sql:
- dataSourceId: demo-test-ds
- statement: SELECT category, SUM(budget) FROM campaign_channels GROUP
- BY category
- tags:
- - Campaign channels per category
- - grain:
- - id: campaign_id
- type: attribute
- id: campaigns
- references: []
- title: Campaigns
- description: Campaigns
- attributes:
- - id: campaign_id
- labels: []
- sourceColumn: campaign_id
- title: Campaign id
- sourceColumnDataType: INT
- description: Campaign id
- tags:
- - Campaigns
- - id: campaign_name
- labels: []
- sourceColumn: campaign_name
- title: Campaign name
- sourceColumnDataType: STRING
- description: Campaign name
- tags:
- - Campaigns
- facts: []
- aggregatedFacts: []
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaigns
- type: dataSource
- path:
- - demo
- - campaigns
- 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
- sourceColumnDataType: INT
- description: Customer id
- tags:
- - Customers
- - id: customer_name
- labels: []
- sourceColumn: customer_name
- title: Customer name
- sourceColumnDataType: STRING
- description: Customer name
- tags:
- - Customers
- - id: region
- labels: []
- sourceColumn: region
- title: Region
- sourceColumnDataType: STRING
- description: Region
- tags:
- - Customers
- - id: state
- labels:
- - id: geo__state__location
- sourceColumn: geo__state__location
- title: Location
- sourceColumnDataType: STRING
- description: Location
- tags:
- - Customers
- valueType: GEO
- sourceColumn: state
- title: State
- sourceColumnDataType: STRING
- description: State
- tags:
- - Customers
- facts: []
- aggregatedFacts: []
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: customers
- type: dataSource
- path:
- - demo
- - customers
- tags:
- - Customers
- - grain:
- - id: order_line_id
- type: attribute
- id: order_lines
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- target:
- id: campaign_id
- type: attribute
- dataType: INT
- - identifier:
- id: customers
- type: dataset
- multivalue: false
- sources:
- - column: customer_id
- target:
- id: customer_id
- type: attribute
- dataType: INT
- - identifier:
- id: date
- type: dataset
- multivalue: false
- sources:
- - column: date
- target:
- id: date
- type: date
- dataType: DATE
- - identifier:
- id: products
- type: dataset
- multivalue: false
- sources:
- - column: product_id
- target:
- id: product_id
- type: attribute
- dataType: INT
- title: Order lines
- description: Order lines
- attributes:
- - id: order_id
- labels: []
- sourceColumn: order_id
- title: Order id
- sourceColumnDataType: STRING
- description: Order id
- tags:
- - Order lines
- - id: order_line_id
- labels: []
- sourceColumn: order_line_id
- title: Order line id
- sourceColumnDataType: STRING
- description: Order line id
- tags:
- - Order lines
- - id: order_status
- labels: []
- sourceColumn: order_status
- title: Order status
- sourceColumnDataType: STRING
- description: Order status
- tags:
- - Order lines
- facts:
- - id: price
- sourceColumn: price
- title: Price
- sourceColumnDataType: NUMERIC
- description: Price
- tags:
- - Order lines
- - id: quantity
- sourceColumn: quantity
- title: Quantity
- sourceColumnDataType: NUMERIC
- description: Quantity
- tags:
- - Order lines
- aggregatedFacts: []
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: order_lines
- type: dataSource
- path:
- - demo
- - order_lines
- tags:
- - Order lines
- workspaceDataFilterColumns:
- - dataType: STRING
- name: wdf__region
- - dataType: STRING
- name: wdf__state
- - grain:
- - id: product_id
- type: attribute
- id: products
- references: []
- title: Products
- description: Products
- attributes:
- - id: product_id
- labels: []
- sourceColumn: product_id
- title: Product id
- sourceColumnDataType: INT
- description: Product id
- tags:
- - Products
- - id: product_name
- labels: []
- sourceColumn: product_name
- title: Product name
- sourceColumnDataType: STRING
- description: Product name
- tags:
- - Products
- - id: products.category
- labels: []
- sourceColumn: category
- title: Category
- sourceColumnDataType: STRING
- description: Category
- tags:
- - Products
- facts: []
- aggregatedFacts: []
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: products
- type: dataSource
- path:
- - demo
- - products
- tags:
- - Products
- dateInstances:
- - granularities:
- - DAY
- - WEEK
- - MONTH
- - QUARTER
- - YEAR
- granularitiesFormatting:
- titleBase: ''
- titlePattern: '%titleBase - %granularityTitle'
- id: date
- title: Date
- description: ''
- tags:
- - Date
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/dataSources?page=0&size=500
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '671'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- - attributes:
- url: jdbc:postgresql://postgresql-ha-pgpool.postgresql-ha/tiger_tests?sslmode=prefer
- username: postgres
- authenticationType: USERNAME_PASSWORD
- alternativeDataSourceId: ds-put-abc-id
- name: demo-test-ds
- type: POSTGRESQL
- schema: demo
- id: demo-test-ds
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/dataSources/demo-test-ds
- type: dataSource
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/dataSources?page=0&size=500
- next: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/dataSources?page=1&size=500
- - request:
- method: PUT
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/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
- sources:
- - column: campaign_id
- target:
- id: campaign_id
- type: attribute
- dataType: INT
- title: Campaign channels
- description: Campaign channels
- attributes:
- - id: campaign_channel_id
- labels: []
- sourceColumn: campaign_channel_id
- title: Campaign channel id
- sourceColumnDataType: STRING
- description: Campaign channel id
- tags:
- - Campaign channels
- - id: campaign_channels.category
- labels: []
- sourceColumn: category
- title: Category
- sourceColumnDataType: STRING
- description: Category
- tags:
- - Campaign channels
- - id: type
- labels: []
- sourceColumn: type
- title: Type
- sourceColumnDataType: STRING
- description: Type
- tags:
- - Campaign channels
- facts:
- - id: budget
- sourceColumn: budget
- title: Budget
- sourceColumnDataType: NUMERIC
- description: Budget
- tags:
- - Campaign channels
- - id: spend
- sourceColumn: spend
- title: Spend
- sourceColumnDataType: NUMERIC
- description: Spend
- tags:
- - Campaign channels
- aggregatedFacts: []
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaign_channels
- type: dataSource
- path:
- - demo
- - campaign_channels
- tags:
- - Campaign channels
- - grain: []
- id: campaign_channels_per_category
- references:
- - identifier:
- id: campaign_channels
- type: dataset
- multivalue: false
- sources:
- - column: campaign_channel_id
- target:
- id: campaign_channel_id
- type: attribute
- dataType: STRING
- title: Campaign channels per category
- description: Campaign channels per categories
- attributes: []
- facts: []
- aggregatedFacts:
- - id: budget_agg
- sourceColumn: budget
- sourceFactReference:
- operation: SUM
- reference:
- id: budget
- type: fact
- sourceColumnDataType: INT
- description: Budget Agg
- tags:
- - Campaign channels per category
- precedence: 1
- sql:
- dataSourceId: demo-test-ds
- statement: SELECT category, SUM(budget) FROM campaign_channels GROUP
- BY category
- tags:
- - Campaign channels per category
- - grain:
- - id: campaign_id
- type: attribute
- id: campaigns
- references: []
- title: Campaigns
- description: Campaigns
- attributes:
- - id: campaign_id
- labels: []
- sourceColumn: campaign_id
- title: Campaign id
- sourceColumnDataType: INT
- description: Campaign id
- tags:
- - Campaigns
- - id: campaign_name
- labels: []
- sourceColumn: campaign_name
- title: Campaign name
- sourceColumnDataType: STRING
- description: Campaign name
- tags:
- - Campaigns
- facts: []
- aggregatedFacts: []
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaigns
- type: dataSource
- path:
- - demo
- - campaigns
- 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
- sourceColumnDataType: INT
- description: Customer id
- tags:
- - Customers
- - id: customer_name
- labels: []
- sourceColumn: customer_name
- title: Customer name
- sourceColumnDataType: STRING
- description: Customer name
- tags:
- - Customers
- - id: region
- labels: []
- sourceColumn: region
- title: Region
- sourceColumnDataType: STRING
- description: Region
- tags:
- - Customers
- - id: state
- labels:
- - id: geo__state__location
- sourceColumn: geo__state__location
- title: Location
- sourceColumnDataType: STRING
- description: Location
- tags:
- - Customers
- valueType: GEO
- sourceColumn: state
- title: State
- sourceColumnDataType: STRING
- description: State
- tags:
- - Customers
- facts: []
- aggregatedFacts: []
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: customers
- type: dataSource
- path:
- - demo
- - customers
- tags:
- - Customers
- - grain:
- - id: order_line_id
- type: attribute
- id: order_lines
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- target:
- id: campaign_id
- type: attribute
- dataType: INT
- - identifier:
- id: customers
- type: dataset
- multivalue: false
- sources:
- - column: customer_id
- target:
- id: customer_id
- type: attribute
- dataType: INT
- - identifier:
- id: date
- type: dataset
- multivalue: false
- sources:
- - column: date
- target:
- id: date
- type: date
- dataType: DATE
- - identifier:
- id: products
- type: dataset
- multivalue: false
- sources:
- - column: product_id
- target:
- id: product_id
- type: attribute
- dataType: INT
- title: Order lines
- description: Order lines
- attributes:
- - id: order_id
- labels: []
- sourceColumn: order_id
- title: Order id
- sourceColumnDataType: STRING
- description: Order id
- tags:
- - Order lines
- - id: order_line_id
- labels: []
- sourceColumn: order_line_id
- title: Order line id
- sourceColumnDataType: STRING
- description: Order line id
- tags:
- - Order lines
- - id: order_status
- labels: []
- sourceColumn: order_status
- title: Order status
- sourceColumnDataType: STRING
- description: Order status
- tags:
- - Order lines
- facts:
- - id: price
- sourceColumn: price
- title: Price
- sourceColumnDataType: NUMERIC
- description: Price
- tags:
- - Order lines
- - id: quantity
- sourceColumn: quantity
- title: Quantity
- sourceColumnDataType: NUMERIC
- description: Quantity
- tags:
- - Order lines
- aggregatedFacts: []
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: order_lines
- type: dataSource
- path:
- - demo
- - order_lines
- tags:
- - Order lines
- workspaceDataFilterColumns:
- - dataType: STRING
- name: wdf__region
- - dataType: STRING
- name: wdf__state
- - grain:
- - id: product_id
- type: attribute
- id: products
- references: []
- title: Products
- description: Products
- attributes:
- - id: product_id
- labels: []
- sourceColumn: product_id
- title: Product id
- sourceColumnDataType: INT
- description: Product id
- tags:
- - Products
- - id: product_name
- labels: []
- sourceColumn: product_name
- title: Product name
- sourceColumnDataType: STRING
- description: Product name
- tags:
- - Products
- - id: products.category
- labels: []
- sourceColumn: category
- title: Category
- sourceColumnDataType: STRING
- description: Category
- tags:
- - Products
- facts: []
- aggregatedFacts: []
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: products
- type: dataSource
- path:
- - demo
- - products
- tags:
- - Products
- dateInstances:
- - granularities:
- - DAY
- - WEEK
- - MONTH
- - QUARTER
- - YEAR
- granularitiesFormatting:
- titleBase: ''
- titlePattern: '%titleBase - %granularityTitle'
- id: date
- title: Date
- description: ''
- tags:
- - Date
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces/demo_testing/logicalModel
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- ldm:
- datasets:
- - aggregatedFacts: []
- attributes:
- - description: Campaign channel id
- id: campaign_channel_id
- labels: []
- sourceColumn: campaign_channel_id
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Campaign channel id
- - description: Category
- id: campaign_channels.category
- labels: []
- sourceColumn: category
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Category
- - description: Type
- id: type
- labels: []
- sourceColumn: type
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Type
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaign_channels
- path:
- - demo
- - campaign_channels
- type: dataSource
- description: Campaign channels
- facts:
- - description: Budget
- id: budget
- sourceColumn: budget
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- title: Budget
- - description: Spend
- id: spend
- sourceColumn: spend
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- title: Spend
- grain:
- - id: campaign_channel_id
- type: attribute
- id: campaign_channels
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- dataType: INT
- target:
- id: campaign_id
- type: attribute
- tags:
- - Campaign channels
- title: Campaign channels
- - aggregatedFacts:
- - description: Budget Agg
- id: budget_agg
- sourceColumn: budget
- sourceColumnDataType: INT
- sourceFactReference:
- operation: SUM
- reference:
- id: budget
- type: fact
- tags:
- - Campaign channels per category
- attributes: []
- description: Campaign channels per categories
- facts: []
- grain: []
- id: campaign_channels_per_category
- precedence: 1
- references:
- - identifier:
- id: campaign_channels
- type: dataset
- multivalue: false
- sources:
- - column: campaign_channel_id
- dataType: STRING
- target:
- id: campaign_channel_id
- type: attribute
- sql:
- dataSourceId: demo-test-ds
- statement: SELECT category, SUM(budget) FROM campaign_channels GROUP
- BY category
- tags:
- - Campaign channels per category
- title: Campaign channels per category
- - aggregatedFacts: []
- attributes:
- - description: Campaign id
- id: campaign_id
- labels: []
- sourceColumn: campaign_id
- sourceColumnDataType: INT
- tags:
- - Campaigns
- title: Campaign id
- - description: Campaign name
- id: campaign_name
- labels: []
- sourceColumn: campaign_name
- sourceColumnDataType: STRING
- tags:
- - Campaigns
- title: Campaign name
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaigns
- path:
- - demo
- - campaigns
- type: dataSource
- description: Campaigns
- facts: []
- grain:
- - id: campaign_id
- type: attribute
- id: campaigns
- references: []
- tags:
- - Campaigns
- title: Campaigns
- - aggregatedFacts: []
- attributes:
- - description: Customer id
- id: customer_id
- labels: []
- sourceColumn: customer_id
- sourceColumnDataType: INT
- tags:
- - Customers
- title: Customer id
- - description: Customer name
- id: customer_name
- labels: []
- sourceColumn: customer_name
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Customer name
- - description: Region
- id: region
- labels: []
- sourceColumn: region
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Region
- - description: State
- id: state
- labels:
- - description: Location
- id: geo__state__location
- sourceColumn: geo__state__location
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Location
- valueType: GEO
- sourceColumn: state
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: State
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: customers
- path:
- - demo
- - customers
- type: dataSource
- description: Customers
- facts: []
- grain:
- - id: customer_id
- type: attribute
- id: customers
- references: []
- tags:
- - Customers
- title: Customers
- - aggregatedFacts: []
- attributes:
- - description: Order id
- id: order_id
- labels: []
- sourceColumn: order_id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order id
- - description: Order line id
- id: order_line_id
- labels: []
- sourceColumn: order_line_id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order line id
- - description: Order status
- id: order_status
- labels: []
- sourceColumn: order_status
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order status
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: order_lines
- path:
- - demo
- - order_lines
- type: dataSource
- description: Order lines
- facts:
- - description: Price
- id: price
- sourceColumn: price
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- title: Price
- - description: Quantity
- id: quantity
- sourceColumn: quantity
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- title: Quantity
- grain:
- - id: order_line_id
- type: attribute
- id: order_lines
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- dataType: INT
- target:
- id: campaign_id
- type: attribute
- - identifier:
- id: customers
- type: dataset
- multivalue: false
- sources:
- - column: customer_id
- dataType: INT
- target:
- id: customer_id
- type: attribute
- - identifier:
- id: date
- type: dataset
- multivalue: false
- sources:
- - column: date
- dataType: DATE
- target:
- id: date
- type: date
- - identifier:
- id: products
- type: dataset
- multivalue: false
- sources:
- - column: product_id
- dataType: INT
- target:
- id: product_id
- type: attribute
- tags:
- - Order lines
- title: Order lines
- workspaceDataFilterColumns:
- - dataType: STRING
- name: wdf__region
- - dataType: STRING
- name: wdf__state
- - aggregatedFacts: []
- attributes:
- - description: Product id
- id: product_id
- labels: []
- sourceColumn: product_id
- sourceColumnDataType: INT
- tags:
- - Products
- title: Product id
- - description: Product name
- id: product_name
- labels: []
- sourceColumn: product_name
- sourceColumnDataType: STRING
- tags:
- - Products
- title: Product name
- - description: Category
- id: products.category
- labels: []
- sourceColumn: category
- sourceColumnDataType: STRING
- tags:
- - Products
- title: Category
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: products
- path:
- - demo
- - products
- type: dataSource
- description: Products
- facts: []
- grain:
- - id: product_id
- type: attribute
- id: products
- references: []
- tags:
- - Products
- title: Products
- dateInstances:
- - description: ''
- granularities:
- - DAY
- - WEEK
- - MONTH
- - QUARTER
- - YEAR
- granularitiesFormatting:
- titleBase: ''
- titlePattern: '%titleBase - %granularityTitle'
- id: date
- tags:
- - Date
- title: Date
- - request:
- method: PUT
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces
- body:
- 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:
- - id: demo
- name: Demo
- automations: []
- customApplicationSettings: []
- filterViews: []
- hierarchyPermissions:
- - assignee:
- id: demo2
- type: user
- name: MANAGE
- - assignee:
- id: demoGroup
- type: userGroup
- name: ANALYZE
- model:
- analytics:
- analyticalDashboardExtensions: []
- analyticalDashboards:
- - content:
- filterContextRef:
- identifier:
- id: campaign_name_filter
- type: filterContext
- layout:
- type: IDashboardLayout
- sections:
- - type: IDashboardLayoutSection
- header:
- title: Spend breakdown and Revenue
- description: The first insight shows a breakdown of
- spend by category and campaign. The second shows revenue
- per $ spend, for each campaign, to demonstrate, how
- campaigns are successful.
- 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: ''
- permissions:
- - assigneeRule:
- type: allWorkspaceUsers
- name: VIEW
- - 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: ''
- attributeHierarchies: []
- 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
- exportDefinitions: []
- 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
- memoryItems: []
- ldm:
- datasets:
- - grain:
- - id: campaign_channel_id
- type: attribute
- id: campaign_channels
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- target:
- id: campaign_id
- type: attribute
- dataType: INT
- title: Campaign channels
- aggregatedFacts: []
- attributes:
- - id: campaign_channel_id
- labels: []
- sourceColumn: campaign_channel_id
- title: Campaign channel id
- description: Campaign channel id
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- - id: campaign_channels.category
- labels: []
- sourceColumn: category
- title: Category
- description: Category
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- - id: type
- labels: []
- sourceColumn: type
- title: Type
- description: Type
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaign_channels
- type: dataSource
- path:
- - demo
- - campaign_channels
- description: Campaign channels
- facts:
- - id: budget
- sourceColumn: budget
- title: Budget
- description: Budget
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- - id: spend
- sourceColumn: spend
- title: Spend
- description: Spend
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- tags:
- - Campaign channels
- - grain: []
- id: campaign_channels_per_category
- references:
- - identifier:
- id: campaign_channels
- type: dataset
- multivalue: false
- sources:
- - column: campaign_channel_id
- target:
- id: campaign_channel_id
- type: attribute
- dataType: STRING
- title: Campaign channels per category
- aggregatedFacts:
- - id: budget_agg
- sourceColumn: budget
- sourceFactReference:
- operation: SUM
- reference:
- id: budget
- type: fact
- description: Budget Agg
- sourceColumnDataType: INT
- tags:
- - Campaign channels per category
- attributes: []
- description: Campaign channels per categories
- facts: []
- precedence: 1
- sql:
- dataSourceId: demo-test-ds
- statement: SELECT category, SUM(budget) FROM campaign_channels
- GROUP BY category
- tags:
- - Campaign channels per category
- - grain:
- - id: campaign_id
- type: attribute
- id: campaigns
- references: []
- title: Campaigns
- aggregatedFacts: []
- attributes:
- - id: campaign_id
- labels: []
- sourceColumn: campaign_id
- title: Campaign id
- description: Campaign id
- sourceColumnDataType: INT
- tags:
- - Campaigns
- - id: campaign_name
- labels: []
- sourceColumn: campaign_name
- title: Campaign name
- description: Campaign name
- sourceColumnDataType: STRING
- tags:
- - Campaigns
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaigns
- type: dataSource
- path:
- - demo
- - campaigns
- description: Campaigns
- facts: []
- tags:
- - Campaigns
- - grain:
- - id: customer_id
- type: attribute
- id: customers
- references: []
- title: Customers
- aggregatedFacts: []
- attributes:
- - id: customer_id
- labels: []
- sourceColumn: customer_id
- title: Customer id
- description: Customer id
- sourceColumnDataType: INT
- tags:
- - Customers
- - id: customer_name
- labels: []
- sourceColumn: customer_name
- title: Customer name
- description: Customer name
- sourceColumnDataType: STRING
- tags:
- - Customers
- - id: region
- labels: []
- sourceColumn: region
- title: Region
- description: Region
- sourceColumnDataType: STRING
- tags:
- - Customers
- - id: state
- labels:
- - id: geo__state__location
- sourceColumn: geo__state__location
- title: Location
- description: Location
- sourceColumnDataType: STRING
- tags:
- - Customers
- valueType: GEO
- sourceColumn: state
- title: State
- description: State
- sourceColumnDataType: STRING
- tags:
- - Customers
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: customers
- type: dataSource
- path:
- - demo
- - customers
- description: Customers
- facts: []
- tags:
- - Customers
- - grain:
- - id: order_line_id
- type: attribute
- id: order_lines
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- target:
- id: campaign_id
- type: attribute
- dataType: INT
- - identifier:
- id: customers
- type: dataset
- multivalue: false
- sources:
- - column: customer_id
- target:
- id: customer_id
- type: attribute
- dataType: INT
- - identifier:
- id: date
- type: dataset
- multivalue: false
- sources:
- - column: date
- target:
- id: date
- type: date
- dataType: DATE
- - identifier:
- id: products
- type: dataset
- multivalue: false
- sources:
- - column: product_id
- target:
- id: product_id
- type: attribute
- dataType: INT
- title: Order lines
- aggregatedFacts: []
- attributes:
- - id: order_id
- labels: []
- sourceColumn: order_id
- title: Order id
- description: Order id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- - id: order_line_id
- labels: []
- sourceColumn: order_line_id
- title: Order line id
- description: Order line id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- - id: order_status
- labels: []
- sourceColumn: order_status
- title: Order status
- description: Order status
- sourceColumnDataType: STRING
- tags:
- - Order lines
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: order_lines
- type: dataSource
- path:
- - demo
- - order_lines
- description: Order lines
- facts:
- - id: price
- sourceColumn: price
- title: Price
- description: Price
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- - id: quantity
- sourceColumn: quantity
- title: Quantity
- description: Quantity
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- tags:
- - Order lines
- workspaceDataFilterColumns:
- - dataType: STRING
- name: wdf__region
- - dataType: STRING
- name: wdf__state
- workspaceDataFilterReferences:
- - filterColumn: wdf__region
- filterColumnDataType: STRING
- filterId:
- id: wdf__region
- type: workspaceDataFilter
- - grain:
- - id: product_id
- type: attribute
- id: products
- references: []
- title: Products
- aggregatedFacts: []
- attributes:
- - id: product_id
- labels: []
- sourceColumn: product_id
- title: Product id
- description: Product id
- sourceColumnDataType: INT
- tags:
- - Products
- - id: product_name
- labels: []
- sourceColumn: product_name
- title: Product name
- description: Product name
- sourceColumnDataType: STRING
- tags:
- - Products
- - id: products.category
- labels: []
- sourceColumn: category
- title: Category
- description: Category
- sourceColumnDataType: STRING
- tags:
- - Products
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: products
- type: dataSource
- path:
- - demo
- - products
- description: Products
- facts: []
- tags:
- - Products
- dateInstances:
- - granularities:
- - DAY
- - WEEK
- - MONTH
- - QUARTER
- - YEAR
- granularitiesFormatting:
- titleBase: ''
- titlePattern: '%titleBase - %granularityTitle'
- id: date
- title: Date
- description: ''
- tags:
- - Date
- permissions:
- - assignee:
- id: demo2
- type: user
- name: ANALYZE
- - assignee:
- id: demoGroup
- type: userGroup
- name: VIEW
- settings: []
- userDataFilters: []
- - id: demo_west
- name: Demo West
- automations: []
- customApplicationSettings: []
- filterViews: []
- hierarchyPermissions: []
- model:
- analytics:
- analyticalDashboardExtensions:
- - id: campaign
- permissions:
- - assigneeRule:
- type: allWorkspaceUsers
- name: VIEW
- analyticalDashboards: []
- attributeHierarchies: []
- dashboardPlugins: []
- exportDefinitions: []
- filterContexts: []
- metrics: []
- visualizationObjects: []
- memoryItems: []
- ldm:
- datasetExtensions:
- - id: order_lines
- workspaceDataFilterReferences:
- - filterColumn: wdf__state
- filterColumnDataType: STRING
- filterId:
- id: wdf__state
- type: workspaceDataFilter
- datasets: []
- dateInstances: []
- parent:
- id: demo
- type: workspace
- permissions: []
- settings: []
- userDataFilters: []
- - id: demo_west_california
- name: Demo West California
- automations: []
- customApplicationSettings: []
- filterViews: []
- hierarchyPermissions: []
- model:
- analytics:
- analyticalDashboardExtensions: []
- analyticalDashboards: []
- attributeHierarchies: []
- dashboardPlugins: []
- exportDefinitions: []
- filterContexts: []
- metrics: []
- visualizationObjects: []
- memoryItems: []
- ldm:
- datasets: []
- dateInstances: []
- parent:
- id: demo_west
- type: workspace
- permissions: []
- settings: []
- userDataFilters: []
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_load_and_put_declarative_analytics_model.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_load_and_put_declarative_analytics_model.yaml
deleted file mode 100644
index b9d32ac8e..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_load_and_put_declarative_analytics_model.yaml
+++ /dev/null
@@ -1,6985 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo_testing?include=workspaces
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 404
- message: Not Found
- headers:
- Cache-Control:
- - max-age=5, private
- Connection:
- - keep-alive
- Content-Length:
- - '172'
- Content-Type:
- - application/problem+json
- DATE: &id001
- - PLACEHOLDER
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- detail: The requested endpoint does not exist or you do not have permission
- to access it.
- status: 404
- title: Not Found
- traceId: 1fe96a2db7a7501919e8f350dac71291
- - request:
- method: POST
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces
- body:
- data:
- id: demo_testing
- type: workspace
- attributes:
- name: demo_testing
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 201
- message: Created
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '204'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- name: demo_testing
- id: demo_testing
- type: workspace
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo_testing
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces/demo/logicalModel
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- ldm:
- datasets:
- - aggregatedFacts: []
- attributes:
- - description: Campaign channel id
- id: campaign_channel_id
- labels: []
- sourceColumn: campaign_channel_id
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Campaign channel id
- - description: Category
- id: campaign_channels.category
- labels: []
- sourceColumn: category
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Category
- - description: Type
- id: type
- labels: []
- sourceColumn: type
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Type
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaign_channels
- path:
- - demo
- - campaign_channels
- type: dataSource
- description: Campaign channels
- facts:
- - description: Budget
- id: budget
- sourceColumn: budget
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- title: Budget
- - description: Spend
- id: spend
- sourceColumn: spend
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- title: Spend
- grain:
- - id: campaign_channel_id
- type: attribute
- id: campaign_channels
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- dataType: INT
- target:
- id: campaign_id
- type: attribute
- tags:
- - Campaign channels
- title: Campaign channels
- - aggregatedFacts:
- - description: Budget Agg
- id: budget_agg
- sourceColumn: budget
- sourceColumnDataType: INT
- sourceFactReference:
- operation: SUM
- reference:
- id: budget
- type: fact
- tags:
- - Campaign channels per category
- attributes: []
- description: Campaign channels per categories
- facts: []
- grain: []
- id: campaign_channels_per_category
- precedence: 1
- references:
- - identifier:
- id: campaign_channels
- type: dataset
- multivalue: false
- sources:
- - column: campaign_channel_id
- dataType: STRING
- target:
- id: campaign_channel_id
- type: attribute
- sql:
- dataSourceId: demo-test-ds
- statement: SELECT category, SUM(budget) FROM campaign_channels GROUP
- BY category
- tags:
- - Campaign channels per category
- title: Campaign channels per category
- - aggregatedFacts: []
- attributes:
- - description: Campaign id
- id: campaign_id
- labels: []
- sourceColumn: campaign_id
- sourceColumnDataType: INT
- tags:
- - Campaigns
- title: Campaign id
- - description: Campaign name
- id: campaign_name
- labels: []
- sourceColumn: campaign_name
- sourceColumnDataType: STRING
- tags:
- - Campaigns
- title: Campaign name
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaigns
- path:
- - demo
- - campaigns
- type: dataSource
- description: Campaigns
- facts: []
- grain:
- - id: campaign_id
- type: attribute
- id: campaigns
- references: []
- tags:
- - Campaigns
- title: Campaigns
- - aggregatedFacts: []
- attributes:
- - description: Customer id
- id: customer_id
- labels: []
- sourceColumn: customer_id
- sourceColumnDataType: INT
- tags:
- - Customers
- title: Customer id
- - description: Customer name
- id: customer_name
- labels: []
- sourceColumn: customer_name
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Customer name
- - description: Region
- id: region
- labels: []
- sourceColumn: region
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Region
- - description: State
- id: state
- labels:
- - description: Location
- id: geo__state__location
- sourceColumn: geo__state__location
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Location
- valueType: GEO
- sourceColumn: state
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: State
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: customers
- path:
- - demo
- - customers
- type: dataSource
- description: Customers
- facts: []
- grain:
- - id: customer_id
- type: attribute
- id: customers
- references: []
- tags:
- - Customers
- title: Customers
- - aggregatedFacts: []
- attributes:
- - description: Order id
- id: order_id
- labels: []
- sourceColumn: order_id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order id
- - description: Order line id
- id: order_line_id
- labels: []
- sourceColumn: order_line_id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order line id
- - description: Order status
- id: order_status
- labels: []
- sourceColumn: order_status
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order status
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: order_lines
- path:
- - demo
- - order_lines
- type: dataSource
- description: Order lines
- facts:
- - description: Price
- id: price
- sourceColumn: price
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- title: Price
- - description: Quantity
- id: quantity
- sourceColumn: quantity
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- title: Quantity
- grain:
- - id: order_line_id
- type: attribute
- id: order_lines
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- dataType: INT
- target:
- id: campaign_id
- type: attribute
- - identifier:
- id: customers
- type: dataset
- multivalue: false
- sources:
- - column: customer_id
- dataType: INT
- target:
- id: customer_id
- type: attribute
- - identifier:
- id: date
- type: dataset
- multivalue: false
- sources:
- - column: date
- dataType: DATE
- target:
- id: date
- type: date
- - identifier:
- id: products
- type: dataset
- multivalue: false
- sources:
- - column: product_id
- dataType: INT
- target:
- id: product_id
- type: attribute
- tags:
- - Order lines
- title: Order lines
- workspaceDataFilterColumns:
- - dataType: STRING
- name: wdf__region
- - dataType: STRING
- name: wdf__state
- workspaceDataFilterReferences:
- - filterColumn: wdf__region
- filterColumnDataType: STRING
- filterId:
- id: wdf__region
- type: workspaceDataFilter
- - aggregatedFacts: []
- attributes:
- - description: Product id
- id: product_id
- labels: []
- sourceColumn: product_id
- sourceColumnDataType: INT
- tags:
- - Products
- title: Product id
- - description: Product name
- id: product_name
- labels: []
- sourceColumn: product_name
- sourceColumnDataType: STRING
- tags:
- - Products
- title: Product name
- - description: Category
- id: products.category
- labels: []
- sourceColumn: category
- sourceColumnDataType: STRING
- tags:
- - Products
- title: Category
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: products
- path:
- - demo
- - products
- type: dataSource
- description: Products
- facts: []
- grain:
- - id: product_id
- type: attribute
- id: products
- references: []
- tags:
- - Products
- title: Products
- dateInstances:
- - description: ''
- granularities:
- - DAY
- - WEEK
- - MONTH
- - QUARTER
- - YEAR
- granularitiesFormatting:
- titleBase: ''
- titlePattern: '%titleBase - %granularityTitle'
- id: date
- tags:
- - Date
- title: Date
- - request:
- method: PUT
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/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
- sources:
- - column: campaign_id
- target:
- id: campaign_id
- type: attribute
- dataType: INT
- title: Campaign channels
- description: Campaign channels
- attributes:
- - id: campaign_channel_id
- labels: []
- sourceColumn: campaign_channel_id
- title: Campaign channel id
- sourceColumnDataType: STRING
- description: Campaign channel id
- tags:
- - Campaign channels
- - id: campaign_channels.category
- labels: []
- sourceColumn: category
- title: Category
- sourceColumnDataType: STRING
- description: Category
- tags:
- - Campaign channels
- - id: type
- labels: []
- sourceColumn: type
- title: Type
- sourceColumnDataType: STRING
- description: Type
- tags:
- - Campaign channels
- facts:
- - id: budget
- sourceColumn: budget
- title: Budget
- sourceColumnDataType: NUMERIC
- description: Budget
- tags:
- - Campaign channels
- - id: spend
- sourceColumn: spend
- title: Spend
- sourceColumnDataType: NUMERIC
- description: Spend
- tags:
- - Campaign channels
- aggregatedFacts: []
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaign_channels
- type: dataSource
- path:
- - demo
- - campaign_channels
- tags:
- - Campaign channels
- - grain: []
- id: campaign_channels_per_category
- references:
- - identifier:
- id: campaign_channels
- type: dataset
- multivalue: false
- sources:
- - column: campaign_channel_id
- target:
- id: campaign_channel_id
- type: attribute
- dataType: STRING
- title: Campaign channels per category
- description: Campaign channels per categories
- attributes: []
- facts: []
- aggregatedFacts:
- - id: budget_agg
- sourceColumn: budget
- sourceFactReference:
- operation: SUM
- reference:
- id: budget
- type: fact
- sourceColumnDataType: INT
- description: Budget Agg
- tags:
- - Campaign channels per category
- precedence: 1
- sql:
- dataSourceId: demo-test-ds
- statement: SELECT category, SUM(budget) FROM campaign_channels GROUP
- BY category
- tags:
- - Campaign channels per category
- - grain:
- - id: campaign_id
- type: attribute
- id: campaigns
- references: []
- title: Campaigns
- description: Campaigns
- attributes:
- - id: campaign_id
- labels: []
- sourceColumn: campaign_id
- title: Campaign id
- sourceColumnDataType: INT
- description: Campaign id
- tags:
- - Campaigns
- - id: campaign_name
- labels: []
- sourceColumn: campaign_name
- title: Campaign name
- sourceColumnDataType: STRING
- description: Campaign name
- tags:
- - Campaigns
- facts: []
- aggregatedFacts: []
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaigns
- type: dataSource
- path:
- - demo
- - campaigns
- 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
- sourceColumnDataType: INT
- description: Customer id
- tags:
- - Customers
- - id: customer_name
- labels: []
- sourceColumn: customer_name
- title: Customer name
- sourceColumnDataType: STRING
- description: Customer name
- tags:
- - Customers
- - id: region
- labels: []
- sourceColumn: region
- title: Region
- sourceColumnDataType: STRING
- description: Region
- tags:
- - Customers
- - id: state
- labels:
- - id: geo__state__location
- sourceColumn: geo__state__location
- title: Location
- sourceColumnDataType: STRING
- description: Location
- tags:
- - Customers
- valueType: GEO
- sourceColumn: state
- title: State
- sourceColumnDataType: STRING
- description: State
- tags:
- - Customers
- facts: []
- aggregatedFacts: []
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: customers
- type: dataSource
- path:
- - demo
- - customers
- tags:
- - Customers
- - grain:
- - id: order_line_id
- type: attribute
- id: order_lines
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- target:
- id: campaign_id
- type: attribute
- dataType: INT
- - identifier:
- id: customers
- type: dataset
- multivalue: false
- sources:
- - column: customer_id
- target:
- id: customer_id
- type: attribute
- dataType: INT
- - identifier:
- id: date
- type: dataset
- multivalue: false
- sources:
- - column: date
- target:
- id: date
- type: date
- dataType: DATE
- - identifier:
- id: products
- type: dataset
- multivalue: false
- sources:
- - column: product_id
- target:
- id: product_id
- type: attribute
- dataType: INT
- title: Order lines
- description: Order lines
- attributes:
- - id: order_id
- labels: []
- sourceColumn: order_id
- title: Order id
- sourceColumnDataType: STRING
- description: Order id
- tags:
- - Order lines
- - id: order_line_id
- labels: []
- sourceColumn: order_line_id
- title: Order line id
- sourceColumnDataType: STRING
- description: Order line id
- tags:
- - Order lines
- - id: order_status
- labels: []
- sourceColumn: order_status
- title: Order status
- sourceColumnDataType: STRING
- description: Order status
- tags:
- - Order lines
- facts:
- - id: price
- sourceColumn: price
- title: Price
- sourceColumnDataType: NUMERIC
- description: Price
- tags:
- - Order lines
- - id: quantity
- sourceColumn: quantity
- title: Quantity
- sourceColumnDataType: NUMERIC
- description: Quantity
- tags:
- - Order lines
- aggregatedFacts: []
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: order_lines
- type: dataSource
- path:
- - demo
- - order_lines
- tags:
- - Order lines
- workspaceDataFilterColumns:
- - dataType: STRING
- name: wdf__region
- - dataType: STRING
- name: wdf__state
- - grain:
- - id: product_id
- type: attribute
- id: products
- references: []
- title: Products
- description: Products
- attributes:
- - id: product_id
- labels: []
- sourceColumn: product_id
- title: Product id
- sourceColumnDataType: INT
- description: Product id
- tags:
- - Products
- - id: product_name
- labels: []
- sourceColumn: product_name
- title: Product name
- sourceColumnDataType: STRING
- description: Product name
- tags:
- - Products
- - id: products.category
- labels: []
- sourceColumn: category
- title: Category
- sourceColumnDataType: STRING
- description: Category
- tags:
- - Products
- facts: []
- aggregatedFacts: []
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: products
- type: dataSource
- path:
- - demo
- - products
- tags:
- - Products
- dateInstances:
- - granularities:
- - DAY
- - WEEK
- - MONTH
- - QUARTER
- - YEAR
- granularitiesFormatting:
- titleBase: ''
- titlePattern: '%titleBase - %granularityTitle'
- id: date
- title: Date
- description: ''
- tags:
- - Date
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces/demo/analyticsModel?exclude=ACTIVITY_INFO
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- analytics:
- analyticalDashboardExtensions: []
- analyticalDashboards:
- - content:
- filterContextRef:
- identifier:
- id: campaign_name_filter
- type: filterContext
- layout:
- type: IDashboardLayout
- sections:
- - type: IDashboardLayoutSection
- header:
- title: Spend breakdown and Revenue
- description: The first insight shows a breakdown of spend
- by category and campaign. The second shows revenue per
- $ spend, for each campaign, to demonstrate, how campaigns
- are successful.
- 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
- permissions:
- - assigneeRule:
- type: allWorkspaceUsers
- name: VIEW
- 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
- attributeHierarchies: []
- 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
- exportDefinitions: []
- 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
- memoryItems: []
- 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: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/organization
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 302
- message: Found
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '0'
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Location:
- - /api/v1/entities/admin/organizations/python-sdk-dex
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/admin/organizations/python-sdk-dex
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '564'
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- name: Python SDK Dex
- hostname: python-sdk-dex.dev-latest.stg11.panther.intgdc.com
- allowedOrigins: []
- earlyAccess: enableAlerting
- earlyAccessValues:
- - enableAlerting
- - enableSmtp
- - enablePreAggregationDatasets
- - enableScheduling
- - enableCompositeGrain
- - enableUserManagement
- - enableRawExports
- - enableFlexibleDashboardLayout
- region: ''
- dataCenter: ''
- id: python-sdk-dex
- type: organization
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/admin/organizations/python-sdk-dex
- - request:
- method: PUT
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces/demo_testing/analyticsModel
- body:
- analytics:
- analyticalDashboards:
- - content:
- filterContextRef:
- identifier:
- id: campaign_name_filter
- type: filterContext
- layout:
- sections:
- - header:
- description: The first insight shows a breakdown of spend
- by category and campaign. The second shows revenue per $
- spend, for each campaign, to demonstrate, how campaigns
- are successful.
- title: Spend breakdown and Revenue
- 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: ''
- permissions:
- - name: VIEW
- assigneeRule:
- type: allWorkspaceUsers
- - 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: ''
- analyticalDashboardExtensions: []
- attributeHierarchies: []
- 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
- exportDefinitions: []
- memoryItems: []
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces/demo_testing/analyticsModel?exclude=ACTIVITY_INFO
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- analytics:
- analyticalDashboardExtensions: []
- analyticalDashboards:
- - content:
- filterContextRef:
- identifier:
- id: campaign_name_filter
- type: filterContext
- layout:
- sections:
- - header:
- description: The first insight shows a breakdown of spend
- by category and campaign. The second shows revenue per
- $ spend, for each campaign, to demonstrate, how campaigns
- are successful.
- title: Spend breakdown and Revenue
- 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
- permissions:
- - assigneeRule:
- type: allWorkspaceUsers
- name: VIEW
- 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
- attributeHierarchies: []
- 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
- exportDefinitions: []
- 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
- memoryItems: []
- 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: PUT
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces
- body:
- 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:
- - id: demo
- name: Demo
- automations: []
- customApplicationSettings: []
- filterViews: []
- hierarchyPermissions:
- - assignee:
- id: demo2
- type: user
- name: MANAGE
- - assignee:
- id: demoGroup
- type: userGroup
- name: ANALYZE
- model:
- analytics:
- analyticalDashboardExtensions: []
- analyticalDashboards:
- - content:
- filterContextRef:
- identifier:
- id: campaign_name_filter
- type: filterContext
- layout:
- type: IDashboardLayout
- sections:
- - type: IDashboardLayoutSection
- header:
- title: Spend breakdown and Revenue
- description: The first insight shows a breakdown of
- spend by category and campaign. The second shows revenue
- per $ spend, for each campaign, to demonstrate, how
- campaigns are successful.
- 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: ''
- permissions:
- - assigneeRule:
- type: allWorkspaceUsers
- name: VIEW
- - 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: ''
- attributeHierarchies: []
- 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
- exportDefinitions: []
- 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
- memoryItems: []
- ldm:
- datasets:
- - grain:
- - id: campaign_channel_id
- type: attribute
- id: campaign_channels
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- target:
- id: campaign_id
- type: attribute
- dataType: INT
- title: Campaign channels
- aggregatedFacts: []
- attributes:
- - id: campaign_channel_id
- labels: []
- sourceColumn: campaign_channel_id
- title: Campaign channel id
- description: Campaign channel id
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- - id: campaign_channels.category
- labels: []
- sourceColumn: category
- title: Category
- description: Category
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- - id: type
- labels: []
- sourceColumn: type
- title: Type
- description: Type
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaign_channels
- type: dataSource
- path:
- - demo
- - campaign_channels
- description: Campaign channels
- facts:
- - id: budget
- sourceColumn: budget
- title: Budget
- description: Budget
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- - id: spend
- sourceColumn: spend
- title: Spend
- description: Spend
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- tags:
- - Campaign channels
- - grain: []
- id: campaign_channels_per_category
- references:
- - identifier:
- id: campaign_channels
- type: dataset
- multivalue: false
- sources:
- - column: campaign_channel_id
- target:
- id: campaign_channel_id
- type: attribute
- dataType: STRING
- title: Campaign channels per category
- aggregatedFacts:
- - id: budget_agg
- sourceColumn: budget
- sourceFactReference:
- operation: SUM
- reference:
- id: budget
- type: fact
- description: Budget Agg
- sourceColumnDataType: INT
- tags:
- - Campaign channels per category
- attributes: []
- description: Campaign channels per categories
- facts: []
- precedence: 1
- sql:
- dataSourceId: demo-test-ds
- statement: SELECT category, SUM(budget) FROM campaign_channels
- GROUP BY category
- tags:
- - Campaign channels per category
- - grain:
- - id: campaign_id
- type: attribute
- id: campaigns
- references: []
- title: Campaigns
- aggregatedFacts: []
- attributes:
- - id: campaign_id
- labels: []
- sourceColumn: campaign_id
- title: Campaign id
- description: Campaign id
- sourceColumnDataType: INT
- tags:
- - Campaigns
- - id: campaign_name
- labels: []
- sourceColumn: campaign_name
- title: Campaign name
- description: Campaign name
- sourceColumnDataType: STRING
- tags:
- - Campaigns
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaigns
- type: dataSource
- path:
- - demo
- - campaigns
- description: Campaigns
- facts: []
- tags:
- - Campaigns
- - grain:
- - id: customer_id
- type: attribute
- id: customers
- references: []
- title: Customers
- aggregatedFacts: []
- attributes:
- - id: customer_id
- labels: []
- sourceColumn: customer_id
- title: Customer id
- description: Customer id
- sourceColumnDataType: INT
- tags:
- - Customers
- - id: customer_name
- labels: []
- sourceColumn: customer_name
- title: Customer name
- description: Customer name
- sourceColumnDataType: STRING
- tags:
- - Customers
- - id: region
- labels: []
- sourceColumn: region
- title: Region
- description: Region
- sourceColumnDataType: STRING
- tags:
- - Customers
- - id: state
- labels:
- - id: geo__state__location
- sourceColumn: geo__state__location
- title: Location
- description: Location
- sourceColumnDataType: STRING
- tags:
- - Customers
- valueType: GEO
- sourceColumn: state
- title: State
- description: State
- sourceColumnDataType: STRING
- tags:
- - Customers
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: customers
- type: dataSource
- path:
- - demo
- - customers
- description: Customers
- facts: []
- tags:
- - Customers
- - grain:
- - id: order_line_id
- type: attribute
- id: order_lines
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- target:
- id: campaign_id
- type: attribute
- dataType: INT
- - identifier:
- id: customers
- type: dataset
- multivalue: false
- sources:
- - column: customer_id
- target:
- id: customer_id
- type: attribute
- dataType: INT
- - identifier:
- id: date
- type: dataset
- multivalue: false
- sources:
- - column: date
- target:
- id: date
- type: date
- dataType: DATE
- - identifier:
- id: products
- type: dataset
- multivalue: false
- sources:
- - column: product_id
- target:
- id: product_id
- type: attribute
- dataType: INT
- title: Order lines
- aggregatedFacts: []
- attributes:
- - id: order_id
- labels: []
- sourceColumn: order_id
- title: Order id
- description: Order id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- - id: order_line_id
- labels: []
- sourceColumn: order_line_id
- title: Order line id
- description: Order line id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- - id: order_status
- labels: []
- sourceColumn: order_status
- title: Order status
- description: Order status
- sourceColumnDataType: STRING
- tags:
- - Order lines
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: order_lines
- type: dataSource
- path:
- - demo
- - order_lines
- description: Order lines
- facts:
- - id: price
- sourceColumn: price
- title: Price
- description: Price
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- - id: quantity
- sourceColumn: quantity
- title: Quantity
- description: Quantity
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- tags:
- - Order lines
- workspaceDataFilterColumns:
- - dataType: STRING
- name: wdf__region
- - dataType: STRING
- name: wdf__state
- workspaceDataFilterReferences:
- - filterColumn: wdf__region
- filterColumnDataType: STRING
- filterId:
- id: wdf__region
- type: workspaceDataFilter
- - grain:
- - id: product_id
- type: attribute
- id: products
- references: []
- title: Products
- aggregatedFacts: []
- attributes:
- - id: product_id
- labels: []
- sourceColumn: product_id
- title: Product id
- description: Product id
- sourceColumnDataType: INT
- tags:
- - Products
- - id: product_name
- labels: []
- sourceColumn: product_name
- title: Product name
- description: Product name
- sourceColumnDataType: STRING
- tags:
- - Products
- - id: products.category
- labels: []
- sourceColumn: category
- title: Category
- description: Category
- sourceColumnDataType: STRING
- tags:
- - Products
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: products
- type: dataSource
- path:
- - demo
- - products
- description: Products
- facts: []
- tags:
- - Products
- dateInstances:
- - granularities:
- - DAY
- - WEEK
- - MONTH
- - QUARTER
- - YEAR
- granularitiesFormatting:
- titleBase: ''
- titlePattern: '%titleBase - %granularityTitle'
- id: date
- title: Date
- description: ''
- tags:
- - Date
- permissions:
- - assignee:
- id: demo2
- type: user
- name: ANALYZE
- - assignee:
- id: demoGroup
- type: userGroup
- name: VIEW
- settings: []
- userDataFilters: []
- - id: demo_west
- name: Demo West
- automations: []
- customApplicationSettings: []
- filterViews: []
- hierarchyPermissions: []
- model:
- analytics:
- analyticalDashboardExtensions:
- - id: campaign
- permissions:
- - assigneeRule:
- type: allWorkspaceUsers
- name: VIEW
- analyticalDashboards: []
- attributeHierarchies: []
- dashboardPlugins: []
- exportDefinitions: []
- filterContexts: []
- metrics: []
- visualizationObjects: []
- memoryItems: []
- ldm:
- datasetExtensions:
- - id: order_lines
- workspaceDataFilterReferences:
- - filterColumn: wdf__state
- filterColumnDataType: STRING
- filterId:
- id: wdf__state
- type: workspaceDataFilter
- datasets: []
- dateInstances: []
- parent:
- id: demo
- type: workspace
- permissions: []
- settings: []
- userDataFilters: []
- - id: demo_west_california
- name: Demo West California
- automations: []
- customApplicationSettings: []
- filterViews: []
- hierarchyPermissions: []
- model:
- analytics:
- analyticalDashboardExtensions: []
- analyticalDashboards: []
- attributeHierarchies: []
- dashboardPlugins: []
- exportDefinitions: []
- filterContexts: []
- metrics: []
- visualizationObjects: []
- memoryItems: []
- ldm:
- datasets: []
- dateInstances: []
- parent:
- id: demo_west
- type: workspace
- permissions: []
- settings: []
- userDataFilters: []
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_load_and_put_declarative_ldm.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_load_and_put_declarative_ldm.yaml
deleted file mode 100644
index ed9f96d71..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_load_and_put_declarative_ldm.yaml
+++ /dev/null
@@ -1,3294 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo_testing?include=workspaces
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 404
- message: Not Found
- headers:
- Cache-Control:
- - max-age=5, private
- Connection:
- - keep-alive
- Content-Length:
- - '172'
- Content-Type:
- - application/problem+json
- DATE: &id001
- - PLACEHOLDER
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- detail: The requested endpoint does not exist or you do not have permission
- to access it.
- status: 404
- title: Not Found
- traceId: 61f05aefbadcec24a25dda5e7d9bc910
- - request:
- method: POST
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces
- body:
- data:
- id: demo_testing
- type: workspace
- attributes:
- name: demo_testing
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 201
- message: Created
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '204'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- name: demo_testing
- id: demo_testing
- type: workspace
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo_testing
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces/demo/logicalModel
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- ldm:
- datasets:
- - aggregatedFacts: []
- attributes:
- - description: Campaign channel id
- id: campaign_channel_id
- labels: []
- sourceColumn: campaign_channel_id
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Campaign channel id
- - description: Category
- id: campaign_channels.category
- labels: []
- sourceColumn: category
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Category
- - description: Type
- id: type
- labels: []
- sourceColumn: type
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Type
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaign_channels
- path:
- - demo
- - campaign_channels
- type: dataSource
- description: Campaign channels
- facts:
- - description: Budget
- id: budget
- sourceColumn: budget
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- title: Budget
- - description: Spend
- id: spend
- sourceColumn: spend
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- title: Spend
- grain:
- - id: campaign_channel_id
- type: attribute
- id: campaign_channels
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- dataType: INT
- target:
- id: campaign_id
- type: attribute
- tags:
- - Campaign channels
- title: Campaign channels
- - aggregatedFacts:
- - description: Budget Agg
- id: budget_agg
- sourceColumn: budget
- sourceColumnDataType: INT
- sourceFactReference:
- operation: SUM
- reference:
- id: budget
- type: fact
- tags:
- - Campaign channels per category
- attributes: []
- description: Campaign channels per categories
- facts: []
- grain: []
- id: campaign_channels_per_category
- precedence: 1
- references:
- - identifier:
- id: campaign_channels
- type: dataset
- multivalue: false
- sources:
- - column: campaign_channel_id
- dataType: STRING
- target:
- id: campaign_channel_id
- type: attribute
- sql:
- dataSourceId: demo-test-ds
- statement: SELECT category, SUM(budget) FROM campaign_channels GROUP
- BY category
- tags:
- - Campaign channels per category
- title: Campaign channels per category
- - aggregatedFacts: []
- attributes:
- - description: Campaign id
- id: campaign_id
- labels: []
- sourceColumn: campaign_id
- sourceColumnDataType: INT
- tags:
- - Campaigns
- title: Campaign id
- - description: Campaign name
- id: campaign_name
- labels: []
- sourceColumn: campaign_name
- sourceColumnDataType: STRING
- tags:
- - Campaigns
- title: Campaign name
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaigns
- path:
- - demo
- - campaigns
- type: dataSource
- description: Campaigns
- facts: []
- grain:
- - id: campaign_id
- type: attribute
- id: campaigns
- references: []
- tags:
- - Campaigns
- title: Campaigns
- - aggregatedFacts: []
- attributes:
- - description: Customer id
- id: customer_id
- labels: []
- sourceColumn: customer_id
- sourceColumnDataType: INT
- tags:
- - Customers
- title: Customer id
- - description: Customer name
- id: customer_name
- labels: []
- sourceColumn: customer_name
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Customer name
- - description: Region
- id: region
- labels: []
- sourceColumn: region
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Region
- - description: State
- id: state
- labels:
- - description: Location
- id: geo__state__location
- sourceColumn: geo__state__location
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Location
- valueType: GEO
- sourceColumn: state
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: State
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: customers
- path:
- - demo
- - customers
- type: dataSource
- description: Customers
- facts: []
- grain:
- - id: customer_id
- type: attribute
- id: customers
- references: []
- tags:
- - Customers
- title: Customers
- - aggregatedFacts: []
- attributes:
- - description: Order id
- id: order_id
- labels: []
- sourceColumn: order_id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order id
- - description: Order line id
- id: order_line_id
- labels: []
- sourceColumn: order_line_id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order line id
- - description: Order status
- id: order_status
- labels: []
- sourceColumn: order_status
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order status
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: order_lines
- path:
- - demo
- - order_lines
- type: dataSource
- description: Order lines
- facts:
- - description: Price
- id: price
- sourceColumn: price
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- title: Price
- - description: Quantity
- id: quantity
- sourceColumn: quantity
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- title: Quantity
- grain:
- - id: order_line_id
- type: attribute
- id: order_lines
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- dataType: INT
- target:
- id: campaign_id
- type: attribute
- - identifier:
- id: customers
- type: dataset
- multivalue: false
- sources:
- - column: customer_id
- dataType: INT
- target:
- id: customer_id
- type: attribute
- - identifier:
- id: date
- type: dataset
- multivalue: false
- sources:
- - column: date
- dataType: DATE
- target:
- id: date
- type: date
- - identifier:
- id: products
- type: dataset
- multivalue: false
- sources:
- - column: product_id
- dataType: INT
- target:
- id: product_id
- type: attribute
- tags:
- - Order lines
- title: Order lines
- workspaceDataFilterColumns:
- - dataType: STRING
- name: wdf__region
- - dataType: STRING
- name: wdf__state
- workspaceDataFilterReferences:
- - filterColumn: wdf__region
- filterColumnDataType: STRING
- filterId:
- id: wdf__region
- type: workspaceDataFilter
- - aggregatedFacts: []
- attributes:
- - description: Product id
- id: product_id
- labels: []
- sourceColumn: product_id
- sourceColumnDataType: INT
- tags:
- - Products
- title: Product id
- - description: Product name
- id: product_name
- labels: []
- sourceColumn: product_name
- sourceColumnDataType: STRING
- tags:
- - Products
- title: Product name
- - description: Category
- id: products.category
- labels: []
- sourceColumn: category
- sourceColumnDataType: STRING
- tags:
- - Products
- title: Category
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: products
- path:
- - demo
- - products
- type: dataSource
- description: Products
- facts: []
- grain:
- - id: product_id
- type: attribute
- id: products
- references: []
- tags:
- - Products
- title: Products
- dateInstances:
- - description: ''
- granularities:
- - DAY
- - WEEK
- - MONTH
- - QUARTER
- - YEAR
- granularitiesFormatting:
- titleBase: ''
- titlePattern: '%titleBase - %granularityTitle'
- id: date
- tags:
- - Date
- title: Date
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/organization
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 302
- message: Found
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '0'
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Location:
- - /api/v1/entities/admin/organizations/python-sdk-dex
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/admin/organizations/python-sdk-dex
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '564'
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- name: Python SDK Dex
- hostname: python-sdk-dex.dev-latest.stg11.panther.intgdc.com
- allowedOrigins: []
- earlyAccess: enableAlerting
- earlyAccessValues:
- - enableAlerting
- - enableSmtp
- - enablePreAggregationDatasets
- - enableScheduling
- - enableCompositeGrain
- - enableUserManagement
- - enableRawExports
- - enableFlexibleDashboardLayout
- region: ''
- dataCenter: ''
- id: python-sdk-dex
- type: organization
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/admin/organizations/python-sdk-dex
- - request:
- method: PUT
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/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
- sources:
- - column: campaign_id
- target:
- id: campaign_id
- type: attribute
- dataType: INT
- title: Campaign channels
- description: Campaign channels
- attributes:
- - id: campaign_channel_id
- labels: []
- sourceColumn: campaign_channel_id
- title: Campaign channel id
- sourceColumnDataType: STRING
- description: Campaign channel id
- tags:
- - Campaign channels
- - id: campaign_channels.category
- labels: []
- sourceColumn: category
- title: Category
- sourceColumnDataType: STRING
- description: Category
- tags:
- - Campaign channels
- - id: type
- labels: []
- sourceColumn: type
- title: Type
- sourceColumnDataType: STRING
- description: Type
- tags:
- - Campaign channels
- facts:
- - id: budget
- sourceColumn: budget
- title: Budget
- sourceColumnDataType: NUMERIC
- description: Budget
- tags:
- - Campaign channels
- - id: spend
- sourceColumn: spend
- title: Spend
- sourceColumnDataType: NUMERIC
- description: Spend
- tags:
- - Campaign channels
- aggregatedFacts: []
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaign_channels
- type: dataSource
- path:
- - demo
- - campaign_channels
- tags:
- - Campaign channels
- - grain: []
- id: campaign_channels_per_category
- references:
- - identifier:
- id: campaign_channels
- type: dataset
- multivalue: false
- sources:
- - column: campaign_channel_id
- target:
- id: campaign_channel_id
- type: attribute
- dataType: STRING
- title: Campaign channels per category
- description: Campaign channels per categories
- attributes: []
- facts: []
- aggregatedFacts:
- - id: budget_agg
- sourceColumn: budget
- sourceFactReference:
- operation: SUM
- reference:
- id: budget
- type: fact
- sourceColumnDataType: INT
- description: Budget Agg
- tags:
- - Campaign channels per category
- precedence: 1
- sql:
- dataSourceId: demo-test-ds
- statement: SELECT category, SUM(budget) FROM campaign_channels GROUP
- BY category
- tags:
- - Campaign channels per category
- - grain:
- - id: campaign_id
- type: attribute
- id: campaigns
- references: []
- title: Campaigns
- description: Campaigns
- attributes:
- - id: campaign_id
- labels: []
- sourceColumn: campaign_id
- title: Campaign id
- sourceColumnDataType: INT
- description: Campaign id
- tags:
- - Campaigns
- - id: campaign_name
- labels: []
- sourceColumn: campaign_name
- title: Campaign name
- sourceColumnDataType: STRING
- description: Campaign name
- tags:
- - Campaigns
- facts: []
- aggregatedFacts: []
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaigns
- type: dataSource
- path:
- - demo
- - campaigns
- 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
- sourceColumnDataType: INT
- description: Customer id
- tags:
- - Customers
- - id: customer_name
- labels: []
- sourceColumn: customer_name
- title: Customer name
- sourceColumnDataType: STRING
- description: Customer name
- tags:
- - Customers
- - id: region
- labels: []
- sourceColumn: region
- title: Region
- sourceColumnDataType: STRING
- description: Region
- tags:
- - Customers
- - id: state
- labels:
- - id: geo__state__location
- sourceColumn: geo__state__location
- title: Location
- sourceColumnDataType: STRING
- description: Location
- tags:
- - Customers
- valueType: GEO
- sourceColumn: state
- title: State
- sourceColumnDataType: STRING
- description: State
- tags:
- - Customers
- facts: []
- aggregatedFacts: []
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: customers
- type: dataSource
- path:
- - demo
- - customers
- tags:
- - Customers
- - grain:
- - id: order_line_id
- type: attribute
- id: order_lines
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- target:
- id: campaign_id
- type: attribute
- dataType: INT
- - identifier:
- id: customers
- type: dataset
- multivalue: false
- sources:
- - column: customer_id
- target:
- id: customer_id
- type: attribute
- dataType: INT
- - identifier:
- id: date
- type: dataset
- multivalue: false
- sources:
- - column: date
- target:
- id: date
- type: date
- dataType: DATE
- - identifier:
- id: products
- type: dataset
- multivalue: false
- sources:
- - column: product_id
- target:
- id: product_id
- type: attribute
- dataType: INT
- title: Order lines
- description: Order lines
- attributes:
- - id: order_id
- labels: []
- sourceColumn: order_id
- title: Order id
- sourceColumnDataType: STRING
- description: Order id
- tags:
- - Order lines
- - id: order_line_id
- labels: []
- sourceColumn: order_line_id
- title: Order line id
- sourceColumnDataType: STRING
- description: Order line id
- tags:
- - Order lines
- - id: order_status
- labels: []
- sourceColumn: order_status
- title: Order status
- sourceColumnDataType: STRING
- description: Order status
- tags:
- - Order lines
- facts:
- - id: price
- sourceColumn: price
- title: Price
- sourceColumnDataType: NUMERIC
- description: Price
- tags:
- - Order lines
- - id: quantity
- sourceColumn: quantity
- title: Quantity
- sourceColumnDataType: NUMERIC
- description: Quantity
- tags:
- - Order lines
- aggregatedFacts: []
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: order_lines
- type: dataSource
- path:
- - demo
- - order_lines
- tags:
- - Order lines
- workspaceDataFilterColumns:
- - dataType: STRING
- name: wdf__region
- - dataType: STRING
- name: wdf__state
- - grain:
- - id: product_id
- type: attribute
- id: products
- references: []
- title: Products
- description: Products
- attributes:
- - id: product_id
- labels: []
- sourceColumn: product_id
- title: Product id
- sourceColumnDataType: INT
- description: Product id
- tags:
- - Products
- - id: product_name
- labels: []
- sourceColumn: product_name
- title: Product name
- sourceColumnDataType: STRING
- description: Product name
- tags:
- - Products
- - id: products.category
- labels: []
- sourceColumn: category
- title: Category
- sourceColumnDataType: STRING
- description: Category
- tags:
- - Products
- facts: []
- aggregatedFacts: []
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: products
- type: dataSource
- path:
- - demo
- - products
- tags:
- - Products
- dateInstances:
- - granularities:
- - DAY
- - WEEK
- - MONTH
- - QUARTER
- - YEAR
- granularitiesFormatting:
- titleBase: ''
- titlePattern: '%titleBase - %granularityTitle'
- id: date
- title: Date
- description: ''
- tags:
- - Date
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces/demo_testing/logicalModel
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- ldm:
- datasets:
- - aggregatedFacts: []
- attributes:
- - description: Campaign channel id
- id: campaign_channel_id
- labels: []
- sourceColumn: campaign_channel_id
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Campaign channel id
- - description: Category
- id: campaign_channels.category
- labels: []
- sourceColumn: category
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Category
- - description: Type
- id: type
- labels: []
- sourceColumn: type
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Type
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaign_channels
- path:
- - demo
- - campaign_channels
- type: dataSource
- description: Campaign channels
- facts:
- - description: Budget
- id: budget
- sourceColumn: budget
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- title: Budget
- - description: Spend
- id: spend
- sourceColumn: spend
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- title: Spend
- grain:
- - id: campaign_channel_id
- type: attribute
- id: campaign_channels
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- dataType: INT
- target:
- id: campaign_id
- type: attribute
- tags:
- - Campaign channels
- title: Campaign channels
- - aggregatedFacts:
- - description: Budget Agg
- id: budget_agg
- sourceColumn: budget
- sourceColumnDataType: INT
- sourceFactReference:
- operation: SUM
- reference:
- id: budget
- type: fact
- tags:
- - Campaign channels per category
- attributes: []
- description: Campaign channels per categories
- facts: []
- grain: []
- id: campaign_channels_per_category
- precedence: 1
- references:
- - identifier:
- id: campaign_channels
- type: dataset
- multivalue: false
- sources:
- - column: campaign_channel_id
- dataType: STRING
- target:
- id: campaign_channel_id
- type: attribute
- sql:
- dataSourceId: demo-test-ds
- statement: SELECT category, SUM(budget) FROM campaign_channels GROUP
- BY category
- tags:
- - Campaign channels per category
- title: Campaign channels per category
- - aggregatedFacts: []
- attributes:
- - description: Campaign id
- id: campaign_id
- labels: []
- sourceColumn: campaign_id
- sourceColumnDataType: INT
- tags:
- - Campaigns
- title: Campaign id
- - description: Campaign name
- id: campaign_name
- labels: []
- sourceColumn: campaign_name
- sourceColumnDataType: STRING
- tags:
- - Campaigns
- title: Campaign name
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaigns
- path:
- - demo
- - campaigns
- type: dataSource
- description: Campaigns
- facts: []
- grain:
- - id: campaign_id
- type: attribute
- id: campaigns
- references: []
- tags:
- - Campaigns
- title: Campaigns
- - aggregatedFacts: []
- attributes:
- - description: Customer id
- id: customer_id
- labels: []
- sourceColumn: customer_id
- sourceColumnDataType: INT
- tags:
- - Customers
- title: Customer id
- - description: Customer name
- id: customer_name
- labels: []
- sourceColumn: customer_name
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Customer name
- - description: Region
- id: region
- labels: []
- sourceColumn: region
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Region
- - description: State
- id: state
- labels:
- - description: Location
- id: geo__state__location
- sourceColumn: geo__state__location
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Location
- valueType: GEO
- sourceColumn: state
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: State
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: customers
- path:
- - demo
- - customers
- type: dataSource
- description: Customers
- facts: []
- grain:
- - id: customer_id
- type: attribute
- id: customers
- references: []
- tags:
- - Customers
- title: Customers
- - aggregatedFacts: []
- attributes:
- - description: Order id
- id: order_id
- labels: []
- sourceColumn: order_id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order id
- - description: Order line id
- id: order_line_id
- labels: []
- sourceColumn: order_line_id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order line id
- - description: Order status
- id: order_status
- labels: []
- sourceColumn: order_status
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order status
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: order_lines
- path:
- - demo
- - order_lines
- type: dataSource
- description: Order lines
- facts:
- - description: Price
- id: price
- sourceColumn: price
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- title: Price
- - description: Quantity
- id: quantity
- sourceColumn: quantity
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- title: Quantity
- grain:
- - id: order_line_id
- type: attribute
- id: order_lines
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- dataType: INT
- target:
- id: campaign_id
- type: attribute
- - identifier:
- id: customers
- type: dataset
- multivalue: false
- sources:
- - column: customer_id
- dataType: INT
- target:
- id: customer_id
- type: attribute
- - identifier:
- id: date
- type: dataset
- multivalue: false
- sources:
- - column: date
- dataType: DATE
- target:
- id: date
- type: date
- - identifier:
- id: products
- type: dataset
- multivalue: false
- sources:
- - column: product_id
- dataType: INT
- target:
- id: product_id
- type: attribute
- tags:
- - Order lines
- title: Order lines
- workspaceDataFilterColumns:
- - dataType: STRING
- name: wdf__region
- - dataType: STRING
- name: wdf__state
- - aggregatedFacts: []
- attributes:
- - description: Product id
- id: product_id
- labels: []
- sourceColumn: product_id
- sourceColumnDataType: INT
- tags:
- - Products
- title: Product id
- - description: Product name
- id: product_name
- labels: []
- sourceColumn: product_name
- sourceColumnDataType: STRING
- tags:
- - Products
- title: Product name
- - description: Category
- id: products.category
- labels: []
- sourceColumn: category
- sourceColumnDataType: STRING
- tags:
- - Products
- title: Category
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: products
- path:
- - demo
- - products
- type: dataSource
- description: Products
- facts: []
- grain:
- - id: product_id
- type: attribute
- id: products
- references: []
- tags:
- - Products
- title: Products
- dateInstances:
- - description: ''
- granularities:
- - DAY
- - WEEK
- - MONTH
- - QUARTER
- - YEAR
- granularitiesFormatting:
- titleBase: ''
- titlePattern: '%titleBase - %granularityTitle'
- id: date
- tags:
- - Date
- title: Date
- - request:
- method: PUT
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces
- body:
- 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:
- - id: demo
- name: Demo
- automations: []
- customApplicationSettings: []
- filterViews: []
- hierarchyPermissions:
- - assignee:
- id: demo2
- type: user
- name: MANAGE
- - assignee:
- id: demoGroup
- type: userGroup
- name: ANALYZE
- model:
- analytics:
- analyticalDashboardExtensions: []
- analyticalDashboards:
- - content:
- filterContextRef:
- identifier:
- id: campaign_name_filter
- type: filterContext
- layout:
- type: IDashboardLayout
- sections:
- - type: IDashboardLayoutSection
- header:
- title: Spend breakdown and Revenue
- description: The first insight shows a breakdown of
- spend by category and campaign. The second shows revenue
- per $ spend, for each campaign, to demonstrate, how
- campaigns are successful.
- 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: ''
- permissions:
- - assigneeRule:
- type: allWorkspaceUsers
- name: VIEW
- - 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: ''
- attributeHierarchies: []
- 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
- exportDefinitions: []
- 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
- memoryItems: []
- ldm:
- datasets:
- - grain:
- - id: campaign_channel_id
- type: attribute
- id: campaign_channels
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- target:
- id: campaign_id
- type: attribute
- dataType: INT
- title: Campaign channels
- aggregatedFacts: []
- attributes:
- - id: campaign_channel_id
- labels: []
- sourceColumn: campaign_channel_id
- title: Campaign channel id
- description: Campaign channel id
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- - id: campaign_channels.category
- labels: []
- sourceColumn: category
- title: Category
- description: Category
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- - id: type
- labels: []
- sourceColumn: type
- title: Type
- description: Type
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaign_channels
- type: dataSource
- path:
- - demo
- - campaign_channels
- description: Campaign channels
- facts:
- - id: budget
- sourceColumn: budget
- title: Budget
- description: Budget
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- - id: spend
- sourceColumn: spend
- title: Spend
- description: Spend
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- tags:
- - Campaign channels
- - grain: []
- id: campaign_channels_per_category
- references:
- - identifier:
- id: campaign_channels
- type: dataset
- multivalue: false
- sources:
- - column: campaign_channel_id
- target:
- id: campaign_channel_id
- type: attribute
- dataType: STRING
- title: Campaign channels per category
- aggregatedFacts:
- - id: budget_agg
- sourceColumn: budget
- sourceFactReference:
- operation: SUM
- reference:
- id: budget
- type: fact
- description: Budget Agg
- sourceColumnDataType: INT
- tags:
- - Campaign channels per category
- attributes: []
- description: Campaign channels per categories
- facts: []
- precedence: 1
- sql:
- dataSourceId: demo-test-ds
- statement: SELECT category, SUM(budget) FROM campaign_channels
- GROUP BY category
- tags:
- - Campaign channels per category
- - grain:
- - id: campaign_id
- type: attribute
- id: campaigns
- references: []
- title: Campaigns
- aggregatedFacts: []
- attributes:
- - id: campaign_id
- labels: []
- sourceColumn: campaign_id
- title: Campaign id
- description: Campaign id
- sourceColumnDataType: INT
- tags:
- - Campaigns
- - id: campaign_name
- labels: []
- sourceColumn: campaign_name
- title: Campaign name
- description: Campaign name
- sourceColumnDataType: STRING
- tags:
- - Campaigns
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaigns
- type: dataSource
- path:
- - demo
- - campaigns
- description: Campaigns
- facts: []
- tags:
- - Campaigns
- - grain:
- - id: customer_id
- type: attribute
- id: customers
- references: []
- title: Customers
- aggregatedFacts: []
- attributes:
- - id: customer_id
- labels: []
- sourceColumn: customer_id
- title: Customer id
- description: Customer id
- sourceColumnDataType: INT
- tags:
- - Customers
- - id: customer_name
- labels: []
- sourceColumn: customer_name
- title: Customer name
- description: Customer name
- sourceColumnDataType: STRING
- tags:
- - Customers
- - id: region
- labels: []
- sourceColumn: region
- title: Region
- description: Region
- sourceColumnDataType: STRING
- tags:
- - Customers
- - id: state
- labels:
- - id: geo__state__location
- sourceColumn: geo__state__location
- title: Location
- description: Location
- sourceColumnDataType: STRING
- tags:
- - Customers
- valueType: GEO
- sourceColumn: state
- title: State
- description: State
- sourceColumnDataType: STRING
- tags:
- - Customers
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: customers
- type: dataSource
- path:
- - demo
- - customers
- description: Customers
- facts: []
- tags:
- - Customers
- - grain:
- - id: order_line_id
- type: attribute
- id: order_lines
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- target:
- id: campaign_id
- type: attribute
- dataType: INT
- - identifier:
- id: customers
- type: dataset
- multivalue: false
- sources:
- - column: customer_id
- target:
- id: customer_id
- type: attribute
- dataType: INT
- - identifier:
- id: date
- type: dataset
- multivalue: false
- sources:
- - column: date
- target:
- id: date
- type: date
- dataType: DATE
- - identifier:
- id: products
- type: dataset
- multivalue: false
- sources:
- - column: product_id
- target:
- id: product_id
- type: attribute
- dataType: INT
- title: Order lines
- aggregatedFacts: []
- attributes:
- - id: order_id
- labels: []
- sourceColumn: order_id
- title: Order id
- description: Order id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- - id: order_line_id
- labels: []
- sourceColumn: order_line_id
- title: Order line id
- description: Order line id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- - id: order_status
- labels: []
- sourceColumn: order_status
- title: Order status
- description: Order status
- sourceColumnDataType: STRING
- tags:
- - Order lines
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: order_lines
- type: dataSource
- path:
- - demo
- - order_lines
- description: Order lines
- facts:
- - id: price
- sourceColumn: price
- title: Price
- description: Price
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- - id: quantity
- sourceColumn: quantity
- title: Quantity
- description: Quantity
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- tags:
- - Order lines
- workspaceDataFilterColumns:
- - dataType: STRING
- name: wdf__region
- - dataType: STRING
- name: wdf__state
- workspaceDataFilterReferences:
- - filterColumn: wdf__region
- filterColumnDataType: STRING
- filterId:
- id: wdf__region
- type: workspaceDataFilter
- - grain:
- - id: product_id
- type: attribute
- id: products
- references: []
- title: Products
- aggregatedFacts: []
- attributes:
- - id: product_id
- labels: []
- sourceColumn: product_id
- title: Product id
- description: Product id
- sourceColumnDataType: INT
- tags:
- - Products
- - id: product_name
- labels: []
- sourceColumn: product_name
- title: Product name
- description: Product name
- sourceColumnDataType: STRING
- tags:
- - Products
- - id: products.category
- labels: []
- sourceColumn: category
- title: Category
- description: Category
- sourceColumnDataType: STRING
- tags:
- - Products
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: products
- type: dataSource
- path:
- - demo
- - products
- description: Products
- facts: []
- tags:
- - Products
- dateInstances:
- - granularities:
- - DAY
- - WEEK
- - MONTH
- - QUARTER
- - YEAR
- granularitiesFormatting:
- titleBase: ''
- titlePattern: '%titleBase - %granularityTitle'
- id: date
- title: Date
- description: ''
- tags:
- - Date
- permissions:
- - assignee:
- id: demo2
- type: user
- name: ANALYZE
- - assignee:
- id: demoGroup
- type: userGroup
- name: VIEW
- settings: []
- userDataFilters: []
- - id: demo_west
- name: Demo West
- automations: []
- customApplicationSettings: []
- filterViews: []
- hierarchyPermissions: []
- model:
- analytics:
- analyticalDashboardExtensions:
- - id: campaign
- permissions:
- - assigneeRule:
- type: allWorkspaceUsers
- name: VIEW
- analyticalDashboards: []
- attributeHierarchies: []
- dashboardPlugins: []
- exportDefinitions: []
- filterContexts: []
- metrics: []
- visualizationObjects: []
- memoryItems: []
- ldm:
- datasetExtensions:
- - id: order_lines
- workspaceDataFilterReferences:
- - filterColumn: wdf__state
- filterColumnDataType: STRING
- filterId:
- id: wdf__state
- type: workspaceDataFilter
- datasets: []
- dateInstances: []
- parent:
- id: demo
- type: workspace
- permissions: []
- settings: []
- userDataFilters: []
- - id: demo_west_california
- name: Demo West California
- automations: []
- customApplicationSettings: []
- filterViews: []
- hierarchyPermissions: []
- model:
- analytics:
- analyticalDashboardExtensions: []
- analyticalDashboards: []
- attributeHierarchies: []
- dashboardPlugins: []
- exportDefinitions: []
- filterContexts: []
- metrics: []
- visualizationObjects: []
- memoryItems: []
- ldm:
- datasets: []
- dateInstances: []
- parent:
- id: demo_west
- type: workspace
- permissions: []
- settings: []
- userDataFilters: []
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_load_ldm_and_modify_tables_columns_case.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_load_ldm_and_modify_tables_columns_case.yaml
deleted file mode 100644
index 0232a06d7..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_load_ldm_and_modify_tables_columns_case.yaml
+++ /dev/null
@@ -1,418 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces/demo/logicalModel
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- ldm:
- datasets:
- - aggregatedFacts: []
- attributes:
- - description: Campaign channel id
- id: campaign_channel_id
- labels: []
- sourceColumn: campaign_channel_id
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Campaign channel id
- - description: Category
- id: campaign_channels.category
- labels: []
- sourceColumn: category
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Category
- - description: Type
- id: type
- labels: []
- sourceColumn: type
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Type
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaign_channels
- path:
- - demo
- - campaign_channels
- type: dataSource
- description: Campaign channels
- facts:
- - description: Budget
- id: budget
- sourceColumn: budget
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- title: Budget
- - description: Spend
- id: spend
- sourceColumn: spend
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- title: Spend
- grain:
- - id: campaign_channel_id
- type: attribute
- id: campaign_channels
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- dataType: INT
- target:
- id: campaign_id
- type: attribute
- tags:
- - Campaign channels
- title: Campaign channels
- - aggregatedFacts:
- - description: Budget Agg
- id: budget_agg
- sourceColumn: budget
- sourceColumnDataType: INT
- sourceFactReference:
- operation: SUM
- reference:
- id: budget
- type: fact
- tags:
- - Campaign channels per category
- attributes: []
- description: Campaign channels per categories
- facts: []
- grain: []
- id: campaign_channels_per_category
- precedence: 1
- references:
- - identifier:
- id: campaign_channels
- type: dataset
- multivalue: false
- sources:
- - column: campaign_channel_id
- dataType: STRING
- target:
- id: campaign_channel_id
- type: attribute
- sql:
- dataSourceId: demo-test-ds
- statement: SELECT category, SUM(budget) FROM campaign_channels GROUP
- BY category
- tags:
- - Campaign channels per category
- title: Campaign channels per category
- - aggregatedFacts: []
- attributes:
- - description: Campaign id
- id: campaign_id
- labels: []
- sourceColumn: campaign_id
- sourceColumnDataType: INT
- tags:
- - Campaigns
- title: Campaign id
- - description: Campaign name
- id: campaign_name
- labels: []
- sourceColumn: campaign_name
- sourceColumnDataType: STRING
- tags:
- - Campaigns
- title: Campaign name
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaigns
- path:
- - demo
- - campaigns
- type: dataSource
- description: Campaigns
- facts: []
- grain:
- - id: campaign_id
- type: attribute
- id: campaigns
- references: []
- tags:
- - Campaigns
- title: Campaigns
- - aggregatedFacts: []
- attributes:
- - description: Customer id
- id: customer_id
- labels: []
- sourceColumn: customer_id
- sourceColumnDataType: INT
- tags:
- - Customers
- title: Customer id
- - description: Customer name
- id: customer_name
- labels: []
- sourceColumn: customer_name
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Customer name
- - description: Region
- id: region
- labels: []
- sourceColumn: region
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Region
- - description: State
- id: state
- labels:
- - description: Location
- id: geo__state__location
- sourceColumn: geo__state__location
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Location
- valueType: GEO
- sourceColumn: state
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: State
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: customers
- path:
- - demo
- - customers
- type: dataSource
- description: Customers
- facts: []
- grain:
- - id: customer_id
- type: attribute
- id: customers
- references: []
- tags:
- - Customers
- title: Customers
- - aggregatedFacts: []
- attributes:
- - description: Order id
- id: order_id
- labels: []
- sourceColumn: order_id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order id
- - description: Order line id
- id: order_line_id
- labels: []
- sourceColumn: order_line_id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order line id
- - description: Order status
- id: order_status
- labels: []
- sourceColumn: order_status
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order status
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: order_lines
- path:
- - demo
- - order_lines
- type: dataSource
- description: Order lines
- facts:
- - description: Price
- id: price
- sourceColumn: price
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- title: Price
- - description: Quantity
- id: quantity
- sourceColumn: quantity
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- title: Quantity
- grain:
- - id: order_line_id
- type: attribute
- id: order_lines
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- dataType: INT
- target:
- id: campaign_id
- type: attribute
- - identifier:
- id: customers
- type: dataset
- multivalue: false
- sources:
- - column: customer_id
- dataType: INT
- target:
- id: customer_id
- type: attribute
- - identifier:
- id: date
- type: dataset
- multivalue: false
- sources:
- - column: date
- dataType: DATE
- target:
- id: date
- type: date
- - identifier:
- id: products
- type: dataset
- multivalue: false
- sources:
- - column: product_id
- dataType: INT
- target:
- id: product_id
- type: attribute
- tags:
- - Order lines
- title: Order lines
- workspaceDataFilterColumns:
- - dataType: STRING
- name: wdf__region
- - dataType: STRING
- name: wdf__state
- workspaceDataFilterReferences:
- - filterColumn: wdf__region
- filterColumnDataType: STRING
- filterId:
- id: wdf__region
- type: workspaceDataFilter
- - aggregatedFacts: []
- attributes:
- - description: Product id
- id: product_id
- labels: []
- sourceColumn: product_id
- sourceColumnDataType: INT
- tags:
- - Products
- title: Product id
- - description: Product name
- id: product_name
- labels: []
- sourceColumn: product_name
- sourceColumnDataType: STRING
- tags:
- - Products
- title: Product name
- - description: Category
- id: products.category
- labels: []
- sourceColumn: category
- sourceColumnDataType: STRING
- tags:
- - Products
- title: Category
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: products
- path:
- - demo
- - products
- type: dataSource
- description: Products
- facts: []
- grain:
- - id: product_id
- type: attribute
- id: products
- references: []
- tags:
- - Products
- title: Products
- dateInstances:
- - description: ''
- granularities:
- - DAY
- - WEEK
- - MONTH
- - QUARTER
- - YEAR
- granularitiesFormatting:
- titleBase: ''
- titlePattern: '%titleBase - %granularityTitle'
- id: date
- tags:
- - Date
- title: Date
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_put_declarative_analytics_model.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_put_declarative_analytics_model.yaml
deleted file mode 100644
index 84cae9a03..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_put_declarative_analytics_model.yaml
+++ /dev/null
@@ -1,2939 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/test_put_declarative_analytics_model?include=workspaces
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 404
- message: Not Found
- headers:
- Cache-Control:
- - max-age=5, private
- Connection:
- - keep-alive
- Content-Length:
- - '172'
- Content-Type:
- - application/problem+json
- DATE: &id001
- - PLACEHOLDER
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- detail: The requested endpoint does not exist or you do not have permission
- to access it.
- status: 404
- title: Not Found
- traceId: 0d71052d5f1267fd96635c5c131df96d
- - request:
- method: POST
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces
- body:
- data:
- id: test_put_declarative_analytics_model
- type: workspace
- attributes:
- name: test_put_declarative_analytics_model
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 201
- message: Created
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '276'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- name: test_put_declarative_analytics_model
- id: test_put_declarative_analytics_model
- type: workspace
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/test_put_declarative_analytics_model
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces/demo/logicalModel
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- ldm:
- datasets:
- - aggregatedFacts: []
- attributes:
- - description: Campaign channel id
- id: campaign_channel_id
- labels: []
- sourceColumn: campaign_channel_id
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Campaign channel id
- - description: Category
- id: campaign_channels.category
- labels: []
- sourceColumn: category
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Category
- - description: Type
- id: type
- labels: []
- sourceColumn: type
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Type
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaign_channels
- path:
- - demo
- - campaign_channels
- type: dataSource
- description: Campaign channels
- facts:
- - description: Budget
- id: budget
- sourceColumn: budget
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- title: Budget
- - description: Spend
- id: spend
- sourceColumn: spend
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- title: Spend
- grain:
- - id: campaign_channel_id
- type: attribute
- id: campaign_channels
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- dataType: INT
- target:
- id: campaign_id
- type: attribute
- tags:
- - Campaign channels
- title: Campaign channels
- - aggregatedFacts:
- - description: Budget Agg
- id: budget_agg
- sourceColumn: budget
- sourceColumnDataType: INT
- sourceFactReference:
- operation: SUM
- reference:
- id: budget
- type: fact
- tags:
- - Campaign channels per category
- attributes: []
- description: Campaign channels per categories
- facts: []
- grain: []
- id: campaign_channels_per_category
- precedence: 1
- references:
- - identifier:
- id: campaign_channels
- type: dataset
- multivalue: false
- sources:
- - column: campaign_channel_id
- dataType: STRING
- target:
- id: campaign_channel_id
- type: attribute
- sql:
- dataSourceId: demo-test-ds
- statement: SELECT category, SUM(budget) FROM campaign_channels GROUP
- BY category
- tags:
- - Campaign channels per category
- title: Campaign channels per category
- - aggregatedFacts: []
- attributes:
- - description: Campaign id
- id: campaign_id
- labels: []
- sourceColumn: campaign_id
- sourceColumnDataType: INT
- tags:
- - Campaigns
- title: Campaign id
- - description: Campaign name
- id: campaign_name
- labels: []
- sourceColumn: campaign_name
- sourceColumnDataType: STRING
- tags:
- - Campaigns
- title: Campaign name
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaigns
- path:
- - demo
- - campaigns
- type: dataSource
- description: Campaigns
- facts: []
- grain:
- - id: campaign_id
- type: attribute
- id: campaigns
- references: []
- tags:
- - Campaigns
- title: Campaigns
- - aggregatedFacts: []
- attributes:
- - description: Customer id
- id: customer_id
- labels: []
- sourceColumn: customer_id
- sourceColumnDataType: INT
- tags:
- - Customers
- title: Customer id
- - description: Customer name
- id: customer_name
- labels: []
- sourceColumn: customer_name
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Customer name
- - description: Region
- id: region
- labels: []
- sourceColumn: region
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Region
- - description: State
- id: state
- labels:
- - description: Location
- id: geo__state__location
- sourceColumn: geo__state__location
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Location
- valueType: GEO
- sourceColumn: state
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: State
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: customers
- path:
- - demo
- - customers
- type: dataSource
- description: Customers
- facts: []
- grain:
- - id: customer_id
- type: attribute
- id: customers
- references: []
- tags:
- - Customers
- title: Customers
- - aggregatedFacts: []
- attributes:
- - description: Order id
- id: order_id
- labels: []
- sourceColumn: order_id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order id
- - description: Order line id
- id: order_line_id
- labels: []
- sourceColumn: order_line_id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order line id
- - description: Order status
- id: order_status
- labels: []
- sourceColumn: order_status
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order status
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: order_lines
- path:
- - demo
- - order_lines
- type: dataSource
- description: Order lines
- facts:
- - description: Price
- id: price
- sourceColumn: price
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- title: Price
- - description: Quantity
- id: quantity
- sourceColumn: quantity
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- title: Quantity
- grain:
- - id: order_line_id
- type: attribute
- id: order_lines
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- dataType: INT
- target:
- id: campaign_id
- type: attribute
- - identifier:
- id: customers
- type: dataset
- multivalue: false
- sources:
- - column: customer_id
- dataType: INT
- target:
- id: customer_id
- type: attribute
- - identifier:
- id: date
- type: dataset
- multivalue: false
- sources:
- - column: date
- dataType: DATE
- target:
- id: date
- type: date
- - identifier:
- id: products
- type: dataset
- multivalue: false
- sources:
- - column: product_id
- dataType: INT
- target:
- id: product_id
- type: attribute
- tags:
- - Order lines
- title: Order lines
- workspaceDataFilterColumns:
- - dataType: STRING
- name: wdf__region
- - dataType: STRING
- name: wdf__state
- workspaceDataFilterReferences:
- - filterColumn: wdf__region
- filterColumnDataType: STRING
- filterId:
- id: wdf__region
- type: workspaceDataFilter
- - aggregatedFacts: []
- attributes:
- - description: Product id
- id: product_id
- labels: []
- sourceColumn: product_id
- sourceColumnDataType: INT
- tags:
- - Products
- title: Product id
- - description: Product name
- id: product_name
- labels: []
- sourceColumn: product_name
- sourceColumnDataType: STRING
- tags:
- - Products
- title: Product name
- - description: Category
- id: products.category
- labels: []
- sourceColumn: category
- sourceColumnDataType: STRING
- tags:
- - Products
- title: Category
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: products
- path:
- - demo
- - products
- type: dataSource
- description: Products
- facts: []
- grain:
- - id: product_id
- type: attribute
- id: products
- references: []
- tags:
- - Products
- title: Products
- dateInstances:
- - description: ''
- granularities:
- - DAY
- - WEEK
- - MONTH
- - QUARTER
- - YEAR
- granularitiesFormatting:
- titleBase: ''
- titlePattern: '%titleBase - %granularityTitle'
- id: date
- tags:
- - Date
- title: Date
- - request:
- method: PUT
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/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
- sources:
- - column: campaign_id
- target:
- id: campaign_id
- type: attribute
- dataType: INT
- title: Campaign channels
- description: Campaign channels
- attributes:
- - id: campaign_channel_id
- labels: []
- sourceColumn: campaign_channel_id
- title: Campaign channel id
- sourceColumnDataType: STRING
- description: Campaign channel id
- tags:
- - Campaign channels
- - id: campaign_channels.category
- labels: []
- sourceColumn: category
- title: Category
- sourceColumnDataType: STRING
- description: Category
- tags:
- - Campaign channels
- - id: type
- labels: []
- sourceColumn: type
- title: Type
- sourceColumnDataType: STRING
- description: Type
- tags:
- - Campaign channels
- facts:
- - id: budget
- sourceColumn: budget
- title: Budget
- sourceColumnDataType: NUMERIC
- description: Budget
- tags:
- - Campaign channels
- - id: spend
- sourceColumn: spend
- title: Spend
- sourceColumnDataType: NUMERIC
- description: Spend
- tags:
- - Campaign channels
- aggregatedFacts: []
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaign_channels
- type: dataSource
- path:
- - demo
- - campaign_channels
- tags:
- - Campaign channels
- - grain: []
- id: campaign_channels_per_category
- references:
- - identifier:
- id: campaign_channels
- type: dataset
- multivalue: false
- sources:
- - column: campaign_channel_id
- target:
- id: campaign_channel_id
- type: attribute
- dataType: STRING
- title: Campaign channels per category
- description: Campaign channels per categories
- attributes: []
- facts: []
- aggregatedFacts:
- - id: budget_agg
- sourceColumn: budget
- sourceFactReference:
- operation: SUM
- reference:
- id: budget
- type: fact
- sourceColumnDataType: INT
- description: Budget Agg
- tags:
- - Campaign channels per category
- precedence: 1
- sql:
- dataSourceId: demo-test-ds
- statement: SELECT category, SUM(budget) FROM campaign_channels GROUP
- BY category
- tags:
- - Campaign channels per category
- - grain:
- - id: campaign_id
- type: attribute
- id: campaigns
- references: []
- title: Campaigns
- description: Campaigns
- attributes:
- - id: campaign_id
- labels: []
- sourceColumn: campaign_id
- title: Campaign id
- sourceColumnDataType: INT
- description: Campaign id
- tags:
- - Campaigns
- - id: campaign_name
- labels: []
- sourceColumn: campaign_name
- title: Campaign name
- sourceColumnDataType: STRING
- description: Campaign name
- tags:
- - Campaigns
- facts: []
- aggregatedFacts: []
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaigns
- type: dataSource
- path:
- - demo
- - campaigns
- 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
- sourceColumnDataType: INT
- description: Customer id
- tags:
- - Customers
- - id: customer_name
- labels: []
- sourceColumn: customer_name
- title: Customer name
- sourceColumnDataType: STRING
- description: Customer name
- tags:
- - Customers
- - id: region
- labels: []
- sourceColumn: region
- title: Region
- sourceColumnDataType: STRING
- description: Region
- tags:
- - Customers
- - id: state
- labels:
- - id: geo__state__location
- sourceColumn: geo__state__location
- title: Location
- sourceColumnDataType: STRING
- description: Location
- tags:
- - Customers
- valueType: GEO
- sourceColumn: state
- title: State
- sourceColumnDataType: STRING
- description: State
- tags:
- - Customers
- facts: []
- aggregatedFacts: []
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: customers
- type: dataSource
- path:
- - demo
- - customers
- tags:
- - Customers
- - grain:
- - id: order_line_id
- type: attribute
- id: order_lines
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- target:
- id: campaign_id
- type: attribute
- dataType: INT
- - identifier:
- id: customers
- type: dataset
- multivalue: false
- sources:
- - column: customer_id
- target:
- id: customer_id
- type: attribute
- dataType: INT
- - identifier:
- id: date
- type: dataset
- multivalue: false
- sources:
- - column: date
- target:
- id: date
- type: date
- dataType: DATE
- - identifier:
- id: products
- type: dataset
- multivalue: false
- sources:
- - column: product_id
- target:
- id: product_id
- type: attribute
- dataType: INT
- title: Order lines
- description: Order lines
- attributes:
- - id: order_id
- labels: []
- sourceColumn: order_id
- title: Order id
- sourceColumnDataType: STRING
- description: Order id
- tags:
- - Order lines
- - id: order_line_id
- labels: []
- sourceColumn: order_line_id
- title: Order line id
- sourceColumnDataType: STRING
- description: Order line id
- tags:
- - Order lines
- - id: order_status
- labels: []
- sourceColumn: order_status
- title: Order status
- sourceColumnDataType: STRING
- description: Order status
- tags:
- - Order lines
- facts:
- - id: price
- sourceColumn: price
- title: Price
- sourceColumnDataType: NUMERIC
- description: Price
- tags:
- - Order lines
- - id: quantity
- sourceColumn: quantity
- title: Quantity
- sourceColumnDataType: NUMERIC
- description: Quantity
- tags:
- - Order lines
- aggregatedFacts: []
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: order_lines
- type: dataSource
- path:
- - demo
- - order_lines
- tags:
- - Order lines
- workspaceDataFilterColumns:
- - dataType: STRING
- name: wdf__region
- - dataType: STRING
- name: wdf__state
- - grain:
- - id: product_id
- type: attribute
- id: products
- references: []
- title: Products
- description: Products
- attributes:
- - id: product_id
- labels: []
- sourceColumn: product_id
- title: Product id
- sourceColumnDataType: INT
- description: Product id
- tags:
- - Products
- - id: product_name
- labels: []
- sourceColumn: product_name
- title: Product name
- sourceColumnDataType: STRING
- description: Product name
- tags:
- - Products
- - id: products.category
- labels: []
- sourceColumn: category
- title: Category
- sourceColumnDataType: STRING
- description: Category
- tags:
- - Products
- facts: []
- aggregatedFacts: []
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: products
- type: dataSource
- path:
- - demo
- - products
- tags:
- - Products
- dateInstances:
- - granularities:
- - DAY
- - WEEK
- - MONTH
- - QUARTER
- - YEAR
- granularitiesFormatting:
- titleBase: ''
- titlePattern: '%titleBase - %granularityTitle'
- id: date
- title: Date
- description: ''
- tags:
- - Date
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces/test_put_declarative_analytics_model/analyticsModel
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '223'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- analytics:
- analyticalDashboardExtensions: []
- analyticalDashboards: []
- attributeHierarchies: []
- dashboardPlugins: []
- exportDefinitions: []
- filterContexts: []
- memoryItems: []
- metrics: []
- visualizationObjects: []
- - request:
- method: PUT
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces/test_put_declarative_analytics_model/analyticsModel
- body:
- analytics:
- analyticalDashboards: []
- analyticalDashboardExtensions: []
- attributeHierarchies: []
- dashboardPlugins: []
- filterContexts: []
- metrics: []
- visualizationObjects: []
- exportDefinitions: []
- memoryItems: []
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces/test_put_declarative_analytics_model/analyticsModel
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '223'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- analytics:
- analyticalDashboardExtensions: []
- analyticalDashboards: []
- attributeHierarchies: []
- dashboardPlugins: []
- exportDefinitions: []
- filterContexts: []
- memoryItems: []
- metrics: []
- visualizationObjects: []
- - request:
- method: PUT
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces
- body:
- 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:
- - id: demo
- name: Demo
- automations: []
- customApplicationSettings: []
- filterViews: []
- hierarchyPermissions:
- - assignee:
- id: demo2
- type: user
- name: MANAGE
- - assignee:
- id: demoGroup
- type: userGroup
- name: ANALYZE
- model:
- analytics:
- analyticalDashboardExtensions: []
- analyticalDashboards:
- - content:
- filterContextRef:
- identifier:
- id: campaign_name_filter
- type: filterContext
- layout:
- type: IDashboardLayout
- sections:
- - type: IDashboardLayoutSection
- header:
- title: Spend breakdown and Revenue
- description: The first insight shows a breakdown of
- spend by category and campaign. The second shows revenue
- per $ spend, for each campaign, to demonstrate, how
- campaigns are successful.
- 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: ''
- permissions:
- - assigneeRule:
- type: allWorkspaceUsers
- name: VIEW
- - 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: ''
- attributeHierarchies: []
- 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
- exportDefinitions: []
- 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
- memoryItems: []
- ldm:
- datasets:
- - grain:
- - id: campaign_channel_id
- type: attribute
- id: campaign_channels
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- target:
- id: campaign_id
- type: attribute
- dataType: INT
- title: Campaign channels
- aggregatedFacts: []
- attributes:
- - id: campaign_channel_id
- labels: []
- sourceColumn: campaign_channel_id
- title: Campaign channel id
- description: Campaign channel id
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- - id: campaign_channels.category
- labels: []
- sourceColumn: category
- title: Category
- description: Category
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- - id: type
- labels: []
- sourceColumn: type
- title: Type
- description: Type
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaign_channels
- type: dataSource
- path:
- - demo
- - campaign_channels
- description: Campaign channels
- facts:
- - id: budget
- sourceColumn: budget
- title: Budget
- description: Budget
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- - id: spend
- sourceColumn: spend
- title: Spend
- description: Spend
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- tags:
- - Campaign channels
- - grain: []
- id: campaign_channels_per_category
- references:
- - identifier:
- id: campaign_channels
- type: dataset
- multivalue: false
- sources:
- - column: campaign_channel_id
- target:
- id: campaign_channel_id
- type: attribute
- dataType: STRING
- title: Campaign channels per category
- aggregatedFacts:
- - id: budget_agg
- sourceColumn: budget
- sourceFactReference:
- operation: SUM
- reference:
- id: budget
- type: fact
- description: Budget Agg
- sourceColumnDataType: INT
- tags:
- - Campaign channels per category
- attributes: []
- description: Campaign channels per categories
- facts: []
- precedence: 1
- sql:
- dataSourceId: demo-test-ds
- statement: SELECT category, SUM(budget) FROM campaign_channels
- GROUP BY category
- tags:
- - Campaign channels per category
- - grain:
- - id: campaign_id
- type: attribute
- id: campaigns
- references: []
- title: Campaigns
- aggregatedFacts: []
- attributes:
- - id: campaign_id
- labels: []
- sourceColumn: campaign_id
- title: Campaign id
- description: Campaign id
- sourceColumnDataType: INT
- tags:
- - Campaigns
- - id: campaign_name
- labels: []
- sourceColumn: campaign_name
- title: Campaign name
- description: Campaign name
- sourceColumnDataType: STRING
- tags:
- - Campaigns
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaigns
- type: dataSource
- path:
- - demo
- - campaigns
- description: Campaigns
- facts: []
- tags:
- - Campaigns
- - grain:
- - id: customer_id
- type: attribute
- id: customers
- references: []
- title: Customers
- aggregatedFacts: []
- attributes:
- - id: customer_id
- labels: []
- sourceColumn: customer_id
- title: Customer id
- description: Customer id
- sourceColumnDataType: INT
- tags:
- - Customers
- - id: customer_name
- labels: []
- sourceColumn: customer_name
- title: Customer name
- description: Customer name
- sourceColumnDataType: STRING
- tags:
- - Customers
- - id: region
- labels: []
- sourceColumn: region
- title: Region
- description: Region
- sourceColumnDataType: STRING
- tags:
- - Customers
- - id: state
- labels:
- - id: geo__state__location
- sourceColumn: geo__state__location
- title: Location
- description: Location
- sourceColumnDataType: STRING
- tags:
- - Customers
- valueType: GEO
- sourceColumn: state
- title: State
- description: State
- sourceColumnDataType: STRING
- tags:
- - Customers
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: customers
- type: dataSource
- path:
- - demo
- - customers
- description: Customers
- facts: []
- tags:
- - Customers
- - grain:
- - id: order_line_id
- type: attribute
- id: order_lines
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- target:
- id: campaign_id
- type: attribute
- dataType: INT
- - identifier:
- id: customers
- type: dataset
- multivalue: false
- sources:
- - column: customer_id
- target:
- id: customer_id
- type: attribute
- dataType: INT
- - identifier:
- id: date
- type: dataset
- multivalue: false
- sources:
- - column: date
- target:
- id: date
- type: date
- dataType: DATE
- - identifier:
- id: products
- type: dataset
- multivalue: false
- sources:
- - column: product_id
- target:
- id: product_id
- type: attribute
- dataType: INT
- title: Order lines
- aggregatedFacts: []
- attributes:
- - id: order_id
- labels: []
- sourceColumn: order_id
- title: Order id
- description: Order id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- - id: order_line_id
- labels: []
- sourceColumn: order_line_id
- title: Order line id
- description: Order line id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- - id: order_status
- labels: []
- sourceColumn: order_status
- title: Order status
- description: Order status
- sourceColumnDataType: STRING
- tags:
- - Order lines
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: order_lines
- type: dataSource
- path:
- - demo
- - order_lines
- description: Order lines
- facts:
- - id: price
- sourceColumn: price
- title: Price
- description: Price
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- - id: quantity
- sourceColumn: quantity
- title: Quantity
- description: Quantity
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- tags:
- - Order lines
- workspaceDataFilterColumns:
- - dataType: STRING
- name: wdf__region
- - dataType: STRING
- name: wdf__state
- workspaceDataFilterReferences:
- - filterColumn: wdf__region
- filterColumnDataType: STRING
- filterId:
- id: wdf__region
- type: workspaceDataFilter
- - grain:
- - id: product_id
- type: attribute
- id: products
- references: []
- title: Products
- aggregatedFacts: []
- attributes:
- - id: product_id
- labels: []
- sourceColumn: product_id
- title: Product id
- description: Product id
- sourceColumnDataType: INT
- tags:
- - Products
- - id: product_name
- labels: []
- sourceColumn: product_name
- title: Product name
- description: Product name
- sourceColumnDataType: STRING
- tags:
- - Products
- - id: products.category
- labels: []
- sourceColumn: category
- title: Category
- description: Category
- sourceColumnDataType: STRING
- tags:
- - Products
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: products
- type: dataSource
- path:
- - demo
- - products
- description: Products
- facts: []
- tags:
- - Products
- dateInstances:
- - granularities:
- - DAY
- - WEEK
- - MONTH
- - QUARTER
- - YEAR
- granularitiesFormatting:
- titleBase: ''
- titlePattern: '%titleBase - %granularityTitle'
- id: date
- title: Date
- description: ''
- tags:
- - Date
- permissions:
- - assignee:
- id: demo2
- type: user
- name: ANALYZE
- - assignee:
- id: demoGroup
- type: userGroup
- name: VIEW
- settings: []
- userDataFilters: []
- - id: demo_west
- name: Demo West
- automations: []
- customApplicationSettings: []
- filterViews: []
- hierarchyPermissions: []
- model:
- analytics:
- analyticalDashboardExtensions:
- - id: campaign
- permissions:
- - assigneeRule:
- type: allWorkspaceUsers
- name: VIEW
- analyticalDashboards: []
- attributeHierarchies: []
- dashboardPlugins: []
- exportDefinitions: []
- filterContexts: []
- metrics: []
- visualizationObjects: []
- memoryItems: []
- ldm:
- datasetExtensions:
- - id: order_lines
- workspaceDataFilterReferences:
- - filterColumn: wdf__state
- filterColumnDataType: STRING
- filterId:
- id: wdf__state
- type: workspaceDataFilter
- datasets: []
- dateInstances: []
- parent:
- id: demo
- type: workspace
- permissions: []
- settings: []
- userDataFilters: []
- - id: demo_west_california
- name: Demo West California
- automations: []
- customApplicationSettings: []
- filterViews: []
- hierarchyPermissions: []
- model:
- analytics:
- analyticalDashboardExtensions: []
- analyticalDashboards: []
- attributeHierarchies: []
- dashboardPlugins: []
- exportDefinitions: []
- filterContexts: []
- metrics: []
- visualizationObjects: []
- memoryItems: []
- ldm:
- datasets: []
- dateInstances: []
- parent:
- id: demo_west
- type: workspace
- permissions: []
- settings: []
- userDataFilters: []
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_put_declarative_ldm.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_put_declarative_ldm.yaml
deleted file mode 100644
index d73556f1b..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_put_declarative_ldm.yaml
+++ /dev/null
@@ -1,3183 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/test_put_declarative_ldm?include=workspaces
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 404
- message: Not Found
- headers:
- Cache-Control:
- - max-age=5, private
- Connection:
- - keep-alive
- Content-Length:
- - '172'
- Content-Type:
- - application/problem+json
- DATE: &id001
- - PLACEHOLDER
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- detail: The requested endpoint does not exist or you do not have permission
- to access it.
- status: 404
- title: Not Found
- traceId: 7fb9c334f1b07bd75cbb9643ab6ced93
- - request:
- method: POST
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces
- body:
- data:
- id: test_put_declarative_ldm
- type: workspace
- attributes:
- name: test_put_declarative_ldm
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 201
- message: Created
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '240'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- name: test_put_declarative_ldm
- id: test_put_declarative_ldm
- type: workspace
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/test_put_declarative_ldm
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces/demo/logicalModel
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- ldm:
- datasets:
- - aggregatedFacts: []
- attributes:
- - description: Campaign channel id
- id: campaign_channel_id
- labels: []
- sourceColumn: campaign_channel_id
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Campaign channel id
- - description: Category
- id: campaign_channels.category
- labels: []
- sourceColumn: category
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Category
- - description: Type
- id: type
- labels: []
- sourceColumn: type
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Type
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaign_channels
- path:
- - demo
- - campaign_channels
- type: dataSource
- description: Campaign channels
- facts:
- - description: Budget
- id: budget
- sourceColumn: budget
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- title: Budget
- - description: Spend
- id: spend
- sourceColumn: spend
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- title: Spend
- grain:
- - id: campaign_channel_id
- type: attribute
- id: campaign_channels
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- dataType: INT
- target:
- id: campaign_id
- type: attribute
- tags:
- - Campaign channels
- title: Campaign channels
- - aggregatedFacts:
- - description: Budget Agg
- id: budget_agg
- sourceColumn: budget
- sourceColumnDataType: INT
- sourceFactReference:
- operation: SUM
- reference:
- id: budget
- type: fact
- tags:
- - Campaign channels per category
- attributes: []
- description: Campaign channels per categories
- facts: []
- grain: []
- id: campaign_channels_per_category
- precedence: 1
- references:
- - identifier:
- id: campaign_channels
- type: dataset
- multivalue: false
- sources:
- - column: campaign_channel_id
- dataType: STRING
- target:
- id: campaign_channel_id
- type: attribute
- sql:
- dataSourceId: demo-test-ds
- statement: SELECT category, SUM(budget) FROM campaign_channels GROUP
- BY category
- tags:
- - Campaign channels per category
- title: Campaign channels per category
- - aggregatedFacts: []
- attributes:
- - description: Campaign id
- id: campaign_id
- labels: []
- sourceColumn: campaign_id
- sourceColumnDataType: INT
- tags:
- - Campaigns
- title: Campaign id
- - description: Campaign name
- id: campaign_name
- labels: []
- sourceColumn: campaign_name
- sourceColumnDataType: STRING
- tags:
- - Campaigns
- title: Campaign name
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaigns
- path:
- - demo
- - campaigns
- type: dataSource
- description: Campaigns
- facts: []
- grain:
- - id: campaign_id
- type: attribute
- id: campaigns
- references: []
- tags:
- - Campaigns
- title: Campaigns
- - aggregatedFacts: []
- attributes:
- - description: Customer id
- id: customer_id
- labels: []
- sourceColumn: customer_id
- sourceColumnDataType: INT
- tags:
- - Customers
- title: Customer id
- - description: Customer name
- id: customer_name
- labels: []
- sourceColumn: customer_name
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Customer name
- - description: Region
- id: region
- labels: []
- sourceColumn: region
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Region
- - description: State
- id: state
- labels:
- - description: Location
- id: geo__state__location
- sourceColumn: geo__state__location
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Location
- valueType: GEO
- sourceColumn: state
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: State
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: customers
- path:
- - demo
- - customers
- type: dataSource
- description: Customers
- facts: []
- grain:
- - id: customer_id
- type: attribute
- id: customers
- references: []
- tags:
- - Customers
- title: Customers
- - aggregatedFacts: []
- attributes:
- - description: Order id
- id: order_id
- labels: []
- sourceColumn: order_id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order id
- - description: Order line id
- id: order_line_id
- labels: []
- sourceColumn: order_line_id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order line id
- - description: Order status
- id: order_status
- labels: []
- sourceColumn: order_status
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order status
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: order_lines
- path:
- - demo
- - order_lines
- type: dataSource
- description: Order lines
- facts:
- - description: Price
- id: price
- sourceColumn: price
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- title: Price
- - description: Quantity
- id: quantity
- sourceColumn: quantity
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- title: Quantity
- grain:
- - id: order_line_id
- type: attribute
- id: order_lines
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- dataType: INT
- target:
- id: campaign_id
- type: attribute
- - identifier:
- id: customers
- type: dataset
- multivalue: false
- sources:
- - column: customer_id
- dataType: INT
- target:
- id: customer_id
- type: attribute
- - identifier:
- id: date
- type: dataset
- multivalue: false
- sources:
- - column: date
- dataType: DATE
- target:
- id: date
- type: date
- - identifier:
- id: products
- type: dataset
- multivalue: false
- sources:
- - column: product_id
- dataType: INT
- target:
- id: product_id
- type: attribute
- tags:
- - Order lines
- title: Order lines
- workspaceDataFilterColumns:
- - dataType: STRING
- name: wdf__region
- - dataType: STRING
- name: wdf__state
- workspaceDataFilterReferences:
- - filterColumn: wdf__region
- filterColumnDataType: STRING
- filterId:
- id: wdf__region
- type: workspaceDataFilter
- - aggregatedFacts: []
- attributes:
- - description: Product id
- id: product_id
- labels: []
- sourceColumn: product_id
- sourceColumnDataType: INT
- tags:
- - Products
- title: Product id
- - description: Product name
- id: product_name
- labels: []
- sourceColumn: product_name
- sourceColumnDataType: STRING
- tags:
- - Products
- title: Product name
- - description: Category
- id: products.category
- labels: []
- sourceColumn: category
- sourceColumnDataType: STRING
- tags:
- - Products
- title: Category
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: products
- path:
- - demo
- - products
- type: dataSource
- description: Products
- facts: []
- grain:
- - id: product_id
- type: attribute
- id: products
- references: []
- tags:
- - Products
- title: Products
- dateInstances:
- - description: ''
- granularities:
- - DAY
- - WEEK
- - MONTH
- - QUARTER
- - YEAR
- granularitiesFormatting:
- titleBase: ''
- titlePattern: '%titleBase - %granularityTitle'
- id: date
- tags:
- - Date
- title: Date
- - request:
- method: PUT
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/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
- sources:
- - column: campaign_id
- target:
- id: campaign_id
- type: attribute
- dataType: INT
- title: Campaign channels
- description: Campaign channels
- attributes:
- - id: campaign_channel_id
- labels: []
- sourceColumn: campaign_channel_id
- title: Campaign channel id
- sourceColumnDataType: STRING
- description: Campaign channel id
- tags:
- - Campaign channels
- - id: campaign_channels.category
- labels: []
- sourceColumn: category
- title: Category
- sourceColumnDataType: STRING
- description: Category
- tags:
- - Campaign channels
- - id: type
- labels: []
- sourceColumn: type
- title: Type
- sourceColumnDataType: STRING
- description: Type
- tags:
- - Campaign channels
- facts:
- - id: budget
- sourceColumn: budget
- title: Budget
- sourceColumnDataType: NUMERIC
- description: Budget
- tags:
- - Campaign channels
- - id: spend
- sourceColumn: spend
- title: Spend
- sourceColumnDataType: NUMERIC
- description: Spend
- tags:
- - Campaign channels
- aggregatedFacts: []
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaign_channels
- type: dataSource
- path:
- - demo
- - campaign_channels
- tags:
- - Campaign channels
- - grain: []
- id: campaign_channels_per_category
- references:
- - identifier:
- id: campaign_channels
- type: dataset
- multivalue: false
- sources:
- - column: campaign_channel_id
- target:
- id: campaign_channel_id
- type: attribute
- dataType: STRING
- title: Campaign channels per category
- description: Campaign channels per categories
- attributes: []
- facts: []
- aggregatedFacts:
- - id: budget_agg
- sourceColumn: budget
- sourceFactReference:
- operation: SUM
- reference:
- id: budget
- type: fact
- sourceColumnDataType: INT
- description: Budget Agg
- tags:
- - Campaign channels per category
- precedence: 1
- sql:
- dataSourceId: demo-test-ds
- statement: SELECT category, SUM(budget) FROM campaign_channels GROUP
- BY category
- tags:
- - Campaign channels per category
- - grain:
- - id: campaign_id
- type: attribute
- id: campaigns
- references: []
- title: Campaigns
- description: Campaigns
- attributes:
- - id: campaign_id
- labels: []
- sourceColumn: campaign_id
- title: Campaign id
- sourceColumnDataType: INT
- description: Campaign id
- tags:
- - Campaigns
- - id: campaign_name
- labels: []
- sourceColumn: campaign_name
- title: Campaign name
- sourceColumnDataType: STRING
- description: Campaign name
- tags:
- - Campaigns
- facts: []
- aggregatedFacts: []
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaigns
- type: dataSource
- path:
- - demo
- - campaigns
- 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
- sourceColumnDataType: INT
- description: Customer id
- tags:
- - Customers
- - id: customer_name
- labels: []
- sourceColumn: customer_name
- title: Customer name
- sourceColumnDataType: STRING
- description: Customer name
- tags:
- - Customers
- - id: region
- labels: []
- sourceColumn: region
- title: Region
- sourceColumnDataType: STRING
- description: Region
- tags:
- - Customers
- - id: state
- labels:
- - id: geo__state__location
- sourceColumn: geo__state__location
- title: Location
- sourceColumnDataType: STRING
- description: Location
- tags:
- - Customers
- valueType: GEO
- sourceColumn: state
- title: State
- sourceColumnDataType: STRING
- description: State
- tags:
- - Customers
- facts: []
- aggregatedFacts: []
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: customers
- type: dataSource
- path:
- - demo
- - customers
- tags:
- - Customers
- - grain:
- - id: order_line_id
- type: attribute
- id: order_lines
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- target:
- id: campaign_id
- type: attribute
- dataType: INT
- - identifier:
- id: customers
- type: dataset
- multivalue: false
- sources:
- - column: customer_id
- target:
- id: customer_id
- type: attribute
- dataType: INT
- - identifier:
- id: date
- type: dataset
- multivalue: false
- sources:
- - column: date
- target:
- id: date
- type: date
- dataType: DATE
- - identifier:
- id: products
- type: dataset
- multivalue: false
- sources:
- - column: product_id
- target:
- id: product_id
- type: attribute
- dataType: INT
- title: Order lines
- description: Order lines
- attributes:
- - id: order_id
- labels: []
- sourceColumn: order_id
- title: Order id
- sourceColumnDataType: STRING
- description: Order id
- tags:
- - Order lines
- - id: order_line_id
- labels: []
- sourceColumn: order_line_id
- title: Order line id
- sourceColumnDataType: STRING
- description: Order line id
- tags:
- - Order lines
- - id: order_status
- labels: []
- sourceColumn: order_status
- title: Order status
- sourceColumnDataType: STRING
- description: Order status
- tags:
- - Order lines
- facts:
- - id: price
- sourceColumn: price
- title: Price
- sourceColumnDataType: NUMERIC
- description: Price
- tags:
- - Order lines
- - id: quantity
- sourceColumn: quantity
- title: Quantity
- sourceColumnDataType: NUMERIC
- description: Quantity
- tags:
- - Order lines
- aggregatedFacts: []
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: order_lines
- type: dataSource
- path:
- - demo
- - order_lines
- tags:
- - Order lines
- workspaceDataFilterColumns:
- - dataType: STRING
- name: wdf__region
- - dataType: STRING
- name: wdf__state
- - grain:
- - id: product_id
- type: attribute
- id: products
- references: []
- title: Products
- description: Products
- attributes:
- - id: product_id
- labels: []
- sourceColumn: product_id
- title: Product id
- sourceColumnDataType: INT
- description: Product id
- tags:
- - Products
- - id: product_name
- labels: []
- sourceColumn: product_name
- title: Product name
- sourceColumnDataType: STRING
- description: Product name
- tags:
- - Products
- - id: products.category
- labels: []
- sourceColumn: category
- title: Category
- sourceColumnDataType: STRING
- description: Category
- tags:
- - Products
- facts: []
- aggregatedFacts: []
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: products
- type: dataSource
- path:
- - demo
- - products
- tags:
- - Products
- dateInstances:
- - granularities:
- - DAY
- - WEEK
- - MONTH
- - QUARTER
- - YEAR
- granularitiesFormatting:
- titleBase: ''
- titlePattern: '%titleBase - %granularityTitle'
- id: date
- title: Date
- description: ''
- tags:
- - Date
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces/test_put_declarative_ldm/logicalModel
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- ldm:
- datasets:
- - aggregatedFacts: []
- attributes:
- - description: Campaign channel id
- id: campaign_channel_id
- labels: []
- sourceColumn: campaign_channel_id
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Campaign channel id
- - description: Category
- id: campaign_channels.category
- labels: []
- sourceColumn: category
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Category
- - description: Type
- id: type
- labels: []
- sourceColumn: type
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Type
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaign_channels
- path:
- - demo
- - campaign_channels
- type: dataSource
- description: Campaign channels
- facts:
- - description: Budget
- id: budget
- sourceColumn: budget
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- title: Budget
- - description: Spend
- id: spend
- sourceColumn: spend
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- title: Spend
- grain:
- - id: campaign_channel_id
- type: attribute
- id: campaign_channels
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- dataType: INT
- target:
- id: campaign_id
- type: attribute
- tags:
- - Campaign channels
- title: Campaign channels
- - aggregatedFacts:
- - description: Budget Agg
- id: budget_agg
- sourceColumn: budget
- sourceColumnDataType: INT
- sourceFactReference:
- operation: SUM
- reference:
- id: budget
- type: fact
- tags:
- - Campaign channels per category
- attributes: []
- description: Campaign channels per categories
- facts: []
- grain: []
- id: campaign_channels_per_category
- precedence: 1
- references:
- - identifier:
- id: campaign_channels
- type: dataset
- multivalue: false
- sources:
- - column: campaign_channel_id
- dataType: STRING
- target:
- id: campaign_channel_id
- type: attribute
- sql:
- dataSourceId: demo-test-ds
- statement: SELECT category, SUM(budget) FROM campaign_channels GROUP
- BY category
- tags:
- - Campaign channels per category
- title: Campaign channels per category
- - aggregatedFacts: []
- attributes:
- - description: Campaign id
- id: campaign_id
- labels: []
- sourceColumn: campaign_id
- sourceColumnDataType: INT
- tags:
- - Campaigns
- title: Campaign id
- - description: Campaign name
- id: campaign_name
- labels: []
- sourceColumn: campaign_name
- sourceColumnDataType: STRING
- tags:
- - Campaigns
- title: Campaign name
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaigns
- path:
- - demo
- - campaigns
- type: dataSource
- description: Campaigns
- facts: []
- grain:
- - id: campaign_id
- type: attribute
- id: campaigns
- references: []
- tags:
- - Campaigns
- title: Campaigns
- - aggregatedFacts: []
- attributes:
- - description: Customer id
- id: customer_id
- labels: []
- sourceColumn: customer_id
- sourceColumnDataType: INT
- tags:
- - Customers
- title: Customer id
- - description: Customer name
- id: customer_name
- labels: []
- sourceColumn: customer_name
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Customer name
- - description: Region
- id: region
- labels: []
- sourceColumn: region
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Region
- - description: State
- id: state
- labels:
- - description: Location
- id: geo__state__location
- sourceColumn: geo__state__location
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Location
- valueType: GEO
- sourceColumn: state
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: State
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: customers
- path:
- - demo
- - customers
- type: dataSource
- description: Customers
- facts: []
- grain:
- - id: customer_id
- type: attribute
- id: customers
- references: []
- tags:
- - Customers
- title: Customers
- - aggregatedFacts: []
- attributes:
- - description: Order id
- id: order_id
- labels: []
- sourceColumn: order_id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order id
- - description: Order line id
- id: order_line_id
- labels: []
- sourceColumn: order_line_id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order line id
- - description: Order status
- id: order_status
- labels: []
- sourceColumn: order_status
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order status
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: order_lines
- path:
- - demo
- - order_lines
- type: dataSource
- description: Order lines
- facts:
- - description: Price
- id: price
- sourceColumn: price
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- title: Price
- - description: Quantity
- id: quantity
- sourceColumn: quantity
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- title: Quantity
- grain:
- - id: order_line_id
- type: attribute
- id: order_lines
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- dataType: INT
- target:
- id: campaign_id
- type: attribute
- - identifier:
- id: customers
- type: dataset
- multivalue: false
- sources:
- - column: customer_id
- dataType: INT
- target:
- id: customer_id
- type: attribute
- - identifier:
- id: date
- type: dataset
- multivalue: false
- sources:
- - column: date
- dataType: DATE
- target:
- id: date
- type: date
- - identifier:
- id: products
- type: dataset
- multivalue: false
- sources:
- - column: product_id
- dataType: INT
- target:
- id: product_id
- type: attribute
- tags:
- - Order lines
- title: Order lines
- workspaceDataFilterColumns:
- - dataType: STRING
- name: wdf__region
- - dataType: STRING
- name: wdf__state
- - aggregatedFacts: []
- attributes:
- - description: Product id
- id: product_id
- labels: []
- sourceColumn: product_id
- sourceColumnDataType: INT
- tags:
- - Products
- title: Product id
- - description: Product name
- id: product_name
- labels: []
- sourceColumn: product_name
- sourceColumnDataType: STRING
- tags:
- - Products
- title: Product name
- - description: Category
- id: products.category
- labels: []
- sourceColumn: category
- sourceColumnDataType: STRING
- tags:
- - Products
- title: Category
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: products
- path:
- - demo
- - products
- type: dataSource
- description: Products
- facts: []
- grain:
- - id: product_id
- type: attribute
- id: products
- references: []
- tags:
- - Products
- title: Products
- dateInstances:
- - description: ''
- granularities:
- - DAY
- - WEEK
- - MONTH
- - QUARTER
- - YEAR
- granularitiesFormatting:
- titleBase: ''
- titlePattern: '%titleBase - %granularityTitle'
- id: date
- tags:
- - Date
- title: Date
- - request:
- method: PUT
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces
- body:
- 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:
- - id: demo
- name: Demo
- automations: []
- customApplicationSettings: []
- filterViews: []
- hierarchyPermissions:
- - assignee:
- id: demo2
- type: user
- name: MANAGE
- - assignee:
- id: demoGroup
- type: userGroup
- name: ANALYZE
- model:
- analytics:
- analyticalDashboardExtensions: []
- analyticalDashboards:
- - content:
- filterContextRef:
- identifier:
- id: campaign_name_filter
- type: filterContext
- layout:
- type: IDashboardLayout
- sections:
- - type: IDashboardLayoutSection
- header:
- title: Spend breakdown and Revenue
- description: The first insight shows a breakdown of
- spend by category and campaign. The second shows revenue
- per $ spend, for each campaign, to demonstrate, how
- campaigns are successful.
- 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: ''
- permissions:
- - assigneeRule:
- type: allWorkspaceUsers
- name: VIEW
- - 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: ''
- attributeHierarchies: []
- 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
- exportDefinitions: []
- 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
- memoryItems: []
- ldm:
- datasets:
- - grain:
- - id: campaign_channel_id
- type: attribute
- id: campaign_channels
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- target:
- id: campaign_id
- type: attribute
- dataType: INT
- title: Campaign channels
- aggregatedFacts: []
- attributes:
- - id: campaign_channel_id
- labels: []
- sourceColumn: campaign_channel_id
- title: Campaign channel id
- description: Campaign channel id
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- - id: campaign_channels.category
- labels: []
- sourceColumn: category
- title: Category
- description: Category
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- - id: type
- labels: []
- sourceColumn: type
- title: Type
- description: Type
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaign_channels
- type: dataSource
- path:
- - demo
- - campaign_channels
- description: Campaign channels
- facts:
- - id: budget
- sourceColumn: budget
- title: Budget
- description: Budget
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- - id: spend
- sourceColumn: spend
- title: Spend
- description: Spend
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- tags:
- - Campaign channels
- - grain: []
- id: campaign_channels_per_category
- references:
- - identifier:
- id: campaign_channels
- type: dataset
- multivalue: false
- sources:
- - column: campaign_channel_id
- target:
- id: campaign_channel_id
- type: attribute
- dataType: STRING
- title: Campaign channels per category
- aggregatedFacts:
- - id: budget_agg
- sourceColumn: budget
- sourceFactReference:
- operation: SUM
- reference:
- id: budget
- type: fact
- description: Budget Agg
- sourceColumnDataType: INT
- tags:
- - Campaign channels per category
- attributes: []
- description: Campaign channels per categories
- facts: []
- precedence: 1
- sql:
- dataSourceId: demo-test-ds
- statement: SELECT category, SUM(budget) FROM campaign_channels
- GROUP BY category
- tags:
- - Campaign channels per category
- - grain:
- - id: campaign_id
- type: attribute
- id: campaigns
- references: []
- title: Campaigns
- aggregatedFacts: []
- attributes:
- - id: campaign_id
- labels: []
- sourceColumn: campaign_id
- title: Campaign id
- description: Campaign id
- sourceColumnDataType: INT
- tags:
- - Campaigns
- - id: campaign_name
- labels: []
- sourceColumn: campaign_name
- title: Campaign name
- description: Campaign name
- sourceColumnDataType: STRING
- tags:
- - Campaigns
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaigns
- type: dataSource
- path:
- - demo
- - campaigns
- description: Campaigns
- facts: []
- tags:
- - Campaigns
- - grain:
- - id: customer_id
- type: attribute
- id: customers
- references: []
- title: Customers
- aggregatedFacts: []
- attributes:
- - id: customer_id
- labels: []
- sourceColumn: customer_id
- title: Customer id
- description: Customer id
- sourceColumnDataType: INT
- tags:
- - Customers
- - id: customer_name
- labels: []
- sourceColumn: customer_name
- title: Customer name
- description: Customer name
- sourceColumnDataType: STRING
- tags:
- - Customers
- - id: region
- labels: []
- sourceColumn: region
- title: Region
- description: Region
- sourceColumnDataType: STRING
- tags:
- - Customers
- - id: state
- labels:
- - id: geo__state__location
- sourceColumn: geo__state__location
- title: Location
- description: Location
- sourceColumnDataType: STRING
- tags:
- - Customers
- valueType: GEO
- sourceColumn: state
- title: State
- description: State
- sourceColumnDataType: STRING
- tags:
- - Customers
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: customers
- type: dataSource
- path:
- - demo
- - customers
- description: Customers
- facts: []
- tags:
- - Customers
- - grain:
- - id: order_line_id
- type: attribute
- id: order_lines
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- target:
- id: campaign_id
- type: attribute
- dataType: INT
- - identifier:
- id: customers
- type: dataset
- multivalue: false
- sources:
- - column: customer_id
- target:
- id: customer_id
- type: attribute
- dataType: INT
- - identifier:
- id: date
- type: dataset
- multivalue: false
- sources:
- - column: date
- target:
- id: date
- type: date
- dataType: DATE
- - identifier:
- id: products
- type: dataset
- multivalue: false
- sources:
- - column: product_id
- target:
- id: product_id
- type: attribute
- dataType: INT
- title: Order lines
- aggregatedFacts: []
- attributes:
- - id: order_id
- labels: []
- sourceColumn: order_id
- title: Order id
- description: Order id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- - id: order_line_id
- labels: []
- sourceColumn: order_line_id
- title: Order line id
- description: Order line id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- - id: order_status
- labels: []
- sourceColumn: order_status
- title: Order status
- description: Order status
- sourceColumnDataType: STRING
- tags:
- - Order lines
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: order_lines
- type: dataSource
- path:
- - demo
- - order_lines
- description: Order lines
- facts:
- - id: price
- sourceColumn: price
- title: Price
- description: Price
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- - id: quantity
- sourceColumn: quantity
- title: Quantity
- description: Quantity
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- tags:
- - Order lines
- workspaceDataFilterColumns:
- - dataType: STRING
- name: wdf__region
- - dataType: STRING
- name: wdf__state
- workspaceDataFilterReferences:
- - filterColumn: wdf__region
- filterColumnDataType: STRING
- filterId:
- id: wdf__region
- type: workspaceDataFilter
- - grain:
- - id: product_id
- type: attribute
- id: products
- references: []
- title: Products
- aggregatedFacts: []
- attributes:
- - id: product_id
- labels: []
- sourceColumn: product_id
- title: Product id
- description: Product id
- sourceColumnDataType: INT
- tags:
- - Products
- - id: product_name
- labels: []
- sourceColumn: product_name
- title: Product name
- description: Product name
- sourceColumnDataType: STRING
- tags:
- - Products
- - id: products.category
- labels: []
- sourceColumn: category
- title: Category
- description: Category
- sourceColumnDataType: STRING
- tags:
- - Products
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: products
- type: dataSource
- path:
- - demo
- - products
- description: Products
- facts: []
- tags:
- - Products
- dateInstances:
- - granularities:
- - DAY
- - WEEK
- - MONTH
- - QUARTER
- - YEAR
- granularitiesFormatting:
- titleBase: ''
- titlePattern: '%titleBase - %granularityTitle'
- id: date
- title: Date
- description: ''
- tags:
- - Date
- permissions:
- - assignee:
- id: demo2
- type: user
- name: ANALYZE
- - assignee:
- id: demoGroup
- type: userGroup
- name: VIEW
- settings: []
- userDataFilters: []
- - id: demo_west
- name: Demo West
- automations: []
- customApplicationSettings: []
- filterViews: []
- hierarchyPermissions: []
- model:
- analytics:
- analyticalDashboardExtensions:
- - id: campaign
- permissions:
- - assigneeRule:
- type: allWorkspaceUsers
- name: VIEW
- analyticalDashboards: []
- attributeHierarchies: []
- dashboardPlugins: []
- exportDefinitions: []
- filterContexts: []
- metrics: []
- visualizationObjects: []
- memoryItems: []
- ldm:
- datasetExtensions:
- - id: order_lines
- workspaceDataFilterReferences:
- - filterColumn: wdf__state
- filterColumnDataType: STRING
- filterId:
- id: wdf__state
- type: workspaceDataFilter
- datasets: []
- dateInstances: []
- parent:
- id: demo
- type: workspace
- permissions: []
- settings: []
- userDataFilters: []
- - id: demo_west_california
- name: Demo West California
- automations: []
- customApplicationSettings: []
- filterViews: []
- hierarchyPermissions: []
- model:
- analytics:
- analyticalDashboardExtensions: []
- analyticalDashboards: []
- attributeHierarchies: []
- dashboardPlugins: []
- exportDefinitions: []
- filterContexts: []
- metrics: []
- visualizationObjects: []
- memoryItems: []
- ldm:
- datasets: []
- dateInstances: []
- parent:
- id: demo_west
- type: workspace
- permissions: []
- settings: []
- userDataFilters: []
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_store_declarative_analytics_model.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_store_declarative_analytics_model.yaml
deleted file mode 100644
index c7fc1ce6c..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_store_declarative_analytics_model.yaml
+++ /dev/null
@@ -1,3318 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces/demo/analyticsModel
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- analytics:
- analyticalDashboardExtensions: []
- analyticalDashboards:
- - content:
- filterContextRef:
- identifier:
- id: campaign_name_filter
- type: filterContext
- layout:
- type: IDashboardLayout
- sections:
- - type: IDashboardLayoutSection
- header:
- title: Spend breakdown and Revenue
- description: The first insight shows a breakdown of spend
- by category and campaign. The second shows revenue per
- $ spend, for each campaign, to demonstrate, how campaigns
- are successful.
- 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'
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- description: ''
- id: campaign
- permissions:
- - assigneeRule:
- type: allWorkspaceUsers
- name: VIEW
- 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'
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- 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'
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- description: ''
- id: product_and_category
- title: Product & Category
- attributeHierarchies: []
- dashboardPlugins:
- - content:
- url: https://www.example.com
- version: '2'
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- description: Testing record dashboard_plugin_1
- id: dashboard_plugin_1
- title: dashboard_plugin_1
- - content:
- url: https://www.example.com
- version: '2'
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- description: Testing record dashboard_plugin_2
- id: dashboard_plugin_2
- title: dashboard_plugin_2
- exportDefinitions: []
- 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
- memoryItems: []
- metrics:
- - content:
- format: '#,##0'
- maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id})
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- id: amount_of_active_customers
- title: '# of Active Customers'
- - content:
- format: '#,##0'
- maql: SELECT COUNT({attribute/order_id})
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- 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 '
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- 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"))
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- description: ''
- id: amount_of_valid_orders
- title: '# of Valid Orders'
- - content:
- format: $#,##0
- maql: SELECT SUM({fact/spend})
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- id: campaign_spend
- title: Campaign Spend
- - content:
- format: $#,##0
- maql: SELECT SUM({fact/price}*{fact/quantity})
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- id: order_amount
- title: Order Amount
- - content:
- format: '#,##0.0%'
- maql: SELECT {metric/revenue} / {metric/total_revenue}
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- 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}"
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- 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}"
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- 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}"
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- 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}"
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- 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)
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- 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})
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- 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"))
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- description: ''
- id: revenue
- title: Revenue
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE {label/products.category} IN
- ("Clothing")
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- id: revenue-clothing
- title: Revenue (Clothing)
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE {label/products.category} IN
- ( "Electronics")
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- id: revenue-electronic
- title: Revenue (Electronic)
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE {label/products.category} IN
- ("Home")
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- id: revenue-home
- title: Revenue (Home)
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE {label/products.category} IN
- ("Outdoor")
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- id: revenue-outdoor
- title: Revenue (Outdoor)
- - content:
- format: $#,##0.0
- maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id})
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- id: revenue_per_customer
- title: Revenue per Customer
- - content:
- format: $#,##0.0
- maql: SELECT {metric/revenue} / {metric/campaign_spend}
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- id: revenue_per_dollar_spent
- title: Revenue per Dollar Spent
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue})
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- id: revenue_top_10
- title: Revenue / Top 10
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue})
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- id: revenue_top_10_percent
- title: Revenue / Top 10%
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} BY ALL OTHER
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- id: total_revenue
- title: Total Revenue
- - content:
- format: $#,##0
- maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- id: top_10_products
- title: Top 10 Products
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/organization
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 302
- message: Found
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '0'
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Location:
- - /api/v1/entities/admin/organizations/python-sdk-dex
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/admin/organizations/python-sdk-dex
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '564'
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- name: Python SDK Dex
- hostname: python-sdk-dex.dev-latest.stg11.panther.intgdc.com
- allowedOrigins: []
- earlyAccess: enableAlerting
- earlyAccessValues:
- - enableAlerting
- - enableSmtp
- - enablePreAggregationDatasets
- - enableScheduling
- - enableCompositeGrain
- - enableUserManagement
- - enableRawExports
- - enableFlexibleDashboardLayout
- region: ''
- dataCenter: ''
- id: python-sdk-dex
- type: organization
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/admin/organizations/python-sdk-dex
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces/demo/analyticsModel
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- analytics:
- analyticalDashboardExtensions: []
- analyticalDashboards:
- - content:
- filterContextRef:
- identifier:
- id: campaign_name_filter
- type: filterContext
- layout:
- type: IDashboardLayout
- sections:
- - type: IDashboardLayoutSection
- header:
- title: Spend breakdown and Revenue
- description: The first insight shows a breakdown of spend
- by category and campaign. The second shows revenue per
- $ spend, for each campaign, to demonstrate, how campaigns
- are successful.
- 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'
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- description: ''
- id: campaign
- permissions:
- - assigneeRule:
- type: allWorkspaceUsers
- name: VIEW
- 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'
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- 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'
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- description: ''
- id: product_and_category
- title: Product & Category
- attributeHierarchies: []
- dashboardPlugins:
- - content:
- url: https://www.example.com
- version: '2'
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- description: Testing record dashboard_plugin_1
- id: dashboard_plugin_1
- title: dashboard_plugin_1
- - content:
- url: https://www.example.com
- version: '2'
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- description: Testing record dashboard_plugin_2
- id: dashboard_plugin_2
- title: dashboard_plugin_2
- exportDefinitions: []
- 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
- memoryItems: []
- metrics:
- - content:
- format: '#,##0'
- maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id})
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- id: amount_of_active_customers
- title: '# of Active Customers'
- - content:
- format: '#,##0'
- maql: SELECT COUNT({attribute/order_id})
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- 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 '
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- 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"))
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- description: ''
- id: amount_of_valid_orders
- title: '# of Valid Orders'
- - content:
- format: $#,##0
- maql: SELECT SUM({fact/spend})
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- id: campaign_spend
- title: Campaign Spend
- - content:
- format: $#,##0
- maql: SELECT SUM({fact/price}*{fact/quantity})
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- id: order_amount
- title: Order Amount
- - content:
- format: '#,##0.0%'
- maql: SELECT {metric/revenue} / {metric/total_revenue}
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- 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}"
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- 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}"
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- 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}"
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- 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}"
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- 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)
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- 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})
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- 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"))
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- description: ''
- id: revenue
- title: Revenue
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE {label/products.category} IN
- ("Clothing")
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- id: revenue-clothing
- title: Revenue (Clothing)
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE {label/products.category} IN
- ( "Electronics")
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- id: revenue-electronic
- title: Revenue (Electronic)
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE {label/products.category} IN
- ("Home")
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- id: revenue-home
- title: Revenue (Home)
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE {label/products.category} IN
- ("Outdoor")
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- id: revenue-outdoor
- title: Revenue (Outdoor)
- - content:
- format: $#,##0.0
- maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id})
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- id: revenue_per_customer
- title: Revenue per Customer
- - content:
- format: $#,##0.0
- maql: SELECT {metric/revenue} / {metric/campaign_spend}
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- id: revenue_per_dollar_spent
- title: Revenue per Dollar Spent
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue})
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- id: revenue_top_10
- title: Revenue / Top 10
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue})
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- id: revenue_top_10_percent
- title: Revenue / Top 10%
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} BY ALL OTHER
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- id: total_revenue
- title: Total Revenue
- - content:
- format: $#,##0
- maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:17
- createdBy:
- id: admin
- type: user
- id: top_10_products
- title: Top 10 Products
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/organization
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 302
- message: Found
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '0'
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Location:
- - /api/v1/entities/admin/organizations/python-sdk-dex
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/admin/organizations/python-sdk-dex
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '564'
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- name: Python SDK Dex
- hostname: python-sdk-dex.dev-latest.stg11.panther.intgdc.com
- allowedOrigins: []
- earlyAccess: enableAlerting
- earlyAccessValues:
- - enableAlerting
- - enableSmtp
- - enablePreAggregationDatasets
- - enableScheduling
- - enableCompositeGrain
- - enableUserManagement
- - enableRawExports
- - enableFlexibleDashboardLayout
- region: ''
- dataCenter: ''
- id: python-sdk-dex
- type: organization
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/admin/organizations/python-sdk-dex
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_store_declarative_ldm.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_store_declarative_ldm.yaml
deleted file mode 100644
index 22512d62a..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_store_declarative_ldm.yaml
+++ /dev/null
@@ -1,1054 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces/demo/logicalModel
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- ldm:
- datasets:
- - aggregatedFacts: []
- attributes:
- - description: Campaign channel id
- id: campaign_channel_id
- labels: []
- sourceColumn: campaign_channel_id
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Campaign channel id
- - description: Category
- id: campaign_channels.category
- labels: []
- sourceColumn: category
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Category
- - description: Type
- id: type
- labels: []
- sourceColumn: type
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Type
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaign_channels
- path:
- - demo
- - campaign_channels
- type: dataSource
- description: Campaign channels
- facts:
- - description: Budget
- id: budget
- sourceColumn: budget
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- title: Budget
- - description: Spend
- id: spend
- sourceColumn: spend
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- title: Spend
- grain:
- - id: campaign_channel_id
- type: attribute
- id: campaign_channels
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- dataType: INT
- target:
- id: campaign_id
- type: attribute
- tags:
- - Campaign channels
- title: Campaign channels
- - aggregatedFacts:
- - description: Budget Agg
- id: budget_agg
- sourceColumn: budget
- sourceColumnDataType: INT
- sourceFactReference:
- operation: SUM
- reference:
- id: budget
- type: fact
- tags:
- - Campaign channels per category
- attributes: []
- description: Campaign channels per categories
- facts: []
- grain: []
- id: campaign_channels_per_category
- precedence: 1
- references:
- - identifier:
- id: campaign_channels
- type: dataset
- multivalue: false
- sources:
- - column: campaign_channel_id
- dataType: STRING
- target:
- id: campaign_channel_id
- type: attribute
- sql:
- dataSourceId: demo-test-ds
- statement: SELECT category, SUM(budget) FROM campaign_channels GROUP
- BY category
- tags:
- - Campaign channels per category
- title: Campaign channels per category
- - aggregatedFacts: []
- attributes:
- - description: Campaign id
- id: campaign_id
- labels: []
- sourceColumn: campaign_id
- sourceColumnDataType: INT
- tags:
- - Campaigns
- title: Campaign id
- - description: Campaign name
- id: campaign_name
- labels: []
- sourceColumn: campaign_name
- sourceColumnDataType: STRING
- tags:
- - Campaigns
- title: Campaign name
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaigns
- path:
- - demo
- - campaigns
- type: dataSource
- description: Campaigns
- facts: []
- grain:
- - id: campaign_id
- type: attribute
- id: campaigns
- references: []
- tags:
- - Campaigns
- title: Campaigns
- - aggregatedFacts: []
- attributes:
- - description: Customer id
- id: customer_id
- labels: []
- sourceColumn: customer_id
- sourceColumnDataType: INT
- tags:
- - Customers
- title: Customer id
- - description: Customer name
- id: customer_name
- labels: []
- sourceColumn: customer_name
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Customer name
- - description: Region
- id: region
- labels: []
- sourceColumn: region
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Region
- - description: State
- id: state
- labels:
- - description: Location
- id: geo__state__location
- sourceColumn: geo__state__location
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Location
- valueType: GEO
- sourceColumn: state
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: State
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: customers
- path:
- - demo
- - customers
- type: dataSource
- description: Customers
- facts: []
- grain:
- - id: customer_id
- type: attribute
- id: customers
- references: []
- tags:
- - Customers
- title: Customers
- - aggregatedFacts: []
- attributes:
- - description: Order id
- id: order_id
- labels: []
- sourceColumn: order_id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order id
- - description: Order line id
- id: order_line_id
- labels: []
- sourceColumn: order_line_id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order line id
- - description: Order status
- id: order_status
- labels: []
- sourceColumn: order_status
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order status
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: order_lines
- path:
- - demo
- - order_lines
- type: dataSource
- description: Order lines
- facts:
- - description: Price
- id: price
- sourceColumn: price
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- title: Price
- - description: Quantity
- id: quantity
- sourceColumn: quantity
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- title: Quantity
- grain:
- - id: order_line_id
- type: attribute
- id: order_lines
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- dataType: INT
- target:
- id: campaign_id
- type: attribute
- - identifier:
- id: customers
- type: dataset
- multivalue: false
- sources:
- - column: customer_id
- dataType: INT
- target:
- id: customer_id
- type: attribute
- - identifier:
- id: date
- type: dataset
- multivalue: false
- sources:
- - column: date
- dataType: DATE
- target:
- id: date
- type: date
- - identifier:
- id: products
- type: dataset
- multivalue: false
- sources:
- - column: product_id
- dataType: INT
- target:
- id: product_id
- type: attribute
- tags:
- - Order lines
- title: Order lines
- workspaceDataFilterColumns:
- - dataType: STRING
- name: wdf__region
- - dataType: STRING
- name: wdf__state
- workspaceDataFilterReferences:
- - filterColumn: wdf__region
- filterColumnDataType: STRING
- filterId:
- id: wdf__region
- type: workspaceDataFilter
- - aggregatedFacts: []
- attributes:
- - description: Product id
- id: product_id
- labels: []
- sourceColumn: product_id
- sourceColumnDataType: INT
- tags:
- - Products
- title: Product id
- - description: Product name
- id: product_name
- labels: []
- sourceColumn: product_name
- sourceColumnDataType: STRING
- tags:
- - Products
- title: Product name
- - description: Category
- id: products.category
- labels: []
- sourceColumn: category
- sourceColumnDataType: STRING
- tags:
- - Products
- title: Category
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: products
- path:
- - demo
- - products
- type: dataSource
- description: Products
- facts: []
- grain:
- - id: product_id
- type: attribute
- id: products
- references: []
- tags:
- - Products
- title: Products
- dateInstances:
- - description: ''
- granularities:
- - DAY
- - WEEK
- - MONTH
- - QUARTER
- - YEAR
- granularitiesFormatting:
- titleBase: ''
- titlePattern: '%titleBase - %granularityTitle'
- id: date
- tags:
- - Date
- title: Date
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/organization
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 302
- message: Found
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '0'
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Location:
- - /api/v1/entities/admin/organizations/python-sdk-dex
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/admin/organizations/python-sdk-dex
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '564'
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- name: Python SDK Dex
- hostname: python-sdk-dex.dev-latest.stg11.panther.intgdc.com
- allowedOrigins: []
- earlyAccess: enableAlerting
- earlyAccessValues:
- - enableAlerting
- - enableSmtp
- - enablePreAggregationDatasets
- - enableScheduling
- - enableCompositeGrain
- - enableUserManagement
- - enableRawExports
- - enableFlexibleDashboardLayout
- region: ''
- dataCenter: ''
- id: python-sdk-dex
- type: organization
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/admin/organizations/python-sdk-dex
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces/demo/logicalModel
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- ldm:
- datasets:
- - aggregatedFacts: []
- attributes:
- - description: Campaign channel id
- id: campaign_channel_id
- labels: []
- sourceColumn: campaign_channel_id
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Campaign channel id
- - description: Category
- id: campaign_channels.category
- labels: []
- sourceColumn: category
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Category
- - description: Type
- id: type
- labels: []
- sourceColumn: type
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Type
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaign_channels
- path:
- - demo
- - campaign_channels
- type: dataSource
- description: Campaign channels
- facts:
- - description: Budget
- id: budget
- sourceColumn: budget
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- title: Budget
- - description: Spend
- id: spend
- sourceColumn: spend
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- title: Spend
- grain:
- - id: campaign_channel_id
- type: attribute
- id: campaign_channels
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- dataType: INT
- target:
- id: campaign_id
- type: attribute
- tags:
- - Campaign channels
- title: Campaign channels
- - aggregatedFacts:
- - description: Budget Agg
- id: budget_agg
- sourceColumn: budget
- sourceColumnDataType: INT
- sourceFactReference:
- operation: SUM
- reference:
- id: budget
- type: fact
- tags:
- - Campaign channels per category
- attributes: []
- description: Campaign channels per categories
- facts: []
- grain: []
- id: campaign_channels_per_category
- precedence: 1
- references:
- - identifier:
- id: campaign_channels
- type: dataset
- multivalue: false
- sources:
- - column: campaign_channel_id
- dataType: STRING
- target:
- id: campaign_channel_id
- type: attribute
- sql:
- dataSourceId: demo-test-ds
- statement: SELECT category, SUM(budget) FROM campaign_channels GROUP
- BY category
- tags:
- - Campaign channels per category
- title: Campaign channels per category
- - aggregatedFacts: []
- attributes:
- - description: Campaign id
- id: campaign_id
- labels: []
- sourceColumn: campaign_id
- sourceColumnDataType: INT
- tags:
- - Campaigns
- title: Campaign id
- - description: Campaign name
- id: campaign_name
- labels: []
- sourceColumn: campaign_name
- sourceColumnDataType: STRING
- tags:
- - Campaigns
- title: Campaign name
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaigns
- path:
- - demo
- - campaigns
- type: dataSource
- description: Campaigns
- facts: []
- grain:
- - id: campaign_id
- type: attribute
- id: campaigns
- references: []
- tags:
- - Campaigns
- title: Campaigns
- - aggregatedFacts: []
- attributes:
- - description: Customer id
- id: customer_id
- labels: []
- sourceColumn: customer_id
- sourceColumnDataType: INT
- tags:
- - Customers
- title: Customer id
- - description: Customer name
- id: customer_name
- labels: []
- sourceColumn: customer_name
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Customer name
- - description: Region
- id: region
- labels: []
- sourceColumn: region
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Region
- - description: State
- id: state
- labels:
- - description: Location
- id: geo__state__location
- sourceColumn: geo__state__location
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Location
- valueType: GEO
- sourceColumn: state
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: State
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: customers
- path:
- - demo
- - customers
- type: dataSource
- description: Customers
- facts: []
- grain:
- - id: customer_id
- type: attribute
- id: customers
- references: []
- tags:
- - Customers
- title: Customers
- - aggregatedFacts: []
- attributes:
- - description: Order id
- id: order_id
- labels: []
- sourceColumn: order_id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order id
- - description: Order line id
- id: order_line_id
- labels: []
- sourceColumn: order_line_id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order line id
- - description: Order status
- id: order_status
- labels: []
- sourceColumn: order_status
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order status
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: order_lines
- path:
- - demo
- - order_lines
- type: dataSource
- description: Order lines
- facts:
- - description: Price
- id: price
- sourceColumn: price
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- title: Price
- - description: Quantity
- id: quantity
- sourceColumn: quantity
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- title: Quantity
- grain:
- - id: order_line_id
- type: attribute
- id: order_lines
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- dataType: INT
- target:
- id: campaign_id
- type: attribute
- - identifier:
- id: customers
- type: dataset
- multivalue: false
- sources:
- - column: customer_id
- dataType: INT
- target:
- id: customer_id
- type: attribute
- - identifier:
- id: date
- type: dataset
- multivalue: false
- sources:
- - column: date
- dataType: DATE
- target:
- id: date
- type: date
- - identifier:
- id: products
- type: dataset
- multivalue: false
- sources:
- - column: product_id
- dataType: INT
- target:
- id: product_id
- type: attribute
- tags:
- - Order lines
- title: Order lines
- workspaceDataFilterColumns:
- - dataType: STRING
- name: wdf__region
- - dataType: STRING
- name: wdf__state
- workspaceDataFilterReferences:
- - filterColumn: wdf__region
- filterColumnDataType: STRING
- filterId:
- id: wdf__region
- type: workspaceDataFilter
- - aggregatedFacts: []
- attributes:
- - description: Product id
- id: product_id
- labels: []
- sourceColumn: product_id
- sourceColumnDataType: INT
- tags:
- - Products
- title: Product id
- - description: Product name
- id: product_name
- labels: []
- sourceColumn: product_name
- sourceColumnDataType: STRING
- tags:
- - Products
- title: Product name
- - description: Category
- id: products.category
- labels: []
- sourceColumn: category
- sourceColumnDataType: STRING
- tags:
- - Products
- title: Category
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: products
- path:
- - demo
- - products
- type: dataSource
- description: Products
- facts: []
- grain:
- - id: product_id
- type: attribute
- id: products
- references: []
- tags:
- - Products
- title: Products
- dateInstances:
- - description: ''
- granularities:
- - DAY
- - WEEK
- - MONTH
- - QUARTER
- - YEAR
- granularitiesFormatting:
- titleBase: ''
- titlePattern: '%titleBase - %granularityTitle'
- id: date
- tags:
- - Date
- title: Date
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/organization
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 302
- message: Found
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '0'
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Location:
- - /api/v1/entities/admin/organizations/python-sdk-dex
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/admin/organizations/python-sdk-dex
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '564'
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- name: Python SDK Dex
- hostname: python-sdk-dex.dev-latest.stg11.panther.intgdc.com
- allowedOrigins: []
- earlyAccess: enableAlerting
- earlyAccessValues:
- - enableAlerting
- - enableSmtp
- - enablePreAggregationDatasets
- - enableScheduling
- - enableCompositeGrain
- - enableUserManagement
- - enableRawExports
- - enableFlexibleDashboardLayout
- region: ''
- dataCenter: ''
- id: python-sdk-dex
- type: organization
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/admin/organizations/python-sdk-dex
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/explicit_workspace_data_filter.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/explicit_workspace_data_filter.yaml
deleted file mode 100644
index 804c954ad..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/explicit_workspace_data_filter.yaml
+++ /dev/null
@@ -1,5188 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces/demo/logicalModel
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- ldm:
- datasets:
- - aggregatedFacts: []
- attributes:
- - description: Campaign channel id
- id: campaign_channel_id
- labels: []
- sourceColumn: campaign_channel_id
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Campaign channel id
- - description: Category
- id: campaign_channels.category
- labels: []
- sourceColumn: category
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Category
- - description: Type
- id: type
- labels: []
- sourceColumn: type
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Type
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaign_channels
- path:
- - demo
- - campaign_channels
- type: dataSource
- description: Campaign channels
- facts:
- - description: Budget
- id: budget
- sourceColumn: budget
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- title: Budget
- - description: Spend
- id: spend
- sourceColumn: spend
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- title: Spend
- grain:
- - id: campaign_channel_id
- type: attribute
- id: campaign_channels
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- dataType: INT
- target:
- id: campaign_id
- type: attribute
- tags:
- - Campaign channels
- title: Campaign channels
- - aggregatedFacts:
- - description: Budget Agg
- id: budget_agg
- sourceColumn: budget
- sourceColumnDataType: INT
- sourceFactReference:
- operation: SUM
- reference:
- id: budget
- type: fact
- tags:
- - Campaign channels per category
- attributes: []
- description: Campaign channels per categories
- facts: []
- grain: []
- id: campaign_channels_per_category
- precedence: 1
- references:
- - identifier:
- id: campaign_channels
- type: dataset
- multivalue: false
- sources:
- - column: campaign_channel_id
- dataType: STRING
- target:
- id: campaign_channel_id
- type: attribute
- sql:
- dataSourceId: demo-test-ds
- statement: SELECT category, SUM(budget) FROM campaign_channels GROUP
- BY category
- tags:
- - Campaign channels per category
- title: Campaign channels per category
- - aggregatedFacts: []
- attributes:
- - description: Campaign id
- id: campaign_id
- labels: []
- sourceColumn: campaign_id
- sourceColumnDataType: INT
- tags:
- - Campaigns
- title: Campaign id
- - description: Campaign name
- id: campaign_name
- labels: []
- sourceColumn: campaign_name
- sourceColumnDataType: STRING
- tags:
- - Campaigns
- title: Campaign name
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaigns
- path:
- - demo
- - campaigns
- type: dataSource
- description: Campaigns
- facts: []
- grain:
- - id: campaign_id
- type: attribute
- id: campaigns
- references: []
- tags:
- - Campaigns
- title: Campaigns
- - aggregatedFacts: []
- attributes:
- - description: Customer id
- id: customer_id
- labels: []
- sourceColumn: customer_id
- sourceColumnDataType: INT
- tags:
- - Customers
- title: Customer id
- - description: Customer name
- id: customer_name
- labels: []
- sourceColumn: customer_name
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Customer name
- - description: Region
- id: region
- labels: []
- sourceColumn: region
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Region
- - description: State
- id: state
- labels:
- - description: Location
- id: geo__state__location
- sourceColumn: geo__state__location
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Location
- valueType: GEO
- sourceColumn: state
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: State
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: customers
- path:
- - demo
- - customers
- type: dataSource
- description: Customers
- facts: []
- grain:
- - id: customer_id
- type: attribute
- id: customers
- references: []
- tags:
- - Customers
- title: Customers
- - aggregatedFacts: []
- attributes:
- - description: Order id
- id: order_id
- labels: []
- sourceColumn: order_id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order id
- - description: Order line id
- id: order_line_id
- labels: []
- sourceColumn: order_line_id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order line id
- - description: Order status
- id: order_status
- labels: []
- sourceColumn: order_status
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order status
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: order_lines
- path:
- - demo
- - order_lines
- type: dataSource
- description: Order lines
- facts:
- - description: Price
- id: price
- sourceColumn: price
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- title: Price
- - description: Quantity
- id: quantity
- sourceColumn: quantity
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- title: Quantity
- grain:
- - id: order_line_id
- type: attribute
- id: order_lines
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- dataType: INT
- target:
- id: campaign_id
- type: attribute
- - identifier:
- id: customers
- type: dataset
- multivalue: false
- sources:
- - column: customer_id
- dataType: INT
- target:
- id: customer_id
- type: attribute
- - identifier:
- id: date
- type: dataset
- multivalue: false
- sources:
- - column: date
- dataType: DATE
- target:
- id: date
- type: date
- - identifier:
- id: products
- type: dataset
- multivalue: false
- sources:
- - column: product_id
- dataType: INT
- target:
- id: product_id
- type: attribute
- tags:
- - Order lines
- title: Order lines
- workspaceDataFilterColumns:
- - dataType: STRING
- name: wdf__region
- - dataType: STRING
- name: wdf__state
- workspaceDataFilterReferences:
- - filterColumn: wdf__region
- filterColumnDataType: STRING
- filterId:
- id: wdf__region
- type: workspaceDataFilter
- - aggregatedFacts: []
- attributes:
- - description: Product id
- id: product_id
- labels: []
- sourceColumn: product_id
- sourceColumnDataType: INT
- tags:
- - Products
- title: Product id
- - description: Product name
- id: product_name
- labels: []
- sourceColumn: product_name
- sourceColumnDataType: STRING
- tags:
- - Products
- title: Product name
- - description: Category
- id: products.category
- labels: []
- sourceColumn: category
- sourceColumnDataType: STRING
- tags:
- - Products
- title: Category
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: products
- path:
- - demo
- - products
- type: dataSource
- description: Products
- facts: []
- grain:
- - id: product_id
- type: attribute
- id: products
- references: []
- tags:
- - Products
- title: Products
- dateInstances:
- - description: ''
- granularities:
- - DAY
- - WEEK
- - MONTH
- - QUARTER
- - YEAR
- granularitiesFormatting:
- titleBase: ''
- titlePattern: '%titleBase - %granularityTitle'
- id: date
- tags:
- - Date
- title: Date
- - request:
- method: PUT
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces/demo/logicalModel
- body:
- ldm:
- datasets:
- - grain:
- - id: campaign_channel_id
- type: attribute
- id: campaign_channels
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- target:
- id: campaign_id
- type: attribute
- dataType: INT
- title: Campaign channels
- description: Campaign channels
- attributes:
- - id: campaign_channel_id
- labels: []
- sourceColumn: campaign_channel_id
- title: Campaign channel id
- sourceColumnDataType: STRING
- description: Campaign channel id
- tags:
- - Campaign channels
- - id: campaign_channels.category
- labels: []
- sourceColumn: category
- title: Category
- sourceColumnDataType: STRING
- description: Category
- tags:
- - Campaign channels
- - id: type
- labels: []
- sourceColumn: type
- title: Type
- sourceColumnDataType: STRING
- description: Type
- tags:
- - Campaign channels
- facts:
- - id: budget
- sourceColumn: budget
- title: Budget
- sourceColumnDataType: NUMERIC
- description: Budget
- tags:
- - Campaign channels
- - id: spend
- sourceColumn: spend
- title: Spend
- sourceColumnDataType: NUMERIC
- description: Spend
- tags:
- - Campaign channels
- aggregatedFacts: []
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaign_channels
- type: dataSource
- path:
- - demo
- - campaign_channels
- tags:
- - Campaign channels
- - grain: []
- id: campaign_channels_per_category
- references:
- - identifier:
- id: campaign_channels
- type: dataset
- multivalue: false
- sources:
- - column: campaign_channel_id
- target:
- id: campaign_channel_id
- type: attribute
- dataType: STRING
- title: Campaign channels per category
- description: Campaign channels per categories
- attributes: []
- facts: []
- aggregatedFacts:
- - id: budget_agg
- sourceColumn: budget
- sourceFactReference:
- operation: SUM
- reference:
- id: budget
- type: fact
- sourceColumnDataType: INT
- description: Budget Agg
- tags:
- - Campaign channels per category
- precedence: 1
- sql:
- dataSourceId: demo-test-ds
- statement: SELECT category, SUM(budget) FROM campaign_channels GROUP
- BY category
- tags:
- - Campaign channels per category
- - grain:
- - id: campaign_id
- type: attribute
- id: campaigns
- references: []
- title: Campaigns
- description: Campaigns
- attributes:
- - id: campaign_id
- labels: []
- sourceColumn: campaign_id
- title: Campaign id
- sourceColumnDataType: INT
- description: Campaign id
- tags:
- - Campaigns
- - id: campaign_name
- labels: []
- sourceColumn: campaign_name
- title: Campaign name
- sourceColumnDataType: STRING
- description: Campaign name
- tags:
- - Campaigns
- facts: []
- aggregatedFacts: []
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaigns
- type: dataSource
- path:
- - demo
- - campaigns
- 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
- sourceColumnDataType: INT
- description: Customer id
- tags:
- - Customers
- - id: customer_name
- labels: []
- sourceColumn: customer_name
- title: Customer name
- sourceColumnDataType: STRING
- description: Customer name
- tags:
- - Customers
- - id: region
- labels: []
- sourceColumn: region
- title: Region
- sourceColumnDataType: STRING
- description: Region
- tags:
- - Customers
- - id: state
- labels:
- - id: geo__state__location
- sourceColumn: geo__state__location
- title: Location
- sourceColumnDataType: STRING
- description: Location
- tags:
- - Customers
- valueType: GEO
- sourceColumn: state
- title: State
- sourceColumnDataType: STRING
- description: State
- tags:
- - Customers
- facts: []
- aggregatedFacts: []
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: customers
- type: dataSource
- path:
- - demo
- - customers
- tags:
- - Customers
- workspaceDataFilterReferences:
- - filterColumn: wdf__region
- filterColumnDataType: STRING
- filterId:
- id: wdf__region
- type: workspaceDataFilter
- - grain:
- - id: order_line_id
- type: attribute
- id: order_lines
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- target:
- id: campaign_id
- type: attribute
- dataType: INT
- - identifier:
- id: customers
- type: dataset
- multivalue: false
- sources:
- - column: customer_id
- target:
- id: customer_id
- type: attribute
- dataType: INT
- - identifier:
- id: date
- type: dataset
- multivalue: false
- sources:
- - column: date
- target:
- id: date
- type: date
- dataType: DATE
- - identifier:
- id: products
- type: dataset
- multivalue: false
- sources:
- - column: product_id
- target:
- id: product_id
- type: attribute
- dataType: INT
- title: Order lines
- description: Order lines
- attributes:
- - id: order_id
- labels: []
- sourceColumn: order_id
- title: Order id
- sourceColumnDataType: STRING
- description: Order id
- tags:
- - Order lines
- - id: order_line_id
- labels: []
- sourceColumn: order_line_id
- title: Order line id
- sourceColumnDataType: STRING
- description: Order line id
- tags:
- - Order lines
- - id: order_status
- labels: []
- sourceColumn: order_status
- title: Order status
- sourceColumnDataType: STRING
- description: Order status
- tags:
- - Order lines
- facts:
- - id: price
- sourceColumn: price
- title: Price
- sourceColumnDataType: NUMERIC
- description: Price
- tags:
- - Order lines
- - id: quantity
- sourceColumn: quantity
- title: Quantity
- sourceColumnDataType: NUMERIC
- description: Quantity
- tags:
- - Order lines
- aggregatedFacts: []
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: order_lines
- type: dataSource
- path:
- - demo
- - order_lines
- tags:
- - Order lines
- workspaceDataFilterColumns:
- - dataType: STRING
- name: wdf__region
- - dataType: STRING
- name: wdf__state
- workspaceDataFilterReferences:
- - filterColumn: wdf__region
- filterColumnDataType: STRING
- filterId:
- id: wdf__region
- type: workspaceDataFilter
- - grain:
- - id: product_id
- type: attribute
- id: products
- references: []
- title: Products
- description: Products
- attributes:
- - id: product_id
- labels: []
- sourceColumn: product_id
- title: Product id
- sourceColumnDataType: INT
- description: Product id
- tags:
- - Products
- - id: product_name
- labels: []
- sourceColumn: product_name
- title: Product name
- sourceColumnDataType: STRING
- description: Product name
- tags:
- - Products
- - id: products.category
- labels: []
- sourceColumn: category
- title: Category
- sourceColumnDataType: STRING
- description: Category
- tags:
- - Products
- facts: []
- aggregatedFacts: []
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: products
- type: dataSource
- path:
- - demo
- - products
- tags:
- - Products
- dateInstances:
- - granularities:
- - DAY
- - WEEK
- - MONTH
- - QUARTER
- - YEAR
- granularitiesFormatting:
- titleBase: ''
- titlePattern: '%titleBase - %granularityTitle'
- id: date
- title: Date
- description: ''
- tags:
- - Date
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces/demo/logicalModel
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- ldm:
- datasets:
- - aggregatedFacts: []
- attributes:
- - description: Campaign channel id
- id: campaign_channel_id
- labels: []
- sourceColumn: campaign_channel_id
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Campaign channel id
- - description: Category
- id: campaign_channels.category
- labels: []
- sourceColumn: category
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Category
- - description: Type
- id: type
- labels: []
- sourceColumn: type
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Type
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaign_channels
- path:
- - demo
- - campaign_channels
- type: dataSource
- description: Campaign channels
- facts:
- - description: Budget
- id: budget
- sourceColumn: budget
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- title: Budget
- - description: Spend
- id: spend
- sourceColumn: spend
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- title: Spend
- grain:
- - id: campaign_channel_id
- type: attribute
- id: campaign_channels
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- dataType: INT
- target:
- id: campaign_id
- type: attribute
- tags:
- - Campaign channels
- title: Campaign channels
- - aggregatedFacts:
- - description: Budget Agg
- id: budget_agg
- sourceColumn: budget
- sourceColumnDataType: INT
- sourceFactReference:
- operation: SUM
- reference:
- id: budget
- type: fact
- tags:
- - Campaign channels per category
- attributes: []
- description: Campaign channels per categories
- facts: []
- grain: []
- id: campaign_channels_per_category
- precedence: 1
- references:
- - identifier:
- id: campaign_channels
- type: dataset
- multivalue: false
- sources:
- - column: campaign_channel_id
- dataType: STRING
- target:
- id: campaign_channel_id
- type: attribute
- sql:
- dataSourceId: demo-test-ds
- statement: SELECT category, SUM(budget) FROM campaign_channels GROUP
- BY category
- tags:
- - Campaign channels per category
- title: Campaign channels per category
- - aggregatedFacts: []
- attributes:
- - description: Campaign id
- id: campaign_id
- labels: []
- sourceColumn: campaign_id
- sourceColumnDataType: INT
- tags:
- - Campaigns
- title: Campaign id
- - description: Campaign name
- id: campaign_name
- labels: []
- sourceColumn: campaign_name
- sourceColumnDataType: STRING
- tags:
- - Campaigns
- title: Campaign name
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaigns
- path:
- - demo
- - campaigns
- type: dataSource
- description: Campaigns
- facts: []
- grain:
- - id: campaign_id
- type: attribute
- id: campaigns
- references: []
- tags:
- - Campaigns
- title: Campaigns
- - aggregatedFacts: []
- attributes:
- - description: Customer id
- id: customer_id
- labels: []
- sourceColumn: customer_id
- sourceColumnDataType: INT
- tags:
- - Customers
- title: Customer id
- - description: Customer name
- id: customer_name
- labels: []
- sourceColumn: customer_name
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Customer name
- - description: Region
- id: region
- labels: []
- sourceColumn: region
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Region
- - description: State
- id: state
- labels:
- - description: Location
- id: geo__state__location
- sourceColumn: geo__state__location
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Location
- valueType: GEO
- sourceColumn: state
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: State
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: customers
- path:
- - demo
- - customers
- type: dataSource
- description: Customers
- facts: []
- grain:
- - id: customer_id
- type: attribute
- id: customers
- references: []
- tags:
- - Customers
- title: Customers
- workspaceDataFilterReferences:
- - filterColumn: wdf__region
- filterColumnDataType: STRING
- filterId:
- id: wdf__region
- type: workspaceDataFilter
- - aggregatedFacts: []
- attributes:
- - description: Order id
- id: order_id
- labels: []
- sourceColumn: order_id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order id
- - description: Order line id
- id: order_line_id
- labels: []
- sourceColumn: order_line_id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order line id
- - description: Order status
- id: order_status
- labels: []
- sourceColumn: order_status
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order status
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: order_lines
- path:
- - demo
- - order_lines
- type: dataSource
- description: Order lines
- facts:
- - description: Price
- id: price
- sourceColumn: price
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- title: Price
- - description: Quantity
- id: quantity
- sourceColumn: quantity
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- title: Quantity
- grain:
- - id: order_line_id
- type: attribute
- id: order_lines
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- dataType: INT
- target:
- id: campaign_id
- type: attribute
- - identifier:
- id: customers
- type: dataset
- multivalue: false
- sources:
- - column: customer_id
- dataType: INT
- target:
- id: customer_id
- type: attribute
- - identifier:
- id: date
- type: dataset
- multivalue: false
- sources:
- - column: date
- dataType: DATE
- target:
- id: date
- type: date
- - identifier:
- id: products
- type: dataset
- multivalue: false
- sources:
- - column: product_id
- dataType: INT
- target:
- id: product_id
- type: attribute
- tags:
- - Order lines
- title: Order lines
- workspaceDataFilterColumns:
- - dataType: STRING
- name: wdf__region
- - dataType: STRING
- name: wdf__state
- workspaceDataFilterReferences:
- - filterColumn: wdf__region
- filterColumnDataType: STRING
- filterId:
- id: wdf__region
- type: workspaceDataFilter
- - aggregatedFacts: []
- attributes:
- - description: Product id
- id: product_id
- labels: []
- sourceColumn: product_id
- sourceColumnDataType: INT
- tags:
- - Products
- title: Product id
- - description: Product name
- id: product_name
- labels: []
- sourceColumn: product_name
- sourceColumnDataType: STRING
- tags:
- - Products
- title: Product name
- - description: Category
- id: products.category
- labels: []
- sourceColumn: category
- sourceColumnDataType: STRING
- tags:
- - Products
- title: Category
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: products
- path:
- - demo
- - products
- type: dataSource
- description: Products
- facts: []
- grain:
- - id: product_id
- type: attribute
- id: products
- references: []
- tags:
- - Products
- title: Products
- dateInstances:
- - description: ''
- granularities:
- - DAY
- - WEEK
- - MONTH
- - QUARTER
- - YEAR
- granularitiesFormatting:
- titleBase: ''
- titlePattern: '%titleBase - %granularityTitle'
- id: date
- tags:
- - Date
- title: Date
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&page=0&size=500
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- - attributes:
- title: Campaign channel id
- description: Campaign channel id
- tags:
- - Campaign channels
- areRelationsValid: true
- sourceColumn: campaign_channel_id
- sourceColumnDataType: STRING
- id: campaign_channel_id
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/campaign_channel_id
- meta:
- origin:
- originId: demo
- originType: NATIVE
- relationships:
- dataset:
- data:
- id: campaign_channels
- type: dataset
- labels:
- data:
- - id: campaign_channel_id
- type: label
- type: attribute
- - attributes:
- title: Category
- description: Category
- tags:
- - Campaign channels
- areRelationsValid: true
- sourceColumn: category
- sourceColumnDataType: STRING
- id: campaign_channels.category
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/campaign_channels.category
- meta:
- origin:
- originId: demo
- originType: NATIVE
- relationships:
- dataset:
- data:
- id: campaign_channels
- type: dataset
- labels:
- data:
- - id: campaign_channels.category
- type: label
- type: attribute
- - attributes:
- title: Campaign id
- description: Campaign id
- tags:
- - Campaigns
- areRelationsValid: true
- sourceColumn: campaign_id
- sourceColumnDataType: INT
- id: campaign_id
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/campaign_id
- meta:
- origin:
- originId: demo
- originType: NATIVE
- relationships:
- dataset:
- data:
- id: campaigns
- type: dataset
- labels:
- data:
- - id: campaign_id
- type: label
- type: attribute
- - attributes:
- title: Campaign name
- description: Campaign name
- tags:
- - Campaigns
- areRelationsValid: true
- sourceColumn: campaign_name
- sourceColumnDataType: STRING
- id: campaign_name
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/campaign_name
- meta:
- origin:
- originId: demo
- originType: NATIVE
- relationships:
- dataset:
- data:
- id: campaigns
- type: dataset
- labels:
- data:
- - id: campaign_name
- type: label
- type: attribute
- - attributes:
- title: Customer id
- description: Customer id
- tags:
- - Customers
- areRelationsValid: true
- sourceColumn: customer_id
- sourceColumnDataType: INT
- id: customer_id
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/customer_id
- meta:
- origin:
- originId: demo
- originType: NATIVE
- relationships:
- dataset:
- data:
- id: customers
- type: dataset
- labels:
- data:
- - id: customer_id
- type: label
- type: attribute
- - attributes:
- title: Customer name
- description: Customer name
- tags:
- - Customers
- areRelationsValid: true
- sourceColumn: customer_name
- sourceColumnDataType: STRING
- id: customer_name
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/customer_name
- meta:
- origin:
- originId: demo
- originType: NATIVE
- relationships:
- dataset:
- data:
- id: customers
- type: dataset
- labels:
- data:
- - id: customer_name
- type: label
- type: attribute
- - attributes:
- title: Date - Date
- description: Date
- tags:
- - Date
- granularity: DAY
- areRelationsValid: true
- id: date.day
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/date.day
- meta:
- origin:
- originId: demo
- originType: NATIVE
- relationships:
- dataset:
- data:
- id: date
- type: dataset
- labels:
- data:
- - id: date.day
- 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: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/date.month
- meta:
- origin:
- originId: demo
- originType: NATIVE
- relationships:
- dataset:
- data:
- id: date
- type: dataset
- 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: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/date.quarter
- meta:
- origin:
- originId: demo
- originType: NATIVE
- relationships:
- dataset:
- data:
- id: date
- type: dataset
- labels:
- data:
- - id: date.quarter
- 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: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/date.week
- meta:
- origin:
- originId: demo
- originType: NATIVE
- relationships:
- dataset:
- data:
- id: date
- type: dataset
- labels:
- data:
- - id: date.week
- type: label
- type: attribute
- - attributes:
- title: Date - Year
- description: Year
- tags:
- - Date
- granularity: YEAR
- areRelationsValid: true
- id: date.year
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/date.year
- meta:
- origin:
- originId: demo
- originType: NATIVE
- relationships:
- dataset:
- data:
- id: date
- type: dataset
- labels:
- data:
- - id: date.year
- type: label
- type: attribute
- - attributes:
- title: Order id
- description: Order id
- tags:
- - Order lines
- areRelationsValid: true
- sourceColumn: order_id
- sourceColumnDataType: STRING
- id: order_id
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/order_id
- meta:
- origin:
- originId: demo
- originType: NATIVE
- relationships:
- dataset:
- data:
- id: order_lines
- type: dataset
- 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
- sourceColumnDataType: STRING
- id: order_line_id
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/order_line_id
- meta:
- origin:
- originId: demo
- originType: NATIVE
- relationships:
- dataset:
- data:
- id: order_lines
- type: dataset
- 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
- sourceColumnDataType: STRING
- id: order_status
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/order_status
- meta:
- origin:
- originId: demo
- originType: NATIVE
- relationships:
- dataset:
- data:
- id: order_lines
- type: dataset
- labels:
- data:
- - id: order_status
- type: label
- type: attribute
- - attributes:
- title: Product id
- description: Product id
- tags:
- - Products
- areRelationsValid: true
- sourceColumn: product_id
- sourceColumnDataType: INT
- id: product_id
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/product_id
- meta:
- origin:
- originId: demo
- originType: NATIVE
- relationships:
- dataset:
- data:
- id: products
- type: dataset
- labels:
- data:
- - id: product_id
- type: label
- type: attribute
- - attributes:
- title: Product name
- description: Product name
- tags:
- - Products
- areRelationsValid: true
- sourceColumn: product_name
- sourceColumnDataType: STRING
- id: product_name
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/product_name
- meta:
- origin:
- originId: demo
- originType: NATIVE
- relationships:
- dataset:
- data:
- id: products
- type: dataset
- labels:
- data:
- - id: product_name
- type: label
- type: attribute
- - attributes:
- title: Category
- description: Category
- tags:
- - Products
- areRelationsValid: true
- sourceColumn: category
- sourceColumnDataType: STRING
- id: products.category
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/products.category
- meta:
- origin:
- originId: demo
- originType: NATIVE
- relationships:
- dataset:
- data:
- id: products
- type: dataset
- labels:
- data:
- - id: products.category
- type: label
- type: attribute
- - attributes:
- title: Region
- description: Region
- tags:
- - Customers
- areRelationsValid: true
- sourceColumn: region
- sourceColumnDataType: STRING
- id: region
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/region
- meta:
- origin:
- originId: demo
- originType: NATIVE
- relationships:
- dataset:
- data:
- id: customers
- type: dataset
- labels:
- data:
- - id: region
- type: label
- type: attribute
- - attributes:
- title: State
- description: State
- tags:
- - Customers
- areRelationsValid: true
- sourceColumn: state
- sourceColumnDataType: STRING
- id: state
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/state
- meta:
- origin:
- originId: demo
- originType: NATIVE
- relationships:
- defaultView:
- data:
- id: state
- type: label
- dataset:
- data:
- id: customers
- type: dataset
- labels:
- data:
- - id: state
- type: label
- - id: geo__state__location
- type: label
- type: attribute
- - attributes:
- title: Type
- description: Type
- tags:
- - Campaign channels
- areRelationsValid: true
- sourceColumn: type
- sourceColumnDataType: STRING
- id: type
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/type
- meta:
- origin:
- originId: demo
- originType: NATIVE
- relationships:
- dataset:
- data:
- id: campaign_channels
- type: dataset
- labels:
- data:
- - id: type
- type: label
- type: attribute
- included:
- - attributes:
- title: Product name
- description: Product name
- tags:
- - Products
- primary: true
- sourceColumn: product_name
- sourceColumnDataType: STRING
- valueType: TEXT
- id: product_name
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/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
- sourceColumnDataType: STRING
- valueType: TEXT
- id: order_status
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/labels/order_status
- type: label
- - attributes:
- title: Order lines
- description: Order lines
- tags:
- - Order lines
- grain:
- - id: order_line_id
- type: attribute
- referenceProperties:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- dataType: INT
- target:
- id: campaign_id
- type: attribute
- isNullable: null
- nullValue: null
- sourceColumns: null
- sourceColumnDataTypes: null
- - identifier:
- id: customers
- type: dataset
- multivalue: false
- sources:
- - column: customer_id
- dataType: INT
- target:
- id: customer_id
- type: attribute
- isNullable: null
- nullValue: null
- sourceColumns: null
- sourceColumnDataTypes: null
- - identifier:
- id: date
- type: dataset
- multivalue: false
- sources:
- - column: date
- dataType: DATE
- target:
- id: date
- type: date
- isNullable: null
- nullValue: null
- sourceColumns: null
- sourceColumnDataTypes: null
- - identifier:
- id: products
- type: dataset
- multivalue: false
- sources:
- - column: product_id
- dataType: INT
- target:
- id: product_id
- type: attribute
- isNullable: null
- nullValue: null
- sourceColumns: null
- sourceColumnDataTypes: null
- dataSourceTableId: demo-test-ds:order_lines
- dataSourceTablePath:
- - demo
- - order_lines
- workspaceDataFilterColumns:
- - name: wdf__region
- dataType: STRING
- - name: wdf__state
- dataType: STRING
- workspaceDataFilterReferences:
- - filterId:
- id: wdf__region
- type: workspaceDataFilter
- filterColumn: wdf__region
- filterColumnDataType: STRING
- - filterId:
- id: wdf__state
- type: workspaceDataFilter
- filterColumn: wdf__state
- filterColumnDataType: STRING
- type: NORMAL
- id: order_lines
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/datasets/order_lines
- type: dataset
- - attributes:
- title: Campaign name
- description: Campaign name
- tags:
- - Campaigns
- primary: true
- sourceColumn: campaign_name
- sourceColumnDataType: STRING
- valueType: TEXT
- id: campaign_name
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/labels/campaign_name
- type: label
- - 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
- sources:
- - column: campaign_id
- dataType: INT
- target:
- id: campaign_id
- type: attribute
- isNullable: null
- nullValue: null
- sourceColumns: null
- sourceColumnDataTypes: null
- dataSourceTableId: demo-test-ds:campaign_channels
- dataSourceTablePath:
- - demo
- - campaign_channels
- type: NORMAL
- id: campaign_channels
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/datasets/campaign_channels
- type: dataset
- - attributes:
- title: Date - Month/Year
- description: Month and Year (12/2020)
- tags:
- - Date
- primary: true
- sourceColumn: ''
- id: date.month
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/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: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/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
- sourceColumnDataType: STRING
- valueType: TEXT
- id: campaign_channel_id
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/labels/campaign_channel_id
- type: label
- - attributes:
- title: Date - Date
- description: Date
- tags:
- - Date
- primary: true
- sourceColumn: ''
- id: date.day
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/labels/date.day
- type: label
- - attributes:
- title: Campaigns
- description: Campaigns
- tags:
- - Campaigns
- grain:
- - id: campaign_id
- type: attribute
- dataSourceTableId: demo-test-ds:campaigns
- dataSourceTablePath:
- - demo
- - campaigns
- type: NORMAL
- id: campaigns
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/datasets/campaigns
- type: dataset
- - attributes:
- title: Order id
- description: Order id
- tags:
- - Order lines
- primary: true
- sourceColumn: order_id
- sourceColumnDataType: STRING
- valueType: TEXT
- id: order_id
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/labels/order_id
- type: label
- - attributes:
- title: Customer name
- description: Customer name
- tags:
- - Customers
- primary: true
- sourceColumn: customer_name
- sourceColumnDataType: STRING
- valueType: TEXT
- id: customer_name
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/labels/customer_name
- type: label
- - attributes:
- title: Type
- description: Type
- tags:
- - Campaign channels
- primary: true
- sourceColumn: type
- sourceColumnDataType: STRING
- valueType: TEXT
- id: type
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/labels/type
- type: label
- - attributes:
- title: Customers
- description: Customers
- tags:
- - Customers
- grain:
- - id: customer_id
- type: attribute
- dataSourceTableId: demo-test-ds:customers
- dataSourceTablePath:
- - demo
- - customers
- workspaceDataFilterReferences:
- - filterId:
- id: wdf__region
- type: workspaceDataFilter
- filterColumn: wdf__region
- filterColumnDataType: STRING
- type: NORMAL
- id: customers
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/datasets/customers
- type: dataset
- - attributes:
- title: Region
- description: Region
- tags:
- - Customers
- primary: true
- sourceColumn: region
- sourceColumnDataType: STRING
- valueType: TEXT
- id: region
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/labels/region
- type: label
- - attributes:
- title: Category
- description: Category
- tags:
- - Products
- primary: true
- sourceColumn: category
- sourceColumnDataType: STRING
- valueType: TEXT
- id: products.category
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/labels/products.category
- type: label
- - attributes:
- title: Date - Week/Year
- description: Week and Year (W52/2020)
- tags:
- - Date
- primary: true
- sourceColumn: ''
- id: date.week
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/labels/date.week
- type: label
- - attributes:
- title: Location
- description: Location
- tags:
- - Customers
- primary: false
- sourceColumn: geo__state__location
- sourceColumnDataType: STRING
- valueType: GEO
- id: geo__state__location
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/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
- sourceColumnDataType: INT
- valueType: TEXT
- id: product_id
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/labels/product_id
- type: label
- - attributes:
- title: Order line id
- description: Order line id
- tags:
- - Order lines
- primary: true
- sourceColumn: order_line_id
- sourceColumnDataType: STRING
- valueType: TEXT
- id: order_line_id
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/labels/order_line_id
- type: label
- - attributes:
- title: Products
- description: Products
- tags:
- - Products
- grain:
- - id: product_id
- type: attribute
- dataSourceTableId: demo-test-ds:products
- dataSourceTablePath:
- - demo
- - products
- type: NORMAL
- id: products
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/datasets/products
- type: dataset
- - attributes:
- title: Date
- description: ''
- tags:
- - Date
- type: DATE
- id: date
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/datasets/date
- type: dataset
- - attributes:
- title: Category
- description: Category
- tags:
- - Campaign channels
- primary: true
- sourceColumn: category
- sourceColumnDataType: STRING
- valueType: TEXT
- id: campaign_channels.category
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/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
- sourceColumnDataType: INT
- valueType: TEXT
- id: customer_id
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/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: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/labels/date.year
- type: label
- - attributes:
- title: State
- description: State
- tags:
- - Customers
- primary: true
- sourceColumn: state
- sourceColumnDataType: STRING
- valueType: TEXT
- id: state
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/labels/state
- type: label
- - attributes:
- title: Campaign id
- description: Campaign id
- tags:
- - Campaigns
- primary: true
- sourceColumn: campaign_id
- sourceColumnDataType: INT
- valueType: TEXT
- id: campaign_id
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/labels/campaign_id
- type: label
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&page=0&size=500
- next: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&page=1&size=500
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts%2CaggregatedFacts&page=0&size=500
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- 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
- sources:
- - column: campaign_id
- dataType: INT
- target:
- id: campaign_id
- type: attribute
- isNullable: null
- nullValue: null
- sourceColumns: null
- sourceColumnDataTypes: null
- dataSourceTableId: demo-test-ds:campaign_channels
- dataSourceTablePath:
- - demo
- - campaign_channels
- areRelationsValid: true
- type: NORMAL
- id: campaign_channels
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/datasets/campaign_channels
- meta:
- origin:
- originId: demo
- originType: NATIVE
- relationships:
- attributes:
- data:
- - id: campaign_channel_id
- type: attribute
- - id: campaign_channels.category
- type: attribute
- - id: type
- type: attribute
- facts:
- data:
- - id: budget
- type: fact
- - id: spend
- type: fact
- type: dataset
- - attributes:
- title: Campaign channels per category
- description: Campaign channels per categories
- tags:
- - Campaign channels per category
- referenceProperties:
- - identifier:
- id: campaign_channels
- type: dataset
- multivalue: false
- sources:
- - column: campaign_channel_id
- dataType: STRING
- target:
- id: campaign_channel_id
- type: attribute
- isNullable: null
- nullValue: null
- sourceColumns: null
- sourceColumnDataTypes: null
- sql:
- statement: SELECT category, SUM(budget) FROM campaign_channels GROUP
- BY category
- dataSourceId: demo-test-ds
- precedence: 1
- areRelationsValid: true
- type: NORMAL
- id: campaign_channels_per_category
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/datasets/campaign_channels_per_category
- meta:
- origin:
- originId: demo
- originType: NATIVE
- relationships:
- aggregatedFacts:
- data:
- - id: budget_agg
- type: aggregatedFact
- type: dataset
- - attributes:
- title: Campaigns
- description: Campaigns
- tags:
- - Campaigns
- grain:
- - id: campaign_id
- type: attribute
- dataSourceTableId: demo-test-ds:campaigns
- dataSourceTablePath:
- - demo
- - campaigns
- areRelationsValid: true
- type: NORMAL
- id: campaigns
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/datasets/campaigns
- meta:
- origin:
- originId: demo
- originType: NATIVE
- relationships:
- attributes:
- data:
- - id: campaign_id
- type: attribute
- - id: campaign_name
- type: attribute
- type: dataset
- - attributes:
- title: Customers
- description: Customers
- tags:
- - Customers
- grain:
- - id: customer_id
- type: attribute
- dataSourceTableId: demo-test-ds:customers
- dataSourceTablePath:
- - demo
- - customers
- areRelationsValid: true
- workspaceDataFilterReferences:
- - filterId:
- id: wdf__region
- type: workspaceDataFilter
- filterColumn: wdf__region
- filterColumnDataType: STRING
- type: NORMAL
- id: customers
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/datasets/customers
- meta:
- origin:
- originId: demo
- originType: NATIVE
- relationships:
- attributes:
- data:
- - id: customer_id
- type: attribute
- - id: customer_name
- type: attribute
- - id: region
- type: attribute
- - id: state
- type: attribute
- type: dataset
- - attributes:
- title: Date
- description: ''
- tags:
- - Date
- areRelationsValid: true
- type: DATE
- id: date
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/datasets/date
- meta:
- origin:
- originId: demo
- originType: NATIVE
- relationships:
- attributes:
- data:
- - id: date.day
- type: attribute
- - id: date.week
- type: attribute
- - id: date.month
- type: attribute
- - id: date.quarter
- type: attribute
- - id: date.year
- type: attribute
- type: dataset
- - attributes:
- title: Order lines
- description: Order lines
- tags:
- - Order lines
- grain:
- - id: order_line_id
- type: attribute
- referenceProperties:
- - identifier:
- id: date
- type: dataset
- multivalue: false
- sources:
- - column: date
- dataType: DATE
- target:
- id: date
- type: date
- isNullable: null
- nullValue: null
- sourceColumns: null
- sourceColumnDataTypes: null
- - identifier:
- id: products
- type: dataset
- multivalue: false
- sources:
- - column: product_id
- dataType: INT
- target:
- id: product_id
- type: attribute
- isNullable: null
- nullValue: null
- sourceColumns: null
- sourceColumnDataTypes: null
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- dataType: INT
- target:
- id: campaign_id
- type: attribute
- isNullable: null
- nullValue: null
- sourceColumns: null
- sourceColumnDataTypes: null
- - identifier:
- id: customers
- type: dataset
- multivalue: false
- sources:
- - column: customer_id
- dataType: INT
- target:
- id: customer_id
- type: attribute
- isNullable: null
- nullValue: null
- sourceColumns: null
- sourceColumnDataTypes: null
- dataSourceTableId: demo-test-ds:order_lines
- dataSourceTablePath:
- - demo
- - order_lines
- areRelationsValid: true
- workspaceDataFilterColumns:
- - name: wdf__region
- dataType: STRING
- - name: wdf__state
- dataType: STRING
- workspaceDataFilterReferences:
- - filterId:
- id: wdf__region
- type: workspaceDataFilter
- filterColumn: wdf__region
- filterColumnDataType: STRING
- - filterId:
- id: wdf__state
- type: workspaceDataFilter
- filterColumn: wdf__state
- filterColumnDataType: STRING
- type: NORMAL
- id: order_lines
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/datasets/order_lines
- meta:
- origin:
- originId: demo
- originType: NATIVE
- relationships:
- attributes:
- data:
- - id: order_id
- type: attribute
- - id: order_line_id
- type: attribute
- - id: order_status
- type: attribute
- facts:
- data:
- - id: price
- type: fact
- - id: quantity
- type: fact
- type: dataset
- - attributes:
- title: Products
- description: Products
- tags:
- - Products
- grain:
- - id: product_id
- type: attribute
- dataSourceTableId: demo-test-ds:products
- dataSourceTablePath:
- - demo
- - products
- areRelationsValid: true
- type: NORMAL
- id: products
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/datasets/products
- meta:
- origin:
- originId: demo
- originType: NATIVE
- relationships:
- attributes:
- data:
- - id: product_id
- type: attribute
- - id: product_name
- type: attribute
- - id: products.category
- type: attribute
- type: dataset
- included:
- - attributes:
- title: Product id
- description: Product id
- tags:
- - Products
- sourceColumn: product_id
- sourceColumnDataType: INT
- id: product_id
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/product_id
- type: attribute
- - attributes:
- title: Budget
- description: Budget
- tags:
- - Campaign channels
- sourceColumn: budget
- sourceColumnDataType: NUMERIC
- id: budget
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/facts/budget
- type: fact
- - attributes:
- title: Date - Year
- description: Year
- tags:
- - Date
- granularity: YEAR
- id: date.year
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/date.year
- type: attribute
- - attributes:
- title: Product name
- description: Product name
- tags:
- - Products
- sourceColumn: product_name
- sourceColumnDataType: STRING
- id: product_name
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/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: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/date.month
- type: attribute
- - attributes:
- title: Category
- description: Category
- tags:
- - Products
- sourceColumn: category
- sourceColumnDataType: STRING
- id: products.category
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/products.category
- type: attribute
- - attributes:
- title: Date - Quarter/Year
- description: Quarter and Year (Q1/2020)
- tags:
- - Date
- granularity: QUARTER
- id: date.quarter
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/date.quarter
- type: attribute
- - attributes:
- title: Category
- description: Category
- tags:
- - Campaign channels
- sourceColumn: category
- sourceColumnDataType: STRING
- id: campaign_channels.category
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/campaign_channels.category
- type: attribute
- - attributes:
- title: State
- description: State
- tags:
- - Customers
- sourceColumn: state
- sourceColumnDataType: STRING
- id: state
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/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: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/date.week
- type: attribute
- - attributes:
- title: Order id
- description: Order id
- tags:
- - Order lines
- sourceColumn: order_id
- sourceColumnDataType: STRING
- id: order_id
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/order_id
- type: attribute
- - attributes:
- title: Campaign name
- description: Campaign name
- tags:
- - Campaigns
- sourceColumn: campaign_name
- sourceColumnDataType: STRING
- id: campaign_name
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/campaign_name
- type: attribute
- - attributes:
- title: Price
- description: Price
- tags:
- - Order lines
- sourceColumn: price
- sourceColumnDataType: NUMERIC
- id: price
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/facts/price
- type: fact
- - attributes:
- description: Budget Agg
- tags:
- - Campaign channels per category
- sourceColumn: budget
- sourceColumnDataType: INT
- operation: SUM
- id: budget_agg
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/aggregatedFacts/budget_agg
- type: aggregatedFact
- - attributes:
- title: Date - Date
- description: Date
- tags:
- - Date
- granularity: DAY
- id: date.day
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/date.day
- type: attribute
- - attributes:
- title: Region
- description: Region
- tags:
- - Customers
- sourceColumn: region
- sourceColumnDataType: STRING
- id: region
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/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
- sourceColumnDataType: STRING
- id: campaign_channel_id
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/campaign_channel_id
- type: attribute
- - attributes:
- title: Customer id
- description: Customer id
- tags:
- - Customers
- sourceColumn: customer_id
- sourceColumnDataType: INT
- id: customer_id
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/customer_id
- type: attribute
- - attributes:
- title: Quantity
- description: Quantity
- tags:
- - Order lines
- sourceColumn: quantity
- sourceColumnDataType: NUMERIC
- id: quantity
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/facts/quantity
- type: fact
- - attributes:
- title: Campaign id
- description: Campaign id
- tags:
- - Campaigns
- sourceColumn: campaign_id
- sourceColumnDataType: INT
- id: campaign_id
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/campaign_id
- type: attribute
- - attributes:
- title: Type
- description: Type
- tags:
- - Campaign channels
- sourceColumn: type
- sourceColumnDataType: STRING
- id: type
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/type
- type: attribute
- - attributes:
- title: Spend
- description: Spend
- tags:
- - Campaign channels
- sourceColumn: spend
- sourceColumnDataType: NUMERIC
- id: spend
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/facts/spend
- type: fact
- - attributes:
- title: Order status
- description: Order status
- tags:
- - Order lines
- sourceColumn: order_status
- sourceColumnDataType: STRING
- id: order_status
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/order_status
- type: attribute
- - attributes:
- title: Customer name
- description: Customer name
- tags:
- - Customers
- sourceColumn: customer_name
- sourceColumnDataType: STRING
- id: customer_name
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/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
- sourceColumnDataType: STRING
- id: order_line_id
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/attributes/order_line_id
- type: attribute
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts%2CaggregatedFacts&page=0&size=500
- next: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts%2CaggregatedFacts&page=1&size=500
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics?page=0&size=500
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- - attributes:
- title: '# of Active Customers'
- areRelationsValid: true
- content:
- format: '#,##0'
- maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id})
- createdAt: 2026-03-25 09:17
- id: amount_of_active_customers
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/amount_of_active_customers
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: metric
- - attributes:
- title: '# of Orders'
- areRelationsValid: true
- content:
- format: '#,##0'
- maql: SELECT COUNT({attribute/order_id})
- createdAt: 2026-03-25 09:17
- id: amount_of_orders
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/amount_of_orders
- meta:
- origin:
- originId: demo
- originType: NATIVE
- 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 '
- createdAt: 2026-03-25 09:17
- id: amount_of_top_customers
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/amount_of_top_customers
- meta:
- origin:
- originId: demo
- originType: NATIVE
- 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"))
- createdAt: 2026-03-25 09:17
- id: amount_of_valid_orders
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/amount_of_valid_orders
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: metric
- - attributes:
- title: Campaign Spend
- areRelationsValid: true
- content:
- format: $#,##0
- maql: SELECT SUM({fact/spend})
- createdAt: 2026-03-25 09:17
- id: campaign_spend
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/campaign_spend
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: metric
- - attributes:
- title: Order Amount
- areRelationsValid: true
- content:
- format: $#,##0
- maql: SELECT SUM({fact/price}*{fact/quantity})
- createdAt: 2026-03-25 09:17
- id: order_amount
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/order_amount
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: metric
- - attributes:
- title: '% Revenue'
- areRelationsValid: true
- content:
- format: '#,##0.0%'
- maql: SELECT {metric/revenue} / {metric/total_revenue}
- createdAt: 2026-03-25 09:17
- id: percent_revenue
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/percent_revenue
- meta:
- origin:
- originId: demo
- originType: NATIVE
- 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}"
- createdAt: 2026-03-25 09:17
- id: percent_revenue_from_top_10_customers
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_customers
- meta:
- origin:
- originId: demo
- originType: NATIVE
- 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}"
- createdAt: 2026-03-25 09:17
- id: percent_revenue_from_top_10_percent_customers
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_customers
- meta:
- origin:
- originId: demo
- originType: NATIVE
- 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}"
- createdAt: 2026-03-25 09:17
- id: percent_revenue_from_top_10_percent_products
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_products
- meta:
- origin:
- originId: demo
- originType: NATIVE
- 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}"
- createdAt: 2026-03-25 09:17
- id: percent_revenue_from_top_10_products
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_products
- meta:
- origin:
- originId: demo
- originType: NATIVE
- 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)
- createdAt: 2026-03-25 09:17
- id: percent_revenue_in_category
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/percent_revenue_in_category
- meta:
- origin:
- originId: demo
- originType: NATIVE
- 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})
- createdAt: 2026-03-25 09:17
- id: percent_revenue_per_product
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/percent_revenue_per_product
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: metric
- - attributes:
- title: Revenue
- description: ''
- areRelationsValid: true
- content:
- format: $#,##0
- maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status}
- IN ("Returned", "Canceled"))
- createdAt: 2026-03-25 09:17
- id: revenue
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/revenue
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: metric
- - attributes:
- title: Revenue (Clothing)
- areRelationsValid: true
- content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE {label/products.category} IN
- ("Clothing")
- createdAt: 2026-03-25 09:17
- id: revenue-clothing
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/revenue-clothing
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: metric
- - attributes:
- title: Revenue (Electronic)
- areRelationsValid: true
- content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE {label/products.category} IN
- ( "Electronics")
- createdAt: 2026-03-25 09:17
- id: revenue-electronic
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/revenue-electronic
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: metric
- - attributes:
- title: Revenue (Home)
- areRelationsValid: true
- content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE {label/products.category} IN
- ("Home")
- createdAt: 2026-03-25 09:17
- id: revenue-home
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/revenue-home
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: metric
- - attributes:
- title: Revenue (Outdoor)
- areRelationsValid: true
- content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE {label/products.category} IN
- ("Outdoor")
- createdAt: 2026-03-25 09:17
- id: revenue-outdoor
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/revenue-outdoor
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: metric
- - attributes:
- title: Revenue per Customer
- areRelationsValid: true
- content:
- format: $#,##0.0
- maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id})
- createdAt: 2026-03-25 09:17
- id: revenue_per_customer
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/revenue_per_customer
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: metric
- - attributes:
- title: Revenue per Dollar Spent
- areRelationsValid: true
- content:
- format: $#,##0.0
- maql: SELECT {metric/revenue} / {metric/campaign_spend}
- createdAt: 2026-03-25 09:17
- id: revenue_per_dollar_spent
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/revenue_per_dollar_spent
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: metric
- - attributes:
- title: Revenue / Top 10
- areRelationsValid: true
- content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue})
- createdAt: 2026-03-25 09:17
- id: revenue_top_10
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/revenue_top_10
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: metric
- - attributes:
- title: Revenue / Top 10%
- areRelationsValid: true
- content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue})
- createdAt: 2026-03-25 09:17
- id: revenue_top_10_percent
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/revenue_top_10_percent
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: metric
- - attributes:
- title: Total Revenue
- areRelationsValid: true
- content:
- format: $#,##0
- maql: SELECT {metric/revenue} BY ALL OTHER
- createdAt: 2026-03-25 09:17
- id: total_revenue
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/total_revenue
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: metric
- - attributes:
- title: Total Revenue (No Filters)
- areRelationsValid: true
- content:
- format: $#,##0
- maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER
- createdAt: 2026-03-25 09:17
- id: total_revenue-no_filters
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics/total_revenue-no_filters
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: metric
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics?page=0&size=500
- next: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/metrics?page=1&size=500
- - request:
- method: PUT
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces
- body:
- 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:
- - id: demo
- name: Demo
- automations: []
- customApplicationSettings: []
- filterViews: []
- hierarchyPermissions:
- - assignee:
- id: demo2
- type: user
- name: MANAGE
- - assignee:
- id: demoGroup
- type: userGroup
- name: ANALYZE
- model:
- analytics:
- analyticalDashboardExtensions: []
- analyticalDashboards:
- - content:
- filterContextRef:
- identifier:
- id: campaign_name_filter
- type: filterContext
- layout:
- type: IDashboardLayout
- sections:
- - type: IDashboardLayoutSection
- header:
- title: Spend breakdown and Revenue
- description: The first insight shows a breakdown of
- spend by category and campaign. The second shows revenue
- per $ spend, for each campaign, to demonstrate, how
- campaigns are successful.
- 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: ''
- permissions:
- - assigneeRule:
- type: allWorkspaceUsers
- name: VIEW
- - 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: ''
- attributeHierarchies: []
- 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
- exportDefinitions: []
- 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
- memoryItems: []
- ldm:
- datasets:
- - grain:
- - id: campaign_channel_id
- type: attribute
- id: campaign_channels
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- target:
- id: campaign_id
- type: attribute
- dataType: INT
- title: Campaign channels
- aggregatedFacts: []
- attributes:
- - id: campaign_channel_id
- labels: []
- sourceColumn: campaign_channel_id
- title: Campaign channel id
- description: Campaign channel id
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- - id: campaign_channels.category
- labels: []
- sourceColumn: category
- title: Category
- description: Category
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- - id: type
- labels: []
- sourceColumn: type
- title: Type
- description: Type
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaign_channels
- type: dataSource
- path:
- - demo
- - campaign_channels
- description: Campaign channels
- facts:
- - id: budget
- sourceColumn: budget
- title: Budget
- description: Budget
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- - id: spend
- sourceColumn: spend
- title: Spend
- description: Spend
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- tags:
- - Campaign channels
- - grain: []
- id: campaign_channels_per_category
- references:
- - identifier:
- id: campaign_channels
- type: dataset
- multivalue: false
- sources:
- - column: campaign_channel_id
- target:
- id: campaign_channel_id
- type: attribute
- dataType: STRING
- title: Campaign channels per category
- aggregatedFacts:
- - id: budget_agg
- sourceColumn: budget
- sourceFactReference:
- operation: SUM
- reference:
- id: budget
- type: fact
- description: Budget Agg
- sourceColumnDataType: INT
- tags:
- - Campaign channels per category
- attributes: []
- description: Campaign channels per categories
- facts: []
- precedence: 1
- sql:
- dataSourceId: demo-test-ds
- statement: SELECT category, SUM(budget) FROM campaign_channels
- GROUP BY category
- tags:
- - Campaign channels per category
- - grain:
- - id: campaign_id
- type: attribute
- id: campaigns
- references: []
- title: Campaigns
- aggregatedFacts: []
- attributes:
- - id: campaign_id
- labels: []
- sourceColumn: campaign_id
- title: Campaign id
- description: Campaign id
- sourceColumnDataType: INT
- tags:
- - Campaigns
- - id: campaign_name
- labels: []
- sourceColumn: campaign_name
- title: Campaign name
- description: Campaign name
- sourceColumnDataType: STRING
- tags:
- - Campaigns
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaigns
- type: dataSource
- path:
- - demo
- - campaigns
- description: Campaigns
- facts: []
- tags:
- - Campaigns
- - grain:
- - id: customer_id
- type: attribute
- id: customers
- references: []
- title: Customers
- aggregatedFacts: []
- attributes:
- - id: customer_id
- labels: []
- sourceColumn: customer_id
- title: Customer id
- description: Customer id
- sourceColumnDataType: INT
- tags:
- - Customers
- - id: customer_name
- labels: []
- sourceColumn: customer_name
- title: Customer name
- description: Customer name
- sourceColumnDataType: STRING
- tags:
- - Customers
- - id: region
- labels: []
- sourceColumn: region
- title: Region
- description: Region
- sourceColumnDataType: STRING
- tags:
- - Customers
- - id: state
- labels:
- - id: geo__state__location
- sourceColumn: geo__state__location
- title: Location
- description: Location
- sourceColumnDataType: STRING
- tags:
- - Customers
- valueType: GEO
- sourceColumn: state
- title: State
- description: State
- sourceColumnDataType: STRING
- tags:
- - Customers
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: customers
- type: dataSource
- path:
- - demo
- - customers
- description: Customers
- facts: []
- tags:
- - Customers
- - grain:
- - id: order_line_id
- type: attribute
- id: order_lines
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- target:
- id: campaign_id
- type: attribute
- dataType: INT
- - identifier:
- id: customers
- type: dataset
- multivalue: false
- sources:
- - column: customer_id
- target:
- id: customer_id
- type: attribute
- dataType: INT
- - identifier:
- id: date
- type: dataset
- multivalue: false
- sources:
- - column: date
- target:
- id: date
- type: date
- dataType: DATE
- - identifier:
- id: products
- type: dataset
- multivalue: false
- sources:
- - column: product_id
- target:
- id: product_id
- type: attribute
- dataType: INT
- title: Order lines
- aggregatedFacts: []
- attributes:
- - id: order_id
- labels: []
- sourceColumn: order_id
- title: Order id
- description: Order id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- - id: order_line_id
- labels: []
- sourceColumn: order_line_id
- title: Order line id
- description: Order line id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- - id: order_status
- labels: []
- sourceColumn: order_status
- title: Order status
- description: Order status
- sourceColumnDataType: STRING
- tags:
- - Order lines
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: order_lines
- type: dataSource
- path:
- - demo
- - order_lines
- description: Order lines
- facts:
- - id: price
- sourceColumn: price
- title: Price
- description: Price
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- - id: quantity
- sourceColumn: quantity
- title: Quantity
- description: Quantity
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- tags:
- - Order lines
- workspaceDataFilterColumns:
- - dataType: STRING
- name: wdf__region
- - dataType: STRING
- name: wdf__state
- workspaceDataFilterReferences:
- - filterColumn: wdf__region
- filterColumnDataType: STRING
- filterId:
- id: wdf__region
- type: workspaceDataFilter
- - grain:
- - id: product_id
- type: attribute
- id: products
- references: []
- title: Products
- aggregatedFacts: []
- attributes:
- - id: product_id
- labels: []
- sourceColumn: product_id
- title: Product id
- description: Product id
- sourceColumnDataType: INT
- tags:
- - Products
- - id: product_name
- labels: []
- sourceColumn: product_name
- title: Product name
- description: Product name
- sourceColumnDataType: STRING
- tags:
- - Products
- - id: products.category
- labels: []
- sourceColumn: category
- title: Category
- description: Category
- sourceColumnDataType: STRING
- tags:
- - Products
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: products
- type: dataSource
- path:
- - demo
- - products
- description: Products
- facts: []
- tags:
- - Products
- dateInstances:
- - granularities:
- - DAY
- - WEEK
- - MONTH
- - QUARTER
- - YEAR
- granularitiesFormatting:
- titleBase: ''
- titlePattern: '%titleBase - %granularityTitle'
- id: date
- title: Date
- description: ''
- tags:
- - Date
- permissions:
- - assignee:
- id: demo2
- type: user
- name: ANALYZE
- - assignee:
- id: demoGroup
- type: userGroup
- name: VIEW
- settings: []
- userDataFilters: []
- - id: demo_west
- name: Demo West
- automations: []
- customApplicationSettings: []
- filterViews: []
- hierarchyPermissions: []
- model:
- analytics:
- analyticalDashboardExtensions:
- - id: campaign
- permissions:
- - assigneeRule:
- type: allWorkspaceUsers
- name: VIEW
- analyticalDashboards: []
- attributeHierarchies: []
- dashboardPlugins: []
- exportDefinitions: []
- filterContexts: []
- metrics: []
- visualizationObjects: []
- memoryItems: []
- ldm:
- datasetExtensions:
- - id: order_lines
- workspaceDataFilterReferences:
- - filterColumn: wdf__state
- filterColumnDataType: STRING
- filterId:
- id: wdf__state
- type: workspaceDataFilter
- datasets: []
- dateInstances: []
- parent:
- id: demo
- type: workspace
- permissions: []
- settings: []
- userDataFilters: []
- - id: demo_west_california
- name: Demo West California
- automations: []
- customApplicationSettings: []
- filterViews: []
- hierarchyPermissions: []
- model:
- analytics:
- analyticalDashboardExtensions: []
- analyticalDashboards: []
- attributeHierarchies: []
- dashboardPlugins: []
- exportDefinitions: []
- filterContexts: []
- metrics: []
- visualizationObjects: []
- memoryItems: []
- ldm:
- datasets: []
- dateInstances: []
- parent:
- id: demo_west
- type: workspace
- permissions: []
- settings: []
- userDataFilters: []
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/export_definition_analytics_layout.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/export_definition_analytics_layout.yaml
deleted file mode 100644
index b25ce0330..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/export_definition_analytics_layout.yaml
+++ /dev/null
@@ -1,5962 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces/demo/analyticsModel?exclude=ACTIVITY_INFO
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- analytics:
- analyticalDashboardExtensions: []
- analyticalDashboards:
- - content:
- filterContextRef:
- identifier:
- id: campaign_name_filter
- type: filterContext
- layout:
- type: IDashboardLayout
- sections:
- - type: IDashboardLayoutSection
- header:
- title: Spend breakdown and Revenue
- description: The first insight shows a breakdown of spend
- by category and campaign. The second shows revenue per
- $ spend, for each campaign, to demonstrate, how campaigns
- are successful.
- 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
- permissions:
- - assigneeRule:
- type: allWorkspaceUsers
- name: VIEW
- 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
- attributeHierarchies: []
- 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
- exportDefinitions: []
- 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
- memoryItems: []
- 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: PUT
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces/demo/analyticsModel
- body:
- analytics:
- analyticalDashboards:
- - content:
- filterContextRef:
- identifier:
- id: campaign_name_filter
- type: filterContext
- layout:
- type: IDashboardLayout
- sections:
- - type: IDashboardLayoutSection
- header:
- title: Spend breakdown and Revenue
- description: The first insight shows a breakdown of spend
- by category and campaign. The second shows revenue per $
- spend, for each campaign, to demonstrate, how campaigns
- are successful.
- 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: ''
- permissions:
- - name: VIEW
- assigneeRule:
- type: allWorkspaceUsers
- - 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: ''
- analyticalDashboardExtensions: []
- attributeHierarchies: []
- 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
- exportDefinitions:
- - id: export_definition_id
- title: export_definition_title
- requestPayload:
- fileName: abc
- format: CSV
- memoryItems: []
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces/demo/analyticsModel?exclude=ACTIVITY_INFO
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- analytics:
- analyticalDashboardExtensions: []
- analyticalDashboards:
- - content:
- filterContextRef:
- identifier:
- id: campaign_name_filter
- type: filterContext
- layout:
- type: IDashboardLayout
- sections:
- - type: IDashboardLayoutSection
- header:
- title: Spend breakdown and Revenue
- description: The first insight shows a breakdown of spend
- by category and campaign. The second shows revenue per
- $ spend, for each campaign, to demonstrate, how campaigns
- are successful.
- 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
- permissions:
- - assigneeRule:
- type: allWorkspaceUsers
- name: VIEW
- 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
- attributeHierarchies: []
- 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
- exportDefinitions:
- - id: export_definition_id
- requestPayload:
- fileName: abc
- format: CSV
- title: export_definition_title
- 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
- memoryItems: []
- 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: PUT
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces
- body:
- 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:
- - id: demo
- name: Demo
- automations: []
- customApplicationSettings: []
- filterViews: []
- hierarchyPermissions:
- - assignee:
- id: demo2
- type: user
- name: MANAGE
- - assignee:
- id: demoGroup
- type: userGroup
- name: ANALYZE
- model:
- analytics:
- analyticalDashboardExtensions: []
- analyticalDashboards:
- - content:
- filterContextRef:
- identifier:
- id: campaign_name_filter
- type: filterContext
- layout:
- type: IDashboardLayout
- sections:
- - type: IDashboardLayoutSection
- header:
- title: Spend breakdown and Revenue
- description: The first insight shows a breakdown of
- spend by category and campaign. The second shows revenue
- per $ spend, for each campaign, to demonstrate, how
- campaigns are successful.
- 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: ''
- permissions:
- - assigneeRule:
- type: allWorkspaceUsers
- name: VIEW
- - 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: ''
- attributeHierarchies: []
- 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
- exportDefinitions: []
- 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
- memoryItems: []
- ldm:
- datasets:
- - grain:
- - id: campaign_channel_id
- type: attribute
- id: campaign_channels
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- target:
- id: campaign_id
- type: attribute
- dataType: INT
- title: Campaign channels
- aggregatedFacts: []
- attributes:
- - id: campaign_channel_id
- labels: []
- sourceColumn: campaign_channel_id
- title: Campaign channel id
- description: Campaign channel id
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- - id: campaign_channels.category
- labels: []
- sourceColumn: category
- title: Category
- description: Category
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- - id: type
- labels: []
- sourceColumn: type
- title: Type
- description: Type
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaign_channels
- type: dataSource
- path:
- - demo
- - campaign_channels
- description: Campaign channels
- facts:
- - id: budget
- sourceColumn: budget
- title: Budget
- description: Budget
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- - id: spend
- sourceColumn: spend
- title: Spend
- description: Spend
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- tags:
- - Campaign channels
- - grain: []
- id: campaign_channels_per_category
- references:
- - identifier:
- id: campaign_channels
- type: dataset
- multivalue: false
- sources:
- - column: campaign_channel_id
- target:
- id: campaign_channel_id
- type: attribute
- dataType: STRING
- title: Campaign channels per category
- aggregatedFacts:
- - id: budget_agg
- sourceColumn: budget
- sourceFactReference:
- operation: SUM
- reference:
- id: budget
- type: fact
- description: Budget Agg
- sourceColumnDataType: INT
- tags:
- - Campaign channels per category
- attributes: []
- description: Campaign channels per categories
- facts: []
- precedence: 1
- sql:
- dataSourceId: demo-test-ds
- statement: SELECT category, SUM(budget) FROM campaign_channels
- GROUP BY category
- tags:
- - Campaign channels per category
- - grain:
- - id: campaign_id
- type: attribute
- id: campaigns
- references: []
- title: Campaigns
- aggregatedFacts: []
- attributes:
- - id: campaign_id
- labels: []
- sourceColumn: campaign_id
- title: Campaign id
- description: Campaign id
- sourceColumnDataType: INT
- tags:
- - Campaigns
- - id: campaign_name
- labels: []
- sourceColumn: campaign_name
- title: Campaign name
- description: Campaign name
- sourceColumnDataType: STRING
- tags:
- - Campaigns
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaigns
- type: dataSource
- path:
- - demo
- - campaigns
- description: Campaigns
- facts: []
- tags:
- - Campaigns
- - grain:
- - id: customer_id
- type: attribute
- id: customers
- references: []
- title: Customers
- aggregatedFacts: []
- attributes:
- - id: customer_id
- labels: []
- sourceColumn: customer_id
- title: Customer id
- description: Customer id
- sourceColumnDataType: INT
- tags:
- - Customers
- - id: customer_name
- labels: []
- sourceColumn: customer_name
- title: Customer name
- description: Customer name
- sourceColumnDataType: STRING
- tags:
- - Customers
- - id: region
- labels: []
- sourceColumn: region
- title: Region
- description: Region
- sourceColumnDataType: STRING
- tags:
- - Customers
- - id: state
- labels:
- - id: geo__state__location
- sourceColumn: geo__state__location
- title: Location
- description: Location
- sourceColumnDataType: STRING
- tags:
- - Customers
- valueType: GEO
- sourceColumn: state
- title: State
- description: State
- sourceColumnDataType: STRING
- tags:
- - Customers
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: customers
- type: dataSource
- path:
- - demo
- - customers
- description: Customers
- facts: []
- tags:
- - Customers
- - grain:
- - id: order_line_id
- type: attribute
- id: order_lines
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- target:
- id: campaign_id
- type: attribute
- dataType: INT
- - identifier:
- id: customers
- type: dataset
- multivalue: false
- sources:
- - column: customer_id
- target:
- id: customer_id
- type: attribute
- dataType: INT
- - identifier:
- id: date
- type: dataset
- multivalue: false
- sources:
- - column: date
- target:
- id: date
- type: date
- dataType: DATE
- - identifier:
- id: products
- type: dataset
- multivalue: false
- sources:
- - column: product_id
- target:
- id: product_id
- type: attribute
- dataType: INT
- title: Order lines
- aggregatedFacts: []
- attributes:
- - id: order_id
- labels: []
- sourceColumn: order_id
- title: Order id
- description: Order id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- - id: order_line_id
- labels: []
- sourceColumn: order_line_id
- title: Order line id
- description: Order line id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- - id: order_status
- labels: []
- sourceColumn: order_status
- title: Order status
- description: Order status
- sourceColumnDataType: STRING
- tags:
- - Order lines
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: order_lines
- type: dataSource
- path:
- - demo
- - order_lines
- description: Order lines
- facts:
- - id: price
- sourceColumn: price
- title: Price
- description: Price
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- - id: quantity
- sourceColumn: quantity
- title: Quantity
- description: Quantity
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- tags:
- - Order lines
- workspaceDataFilterColumns:
- - dataType: STRING
- name: wdf__region
- - dataType: STRING
- name: wdf__state
- workspaceDataFilterReferences:
- - filterColumn: wdf__region
- filterColumnDataType: STRING
- filterId:
- id: wdf__region
- type: workspaceDataFilter
- - grain:
- - id: product_id
- type: attribute
- id: products
- references: []
- title: Products
- aggregatedFacts: []
- attributes:
- - id: product_id
- labels: []
- sourceColumn: product_id
- title: Product id
- description: Product id
- sourceColumnDataType: INT
- tags:
- - Products
- - id: product_name
- labels: []
- sourceColumn: product_name
- title: Product name
- description: Product name
- sourceColumnDataType: STRING
- tags:
- - Products
- - id: products.category
- labels: []
- sourceColumn: category
- title: Category
- description: Category
- sourceColumnDataType: STRING
- tags:
- - Products
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: products
- type: dataSource
- path:
- - demo
- - products
- description: Products
- facts: []
- tags:
- - Products
- dateInstances:
- - granularities:
- - DAY
- - WEEK
- - MONTH
- - QUARTER
- - YEAR
- granularitiesFormatting:
- titleBase: ''
- titlePattern: '%titleBase - %granularityTitle'
- id: date
- title: Date
- description: ''
- tags:
- - Date
- permissions:
- - assignee:
- id: demo2
- type: user
- name: ANALYZE
- - assignee:
- id: demoGroup
- type: userGroup
- name: VIEW
- settings: []
- userDataFilters: []
- - id: demo_west
- name: Demo West
- automations: []
- customApplicationSettings: []
- filterViews: []
- hierarchyPermissions: []
- model:
- analytics:
- analyticalDashboardExtensions:
- - id: campaign
- permissions:
- - assigneeRule:
- type: allWorkspaceUsers
- name: VIEW
- analyticalDashboards: []
- attributeHierarchies: []
- dashboardPlugins: []
- exportDefinitions: []
- filterContexts: []
- metrics: []
- visualizationObjects: []
- memoryItems: []
- ldm:
- datasetExtensions:
- - id: order_lines
- workspaceDataFilterReferences:
- - filterColumn: wdf__state
- filterColumnDataType: STRING
- filterId:
- id: wdf__state
- type: workspaceDataFilter
- datasets: []
- dateInstances: []
- parent:
- id: demo
- type: workspace
- permissions: []
- settings: []
- userDataFilters: []
- - id: demo_west_california
- name: Demo West California
- automations: []
- customApplicationSettings: []
- filterViews: []
- hierarchyPermissions: []
- model:
- analytics:
- analyticalDashboardExtensions: []
- analyticalDashboards: []
- attributeHierarchies: []
- dashboardPlugins: []
- exportDefinitions: []
- filterContexts: []
- metrics: []
- visualizationObjects: []
- memoryItems: []
- ldm:
- datasets: []
- dateInstances: []
- parent:
- id: demo_west
- type: workspace
- permissions: []
- settings: []
- userDataFilters: []
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/label_elements.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/label_elements.yaml
deleted file mode 100644
index 85cbc0bd2..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/label_elements.yaml
+++ /dev/null
@@ -1,677 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: POST
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/actions/workspaces/demo/execution/collectLabelElements
- body:
- label: order_status
- dependsOn:
- - label: order_status
- values:
- - Canceled
- - Delivered
- complementFilter: false
- validateBy: []
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '261'
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- primaryLabel:
- id: order_status
- type: label
- elements:
- - title: Canceled
- primaryTitle: Canceled
- - title: Delivered
- primaryTitle: Delivered
- paging:
- total: 2
- count: 2
- offset: 0
- next: null
- cacheId: aa29ce0b0acfc72b7b488152b1dc394c
- - request:
- method: POST
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/actions/workspaces/demo/execution/collectLabelElements
- body:
- label: order_status
- dependsOn: []
- validateBy:
- - id: revenue_top_10_percent
- type: metric
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '214'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- primaryLabel:
- id: order_status
- type: label
- elements:
- - title: Delivered
- primaryTitle: Delivered
- paging:
- total: 1
- count: 1
- offset: 0
- next: null
- cacheId: 3c7c819807baf97f6bc15e014b9139e8
- - request:
- method: POST
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/actions/workspaces/demo/execution/collectLabelElements
- body:
- label: order_status
- dependsOn: []
- validateBy: []
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '308'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- primaryLabel:
- id: order_status
- type: label
- elements:
- - title: Canceled
- primaryTitle: Canceled
- - title: Delivered
- primaryTitle: Delivered
- - title: Returned
- primaryTitle: Returned
- paging:
- total: 3
- count: 3
- offset: 0
- next: null
- cacheId: 8fb034e5fd0dd18ae306dfacb1dd4f1f
- - request:
- method: POST
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/actions/workspaces/demo/execution/collectLabelElements
- body:
- label: order_status
- dependsOn:
- - dateFilter:
- absoluteDateFilter:
- dataset:
- identifier:
- id: date
- type: dataset
- from: '2150-07-01'
- to: '2150-07-16'
- validateBy: []
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '166'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- primaryLabel:
- id: order_status
- type: label
- elements: []
- paging:
- total: 0
- count: 0
- offset: 0
- next: null
- cacheId: bae075546ebbe3012d270ac44be24d3d
- - request:
- method: POST
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/actions/workspaces/demo/execution/collectLabelElements
- body:
- label: order_status
- dependsOn:
- - dateFilter:
- relativeDateFilter:
- dataset:
- identifier:
- id: date
- type: dataset
- from: 3600
- granularity: DAY
- to: 3700
- validateBy: []
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '166'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- primaryLabel:
- id: order_status
- type: label
- elements: []
- paging:
- total: 0
- count: 0
- offset: 0
- next: null
- cacheId: 02c087ef137761b52b78cb53e865d9b2
- - request:
- method: POST
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/actions/workspaces/demo/execution/collectLabelElements
- body:
- label: order_status
- dependsOn:
- - label: order_status
- values:
- - Canceled
- - Delivered
- complementFilter: false
- validateBy: []
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '261'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- primaryLabel:
- id: order_status
- type: label
- elements:
- - title: Canceled
- primaryTitle: Canceled
- - title: Delivered
- primaryTitle: Delivered
- paging:
- total: 2
- count: 2
- offset: 0
- next: null
- cacheId: aa29ce0b0acfc72b7b488152b1dc394c
- - request:
- method: POST
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/actions/workspaces/demo/execution/collectLabelElements
- body:
- label: order_status
- dependsOn: []
- validateBy: []
- patternFilter: Deli
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '214'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- primaryLabel:
- id: order_status
- type: label
- elements:
- - title: Delivered
- primaryTitle: Delivered
- paging:
- total: 1
- count: 1
- offset: 0
- next: null
- cacheId: aac53166877308a6883016dcb824971b
- - request:
- method: POST
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/actions/workspaces/demo/execution/collectLabelElements
- body:
- label: order_status
- dependsOn: []
- validateBy: []
- patternFilter: Deli
- complementFilter: true
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '259'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- primaryLabel:
- id: order_status
- type: label
- elements:
- - title: Canceled
- primaryTitle: Canceled
- - title: Returned
- primaryTitle: Returned
- paging:
- total: 2
- count: 2
- offset: 0
- next: null
- cacheId: efd977c2fe3f1e299ce49dd480cd6fc8
- - request:
- method: POST
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/actions/workspaces/demo/execution/collectLabelElements
- body:
- label: order_status
- dependsOn: []
- validateBy: []
- sortOrder: DESC
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '308'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- primaryLabel:
- id: order_status
- type: label
- elements:
- - title: Returned
- primaryTitle: Returned
- - title: Delivered
- primaryTitle: Delivered
- - title: Canceled
- primaryTitle: Canceled
- paging:
- total: 3
- count: 3
- offset: 0
- next: null
- cacheId: 411ad9655331584b50df58a262a29cf4
- - request:
- method: POST
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/actions/workspaces/demo/execution/collectLabelElements?offset=1&limit=1
- body:
- label: order_status
- dependsOn: []
- validateBy: []
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '349'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- primaryLabel:
- id: order_status
- type: label
- elements:
- - title: Delivered
- primaryTitle: Delivered
- paging:
- total: 3
- count: 1
- offset: 1
- next: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/actions/workspaces/demo/execution/collectLabelElements?limit=1&offset=2
- cacheId: 8fb034e5fd0dd18ae306dfacb1dd4f1f
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/ldm_store_load.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/ldm_store_load.yaml
deleted file mode 100644
index cf5bd0dd6..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/ldm_store_load.yaml
+++ /dev/null
@@ -1,832 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces/demo/logicalModel
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- ldm:
- datasets:
- - aggregatedFacts: []
- attributes:
- - description: Campaign channel id
- id: campaign_channel_id
- labels: []
- sourceColumn: campaign_channel_id
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Campaign channel id
- - description: Category
- id: campaign_channels.category
- labels: []
- sourceColumn: category
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Category
- - description: Type
- id: type
- labels: []
- sourceColumn: type
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Type
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaign_channels
- path:
- - demo
- - campaign_channels
- type: dataSource
- description: Campaign channels
- facts:
- - description: Budget
- id: budget
- sourceColumn: budget
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- title: Budget
- - description: Spend
- id: spend
- sourceColumn: spend
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- title: Spend
- grain:
- - id: campaign_channel_id
- type: attribute
- id: campaign_channels
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- dataType: INT
- target:
- id: campaign_id
- type: attribute
- tags:
- - Campaign channels
- title: Campaign channels
- - aggregatedFacts:
- - description: Budget Agg
- id: budget_agg
- sourceColumn: budget
- sourceColumnDataType: INT
- sourceFactReference:
- operation: SUM
- reference:
- id: budget
- type: fact
- tags:
- - Campaign channels per category
- attributes: []
- description: Campaign channels per categories
- facts: []
- grain: []
- id: campaign_channels_per_category
- precedence: 1
- references:
- - identifier:
- id: campaign_channels
- type: dataset
- multivalue: false
- sources:
- - column: campaign_channel_id
- dataType: STRING
- target:
- id: campaign_channel_id
- type: attribute
- sql:
- dataSourceId: demo-test-ds
- statement: SELECT category, SUM(budget) FROM campaign_channels GROUP
- BY category
- tags:
- - Campaign channels per category
- title: Campaign channels per category
- - aggregatedFacts: []
- attributes:
- - description: Campaign id
- id: campaign_id
- labels: []
- sourceColumn: campaign_id
- sourceColumnDataType: INT
- tags:
- - Campaigns
- title: Campaign id
- - description: Campaign name
- id: campaign_name
- labels: []
- sourceColumn: campaign_name
- sourceColumnDataType: STRING
- tags:
- - Campaigns
- title: Campaign name
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaigns
- path:
- - demo
- - campaigns
- type: dataSource
- description: Campaigns
- facts: []
- grain:
- - id: campaign_id
- type: attribute
- id: campaigns
- references: []
- tags:
- - Campaigns
- title: Campaigns
- - aggregatedFacts: []
- attributes:
- - description: Customer id
- id: customer_id
- labels: []
- sourceColumn: customer_id
- sourceColumnDataType: INT
- tags:
- - Customers
- title: Customer id
- - description: Customer name
- id: customer_name
- labels: []
- sourceColumn: customer_name
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Customer name
- - description: Region
- id: region
- labels: []
- sourceColumn: region
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Region
- - description: State
- id: state
- labels:
- - description: Location
- id: geo__state__location
- sourceColumn: geo__state__location
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Location
- valueType: GEO
- sourceColumn: state
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: State
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: customers
- path:
- - demo
- - customers
- type: dataSource
- description: Customers
- facts: []
- grain:
- - id: customer_id
- type: attribute
- id: customers
- references: []
- tags:
- - Customers
- title: Customers
- - aggregatedFacts: []
- attributes:
- - description: Order id
- id: order_id
- labels: []
- sourceColumn: order_id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order id
- - description: Order line id
- id: order_line_id
- labels: []
- sourceColumn: order_line_id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order line id
- - description: Order status
- id: order_status
- labels: []
- sourceColumn: order_status
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order status
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: order_lines
- path:
- - demo
- - order_lines
- type: dataSource
- description: Order lines
- facts:
- - description: Price
- id: price
- sourceColumn: price
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- title: Price
- - description: Quantity
- id: quantity
- sourceColumn: quantity
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- title: Quantity
- grain:
- - id: order_line_id
- type: attribute
- id: order_lines
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- dataType: INT
- target:
- id: campaign_id
- type: attribute
- - identifier:
- id: customers
- type: dataset
- multivalue: false
- sources:
- - column: customer_id
- dataType: INT
- target:
- id: customer_id
- type: attribute
- - identifier:
- id: date
- type: dataset
- multivalue: false
- sources:
- - column: date
- dataType: DATE
- target:
- id: date
- type: date
- - identifier:
- id: products
- type: dataset
- multivalue: false
- sources:
- - column: product_id
- dataType: INT
- target:
- id: product_id
- type: attribute
- tags:
- - Order lines
- title: Order lines
- workspaceDataFilterColumns:
- - dataType: STRING
- name: wdf__region
- - dataType: STRING
- name: wdf__state
- workspaceDataFilterReferences:
- - filterColumn: wdf__region
- filterColumnDataType: STRING
- filterId:
- id: wdf__region
- type: workspaceDataFilter
- - aggregatedFacts: []
- attributes:
- - description: Product id
- id: product_id
- labels: []
- sourceColumn: product_id
- sourceColumnDataType: INT
- tags:
- - Products
- title: Product id
- - description: Product name
- id: product_name
- labels: []
- sourceColumn: product_name
- sourceColumnDataType: STRING
- tags:
- - Products
- title: Product name
- - description: Category
- id: products.category
- labels: []
- sourceColumn: category
- sourceColumnDataType: STRING
- tags:
- - Products
- title: Category
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: products
- path:
- - demo
- - products
- type: dataSource
- description: Products
- facts: []
- grain:
- - id: product_id
- type: attribute
- id: products
- references: []
- tags:
- - Products
- title: Products
- dateInstances:
- - description: ''
- granularities:
- - DAY
- - WEEK
- - MONTH
- - QUARTER
- - YEAR
- granularitiesFormatting:
- titleBase: ''
- titlePattern: '%titleBase - %granularityTitle'
- id: date
- tags:
- - Date
- title: Date
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces/demo/logicalModel
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- ldm:
- datasets:
- - aggregatedFacts: []
- attributes:
- - description: Campaign channel id
- id: campaign_channel_id
- labels: []
- sourceColumn: campaign_channel_id
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Campaign channel id
- - description: Category
- id: campaign_channels.category
- labels: []
- sourceColumn: category
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Category
- - description: Type
- id: type
- labels: []
- sourceColumn: type
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Type
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaign_channels
- path:
- - demo
- - campaign_channels
- type: dataSource
- description: Campaign channels
- facts:
- - description: Budget
- id: budget
- sourceColumn: budget
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- title: Budget
- - description: Spend
- id: spend
- sourceColumn: spend
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- title: Spend
- grain:
- - id: campaign_channel_id
- type: attribute
- id: campaign_channels
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- dataType: INT
- target:
- id: campaign_id
- type: attribute
- tags:
- - Campaign channels
- title: Campaign channels
- - aggregatedFacts:
- - description: Budget Agg
- id: budget_agg
- sourceColumn: budget
- sourceColumnDataType: INT
- sourceFactReference:
- operation: SUM
- reference:
- id: budget
- type: fact
- tags:
- - Campaign channels per category
- attributes: []
- description: Campaign channels per categories
- facts: []
- grain: []
- id: campaign_channels_per_category
- precedence: 1
- references:
- - identifier:
- id: campaign_channels
- type: dataset
- multivalue: false
- sources:
- - column: campaign_channel_id
- dataType: STRING
- target:
- id: campaign_channel_id
- type: attribute
- sql:
- dataSourceId: demo-test-ds
- statement: SELECT category, SUM(budget) FROM campaign_channels GROUP
- BY category
- tags:
- - Campaign channels per category
- title: Campaign channels per category
- - aggregatedFacts: []
- attributes:
- - description: Campaign id
- id: campaign_id
- labels: []
- sourceColumn: campaign_id
- sourceColumnDataType: INT
- tags:
- - Campaigns
- title: Campaign id
- - description: Campaign name
- id: campaign_name
- labels: []
- sourceColumn: campaign_name
- sourceColumnDataType: STRING
- tags:
- - Campaigns
- title: Campaign name
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaigns
- path:
- - demo
- - campaigns
- type: dataSource
- description: Campaigns
- facts: []
- grain:
- - id: campaign_id
- type: attribute
- id: campaigns
- references: []
- tags:
- - Campaigns
- title: Campaigns
- - aggregatedFacts: []
- attributes:
- - description: Customer id
- id: customer_id
- labels: []
- sourceColumn: customer_id
- sourceColumnDataType: INT
- tags:
- - Customers
- title: Customer id
- - description: Customer name
- id: customer_name
- labels: []
- sourceColumn: customer_name
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Customer name
- - description: Region
- id: region
- labels: []
- sourceColumn: region
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Region
- - description: State
- id: state
- labels:
- - description: Location
- id: geo__state__location
- sourceColumn: geo__state__location
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Location
- valueType: GEO
- sourceColumn: state
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: State
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: customers
- path:
- - demo
- - customers
- type: dataSource
- description: Customers
- facts: []
- grain:
- - id: customer_id
- type: attribute
- id: customers
- references: []
- tags:
- - Customers
- title: Customers
- - aggregatedFacts: []
- attributes:
- - description: Order id
- id: order_id
- labels: []
- sourceColumn: order_id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order id
- - description: Order line id
- id: order_line_id
- labels: []
- sourceColumn: order_line_id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order line id
- - description: Order status
- id: order_status
- labels: []
- sourceColumn: order_status
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order status
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: order_lines
- path:
- - demo
- - order_lines
- type: dataSource
- description: Order lines
- facts:
- - description: Price
- id: price
- sourceColumn: price
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- title: Price
- - description: Quantity
- id: quantity
- sourceColumn: quantity
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- title: Quantity
- grain:
- - id: order_line_id
- type: attribute
- id: order_lines
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- dataType: INT
- target:
- id: campaign_id
- type: attribute
- - identifier:
- id: customers
- type: dataset
- multivalue: false
- sources:
- - column: customer_id
- dataType: INT
- target:
- id: customer_id
- type: attribute
- - identifier:
- id: date
- type: dataset
- multivalue: false
- sources:
- - column: date
- dataType: DATE
- target:
- id: date
- type: date
- - identifier:
- id: products
- type: dataset
- multivalue: false
- sources:
- - column: product_id
- dataType: INT
- target:
- id: product_id
- type: attribute
- tags:
- - Order lines
- title: Order lines
- workspaceDataFilterColumns:
- - dataType: STRING
- name: wdf__region
- - dataType: STRING
- name: wdf__state
- workspaceDataFilterReferences:
- - filterColumn: wdf__region
- filterColumnDataType: STRING
- filterId:
- id: wdf__region
- type: workspaceDataFilter
- - aggregatedFacts: []
- attributes:
- - description: Product id
- id: product_id
- labels: []
- sourceColumn: product_id
- sourceColumnDataType: INT
- tags:
- - Products
- title: Product id
- - description: Product name
- id: product_name
- labels: []
- sourceColumn: product_name
- sourceColumnDataType: STRING
- tags:
- - Products
- title: Product name
- - description: Category
- id: products.category
- labels: []
- sourceColumn: category
- sourceColumnDataType: STRING
- tags:
- - Products
- title: Category
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: products
- path:
- - demo
- - products
- type: dataSource
- description: Products
- facts: []
- grain:
- - id: product_id
- type: attribute
- id: products
- references: []
- tags:
- - Products
- title: Products
- dateInstances:
- - description: ''
- granularities:
- - DAY
- - WEEK
- - MONTH
- - QUARTER
- - YEAR
- granularitiesFormatting:
- titleBase: ''
- titlePattern: '%titleBase - %granularityTitle'
- id: date
- tags:
- - Date
- title: Date
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/add_metadata_locale.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/add_metadata_locale.yaml
deleted file mode 100644
index 42cf7467c..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/add_metadata_locale.yaml
+++ /dev/null
@@ -1,2069 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: POST
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/actions/workspaces/demo/translations/clean
- body:
- locale: fr-FR
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: POST
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/actions/workspaces/demo/translations/retrieve
- body:
- locale: fr-FR
- headers:
- Accept:
- - application/xml
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/xml
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: CampaignFree-form
- translations are marked by the 'id' attribute, which is a hash combining
- the JSON path and the source text's value. Since this hash is hard to read,
- the source text includes extra details about its general location.Spend
- breakdown and RevenueThe
- first insight shows a breakdown of spend by category and campaign. The second
- shows revenue per $ spend, for each campaign, to demonstrate, how campaigns
- are successful.Campaign
- SpendRevenue
- per $ vs Spend by CampaignDashboard
- pluginFree-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.DHO
- simpleProduct
- & CategoryFree-form
- translations are marked by the 'id' attribute, which is a hash combining
- the JSON path and the source text's value. Since this hash is hard to read,
- the source text includes extra details about its general location.Top
- 10 ProductsRevenue
- TrendCustomers
- TrendProduct
- Categories Pie ChartProduct
- BreakdownProduct
- Saleability%
- Revenue per Product by Customer and CategoryCampaign
- channel idCampaign
- channel idCampaign
- channelsCategoryCategoryCampaign
- channelsCampaign idCampaign idCampaignsCampaign
- nameCampaign
- nameCampaignsCustomer
- idCustomer
- idCustomersCustomer
- nameCustomer
- nameCustomersDate
- - DateDateDateDate
- - Month/YearMonth
- and Year (12/2020)DateDate
- - Quarter/YearQuarter
- and Year (Q1/2020)DateDate
- - Week/YearWeek
- and Year (W52/2020)DateDate
- - YearYearDateOrder
- idOrder
- idOrder
- linesOrder line idOrder line idOrder linesOrder
- statusOrder
- statusOrder
- linesProduct idProduct idProductsProduct
- nameProduct
- nameProductsCategoryCategoryProductsRegionRegionCustomersStateStateCustomersTypeTypeCampaign channelsCampaign
- channelsCampaign
- channelsCampaign
- channelsCampaign
- channels per categoryCampaign
- channels per categoriesCampaign
- channels per categoryCampaignsCampaignsCampaignsCustomersCustomersCustomersDateDateOrder
- linesOrder
- linesOrder
- linesProductsProductsProductsBudgetBudgetCampaign channelsPricePriceOrder linesQuantityQuantityOrder linesSpendSpendCampaign channelsBudget AggCampaign channels per
- categoryCampaign
- channel idCampaign
- channel idCampaign
- channelsCategoryCategoryCampaign channelsCampaign
- idCampaign
- idCampaignsCampaign
- nameCampaign
- nameCampaignsCustomer
- idCustomer
- idCustomersCustomer
- nameCustomer
- nameCustomersDate
- - DateDateDateDate
- - Month/YearMonth
- and Year (12/2020)DateDate
- - Quarter/YearQuarter
- and Year (Q1/2020)DateDate
- - Week/YearWeek
- and Year (W52/2020)DateDate
- - YearYearDateLocationLocationCustomersOrder
- idOrder
- idOrder
- linesOrder line idOrder line idOrder linesOrder
- statusOrder
- statusOrder
- linesProduct idProduct idProductsProduct
- nameProduct
- nameProductsCategoryCategoryProductsRegionRegionCustomersStateStateCustomersTypeTypeCampaign channels#
- of Active Customers# of Orders#
- of Top Customers# of Valid OrdersCampaign
- SpendOrder Amount%
- Revenue%
- Revenue from Top 10 Customers%
- Revenue from Top 10% Customers%
- Revenue from Top 10% Products%
- Revenue from Top 10 Products% Revenue
- in Category% Revenue
- per ProductRevenueRevenue
- (Clothing)Revenue (Electronic)Revenue
- (Home)Revenue (Outdoor)Revenue
- per CustomerRevenue per
- Dollar SpentRevenue / Top 10Revenue
- / Top 10%Total RevenueTotal
- Revenue (No Filters)Campaign
- SpendFree-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.Campaign
- SpendCustomers
- TrendFree-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.#
- of Active CustomersRevenue
- per CustomerActive
- Customers%
- Revenue per Product by Customer and CategoryFree-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.%
- Revenue per ProductRevenuePercentage
- of Customers by RegionFree-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.#
- of Active CustomersProduct
- BreakdownFree-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.RevenueProduct
- Categories Pie ChartFree-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.%
- RevenueProduct
- Revenue Comparison (over previous period)Free-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.RevenuePrevious
- PeriodThis
- PeriodProduct
- SaleabilityFree-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.#
- of OrdersRevenueNumber
- of OrdersRevenue
- and Quantity by Product and CategoryFree-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.Sum
- of QuantityAvg
- Price%
- Revenue in CategoryRevenueItems
- SoldTotal
- RevenueRevenue
- by Category TrendFree-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.RevenueRevenue
- by ProductFree-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.RevenueRevenue
- per $ vs Spend by CampaignFree-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.Campaign
- SpendRevenue
- per Dollar SpentRevenue TrendFree-form
- translations are marked by the 'id' attribute, which is a hash combining
- the JSON path and the source text's value. Since this hash is hard to read,
- the source text includes extra details about its general location.Revenue#
- of OrdersNumber
- of OrdersTop 10
- CustomersFree-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.Revenue
- / Top 10Top 10 ProductsFree-form
- translations are marked by the 'id' attribute, which is a hash combining
- the JSON path and the source text's value. Since this hash is hard to read,
- the source text includes extra details about its general location.Revenue
- / Top 10filterContextfilterContext
- - request:
- method: POST
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/actions/workspaces/demo/translations/retrieve
- body:
- locale: fr-FR
- headers:
- Accept:
- - application/xml
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/xml
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: CampaignFree-form
- translations are marked by the 'id' attribute, which is a hash combining
- the JSON path and the source text's value. Since this hash is hard to read,
- the source text includes extra details about its general location.Spend
- breakdown and RevenueThe
- first insight shows a breakdown of spend by category and campaign. The second
- shows revenue per $ spend, for each campaign, to demonstrate, how campaigns
- are successful.Campaign
- SpendRevenue
- per $ vs Spend by CampaignDashboard
- pluginFree-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.DHO
- simpleProduct
- & CategoryFree-form
- translations are marked by the 'id' attribute, which is a hash combining
- the JSON path and the source text's value. Since this hash is hard to read,
- the source text includes extra details about its general location.Top
- 10 ProductsRevenue
- TrendCustomers
- TrendProduct
- Categories Pie ChartProduct
- BreakdownProduct
- Saleability%
- Revenue per Product by Customer and CategoryCampaign
- channel idCampaign
- channel idCampaign
- channelsCategoryCategoryCampaign
- channelsCampaign idCampaign idCampaignsCampaign
- nameCampaign
- nameCampaignsCustomer
- idCustomer
- idCustomersCustomer
- nameCustomer
- nameCustomersDate
- - DateDateDateDate
- - Month/YearMonth
- and Year (12/2020)DateDate
- - Quarter/YearQuarter
- and Year (Q1/2020)DateDate
- - Week/YearWeek
- and Year (W52/2020)DateDate
- - YearYearDateOrder
- idOrder
- idOrder
- linesOrder line idOrder line idOrder linesOrder
- statusOrder
- statusOrder
- linesProduct idProduct idProductsProduct
- nameProduct
- nameProductsCategoryCategoryProductsRegionRegionCustomersStateStateCustomersTypeTypeCampaign channelsCampaign
- channelsCampaign
- channelsCampaign
- channelsCampaign
- channels per categoryCampaign
- channels per categoriesCampaign
- channels per categoryCampaignsCampaignsCampaignsCustomersCustomersCustomersDateDateOrder
- linesOrder
- linesOrder
- linesProductsProductsProductsBudgetBudgetCampaign channelsPricePriceOrder linesQuantityQuantityOrder linesSpendSpendCampaign channelsBudget AggCampaign channels per
- categoryCampaign
- channel idCampaign
- channel idCampaign
- channelsCategoryCategoryCampaign channelsCampaign
- idCampaign
- idCampaignsCampaign
- nameCampaign
- nameCampaignsCustomer
- idCustomer
- idCustomersCustomer
- nameCustomer
- nameCustomersDate
- - DateDateDateDate
- - Month/YearMonth
- and Year (12/2020)DateDate
- - Quarter/YearQuarter
- and Year (Q1/2020)DateDate
- - Week/YearWeek
- and Year (W52/2020)DateDate
- - YearYearDateLocationLocationCustomersOrder
- idOrder
- idOrder
- linesOrder line idOrder line idOrder linesOrder
- statusOrder
- statusOrder
- linesProduct idProduct idProductsProduct
- nameProduct
- nameProductsCategoryCategoryProductsRegionRegionCustomersStateStateCustomersTypeTypeCampaign channels#
- of Active Customers# of Orders#
- of Top Customers# of Valid OrdersCampaign
- SpendOrder Amount%
- Revenue%
- Revenue from Top 10 Customers%
- Revenue from Top 10% Customers%
- Revenue from Top 10% Products%
- Revenue from Top 10 Products% Revenue
- in Category% Revenue
- per ProductRevenueRevenue
- (Clothing)Revenue (Electronic)Revenue
- (Home)Revenue (Outdoor)Revenue
- per CustomerRevenue per
- Dollar SpentRevenue / Top 10Revenue
- / Top 10%Total RevenueTotal
- Revenue (No Filters)Campaign
- SpendFree-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.Campaign
- SpendCustomers
- TrendFree-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.#
- of Active CustomersRevenue
- per CustomerActive
- Customers%
- Revenue per Product by Customer and CategoryFree-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.%
- Revenue per ProductRevenuePercentage
- of Customers by RegionFree-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.#
- of Active CustomersProduct
- BreakdownFree-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.RevenueProduct
- Categories Pie ChartFree-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.%
- RevenueProduct
- Revenue Comparison (over previous period)Free-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.RevenuePrevious
- PeriodThis
- PeriodProduct
- SaleabilityFree-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.#
- of OrdersRevenueNumber
- of OrdersRevenue
- and Quantity by Product and CategoryFree-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.Sum
- of QuantityAvg
- Price%
- Revenue in CategoryRevenueItems
- SoldTotal
- RevenueRevenue
- by Category TrendFree-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.RevenueRevenue
- by ProductFree-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.RevenueRevenue
- per $ vs Spend by CampaignFree-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.Campaign
- SpendRevenue
- per Dollar SpentRevenue TrendFree-form
- translations are marked by the 'id' attribute, which is a hash combining
- the JSON path and the source text's value. Since this hash is hard to read,
- the source text includes extra details about its general location.Revenue#
- of OrdersNumber
- of OrdersTop 10
- CustomersFree-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.Revenue
- / Top 10Top 10 ProductsFree-form
- translations are marked by the 'id' attribute, which is a hash combining
- the JSON path and the source text's value. Since this hash is hard to read,
- the source text includes extra details about its general location.Revenue
- / Top 10filterContextfilterContext
- - request:
- method: POST
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/actions/workspaces/demo/translations/set
- body: '
-
- CampaignCampaign.Free-form
- translations are marked by the ''id'' attribute, which is a hash combining
- the JSON path and the source text''s value. Since this hash is hard to read,
- the source text includes extra details about its general location.Spend
- breakdown and RevenueSpend breakdown and Revenue.The first insight shows a breakdown of spend by category and campaign. The
- second shows revenue per $ spend, for each campaign, to demonstrate, how campaigns
- are successful.The first insight shows a breakdown of spend
- by category and campaign. The second shows revenue per $ spend, for each campaign,
- to demonstrate, how campaigns are successful..Campaign SpendCampaign Spend.Revenue per $ vs Spend by CampaignRevenue per $ vs Spend
- by Campaign.Dashboard
- pluginDashboard plugin.Free-form translations are marked by the ''id'' attribute,
- which is a hash combining the JSON path and the source text''s value. Since
- this hash is hard to read, the source text includes extra details about its
- general location.DHO simpleDHO simple.Product
- & CategoryProduct & Category.Free-form translations are marked by the ''id'' attribute,
- which is a hash combining the JSON path and the source text''s value. Since
- this hash is hard to read, the source text includes extra details about its
- general location.Top 10 ProductsTop 10 Products.Revenue TrendRevenue Trend.Customers TrendCustomers Trend.Product Categories Pie ChartProduct Categories Pie Chart.Product BreakdownProduct Breakdown.Product SaleabilityProduct Saleability.% Revenue per Product by Customer and Category% Revenue
- per Product by Customer and Category.Campaign channel
- idCampaign channel id.Campaign
- channel idCampaign channel id.Campaign channelsCampaign
- channels.CategoryCategory.CategoryCategory.Campaign channelsCampaign
- channels.Campaign idCampaign
- id.Campaign
- idCampaign id.CampaignsCampaigns.Campaign
- nameCampaign name.Campaign
- nameCampaign name.CampaignsCampaigns.Customer
- idCustomer id.Customer
- idCustomer id.CustomersCustomers.Customer
- nameCustomer name.Customer
- nameCustomer name.CustomersCustomers.Date
- - DateDate - Date.DateDate.DateDate.Date
- - Month/YearDate - Month/Year.Month and Year (12/2020)Month
- and Year (12/2020).DateDate.Date
- - Quarter/YearDate - Quarter/Year.Quarter and Year
- (Q1/2020)Quarter and Year (Q1/2020).DateDate.Date
- - Week/YearDate - Week/Year.Week and Year (W52/2020)Week
- and Year (W52/2020).DateDate.Date
- - YearDate - Year.YearYear.DateDate.Order
- idOrder id.Order
- idOrder id.Order
- linesOrder lines.Order
- line idOrder line id.Order
- line idOrder line id.Order
- linesOrder lines.Order
- statusOrder status.Order
- statusOrder status.Order
- linesOrder lines.Product
- idProduct id.Product
- idProduct id.ProductsProducts.Product
- nameProduct name.Product
- nameProduct name.ProductsProducts.CategoryCategory.CategoryCategory.ProductsProducts.RegionRegion.RegionRegion.CustomersCustomers.StateState.StateState.CustomersCustomers.TypeType.TypeType.Campaign channelsCampaign
- channels.Campaign
- channelsCampaign channels.Campaign channelsCampaign
- channels.Campaign
- channelsCampaign channels.Campaign
- channels per categoryCampaign channels per category.Campaign
- channels per categoriesCampaign channels per categories.Campaign
- channels per categoryCampaign channels per category.CampaignsCampaigns.CampaignsCampaigns.CampaignsCampaigns.CustomersCustomers.CustomersCustomers.CustomersCustomers.DateDate.DateDate.Order
- linesOrder lines.Order
- linesOrder lines.Order
- linesOrder lines.ProductsProducts.ProductsProducts.ProductsProducts.BudgetBudget.BudgetBudget.Campaign channelsCampaign
- channels.PricePrice.PricePrice.Order linesOrder lines.QuantityQuantity.QuantityQuantity.Order linesOrder
- lines.SpendSpend.SpendSpend.Campaign channelsCampaign
- channels.Budget
- AggBudget Agg.Campaign
- channels per categoryCampaign channels per category.Campaign
- channel idCampaign channel id.Campaign channel
- idCampaign channel id.Campaign
- channelsCampaign channels.CategoryCategory.CategoryCategory.Campaign channelsCampaign
- channels.Campaign idCampaign
- id.Campaign
- idCampaign id.CampaignsCampaigns.Campaign
- nameCampaign name.Campaign
- nameCampaign name.CampaignsCampaigns.Customer
- idCustomer id.Customer
- idCustomer id.CustomersCustomers.Customer
- nameCustomer name.Customer
- nameCustomer name.CustomersCustomers.Date
- - DateDate - Date.DateDate.DateDate.Date
- - Month/YearDate - Month/Year.Month and Year (12/2020)Month
- and Year (12/2020).DateDate.Date
- - Quarter/YearDate - Quarter/Year.Quarter and Year (Q1/2020)Quarter
- and Year (Q1/2020).DateDate.Date
- - Week/YearDate - Week/Year.Week and Year (W52/2020)Week
- and Year (W52/2020).DateDate.Date
- - YearDate - Year.YearYear.DateDate.LocationLocation.LocationLocation.CustomersCustomers.Order
- idOrder id.Order
- idOrder id.Order
- linesOrder lines.Order
- line idOrder line id.Order
- line idOrder line id.Order
- linesOrder lines.Order
- statusOrder status.Order
- statusOrder status.Order
- linesOrder lines.Product
- idProduct id.Product
- idProduct id.ProductsProducts.Product
- nameProduct name.Product
- nameProduct name.ProductsProducts.CategoryCategory.CategoryCategory.ProductsProducts.RegionRegion.RegionRegion.CustomersCustomers.StateState.StateState.CustomersCustomers.TypeType.TypeType.Campaign channelsCampaign
- channels.#
- of Active Customers# of Active Customers.#
- of Orders# of Orders.#
- of Top Customers# of Top Customers.#
- of Valid Orders# of Valid Orders.Campaign
- SpendCampaign Spend.Order
- AmountOrder Amount.%
- Revenue% Revenue.%
- Revenue from Top 10 Customers% Revenue from Top 10 Customers.%
- Revenue from Top 10% Customers% Revenue from Top 10% Customers.%
- Revenue from Top 10% Products% Revenue from Top 10% Products.%
- Revenue from Top 10 Products% Revenue from Top 10 Products.%
- Revenue in Category% Revenue in Category.%
- Revenue per Product% Revenue per Product.RevenueRevenue.Revenue
- (Clothing)Revenue (Clothing).Revenue
- (Electronic)Revenue (Electronic).Revenue
- (Home)Revenue (Home).Revenue
- (Outdoor)Revenue (Outdoor).Revenue
- per CustomerRevenue per Customer.Revenue
- per Dollar SpentRevenue per Dollar Spent.Revenue
- / Top 10Revenue / Top 10.Revenue
- / Top 10%Revenue / Top 10%.Total
- RevenueTotal Revenue.Total
- Revenue (No Filters)Total Revenue (No Filters).Campaign SpendCampaign
- Spend.Free-form translations are marked by the ''id'' attribute,
- which is a hash combining the JSON path and the source text''s value. Since
- this hash is hard to read, the source text includes extra details about its
- general location.Campaign
- SpendCampaign Spend.Customers
- TrendCustomers Trend.Free-form translations are marked by the ''id'' attribute,
- which is a hash combining the JSON path and the source text''s value. Since
- this hash is hard to read, the source text includes extra details about its
- general location.#
- of Active Customers# of Active Customers.Revenue
- per CustomerRevenue per Customer.Active
- CustomersActive Customers.%
- Revenue per Product by Customer and Category% Revenue per
- Product by Customer and Category.Free-form translations are marked by the ''id'' attribute,
- which is a hash combining the JSON path and the source text''s value. Since
- this hash is hard to read, the source text includes extra details about its
- general location.%
- Revenue per Product% Revenue per Product.RevenueRevenue.Percentage
- of Customers by RegionPercentage of Customers by Region.Free-form translations are marked by the ''id'' attribute,
- which is a hash combining the JSON path and the source text''s value. Since
- this hash is hard to read, the source text includes extra details about its
- general location.#
- of Active Customers# of Active Customers.Product
- BreakdownProduct Breakdown.Free-form
- translations are marked by the ''id'' attribute, which is a hash combining
- the JSON path and the source text''s value. Since this hash is hard to read,
- the source text includes extra details about its general location.RevenueRevenue.Product
- Categories Pie ChartProduct Categories Pie Chart.Free-form translations are marked by the ''id'' attribute,
- which is a hash combining the JSON path and the source text''s value. Since
- this hash is hard to read, the source text includes extra details about its
- general location.%
- Revenue% Revenue.Product
- Revenue Comparison (over previous period)Product Revenue
- Comparison (over previous period).Free-form translations are marked by the ''id'' attribute,
- which is a hash combining the JSON path and the source text''s value. Since
- this hash is hard to read, the source text includes extra details about its
- general location.RevenueRevenue.Previous
- PeriodPrevious Period.This
- PeriodThis Period.Product
- SaleabilityProduct Saleability.Free-form
- translations are marked by the ''id'' attribute, which is a hash combining
- the JSON path and the source text''s value. Since this hash is hard to read,
- the source text includes extra details about its general location.#
- of Orders# of Orders.RevenueRevenue.Number
- of OrdersNumber of Orders.Revenue
- and Quantity by Product and CategoryRevenue and Quantity
- by Product and Category.Free-form translations are marked by the ''id'' attribute,
- which is a hash combining the JSON path and the source text''s value. Since
- this hash is hard to read, the source text includes extra details about its
- general location.Sum
- of QuantitySum of Quantity.Avg
- PriceAvg Price.%
- Revenue in Category% Revenue in Category.RevenueRevenue.Items
- SoldItems Sold.Total
- RevenueTotal Revenue.Revenue
- by Category TrendRevenue by Category Trend.Free-form translations are marked by the ''id'' attribute,
- which is a hash combining the JSON path and the source text''s value. Since
- this hash is hard to read, the source text includes extra details about its
- general location.RevenueRevenue.Revenue
- by ProductRevenue by Product.Free-form
- translations are marked by the ''id'' attribute, which is a hash combining
- the JSON path and the source text''s value. Since this hash is hard to read,
- the source text includes extra details about its general location.RevenueRevenue.Revenue
- per $ vs Spend by CampaignRevenue per $ vs Spend by Campaign.Free-form translations are marked by the ''id'' attribute,
- which is a hash combining the JSON path and the source text''s value. Since
- this hash is hard to read, the source text includes extra details about its
- general location.Campaign
- SpendCampaign Spend.Revenue
- per Dollar SpentRevenue per Dollar Spent.Revenue
- TrendRevenue Trend.Free-form translations are marked by the ''id'' attribute,
- which is a hash combining the JSON path and the source text''s value. Since
- this hash is hard to read, the source text includes extra details about its
- general location.RevenueRevenue.#
- of Orders# of Orders.Number
- of OrdersNumber of Orders.Top
- 10 CustomersTop 10 Customers.Free-form
- translations are marked by the ''id'' attribute, which is a hash combining
- the JSON path and the source text''s value. Since this hash is hard to read,
- the source text includes extra details about its general location.Revenue
- / Top 10Revenue / Top 10.Top
- 10 ProductsTop 10 Products.Free-form
- translations are marked by the ''id'' attribute, which is a hash combining
- the JSON path and the source text''s value. Since this hash is hard to read,
- the source text includes extra details about its general location.Revenue
- / Top 10Revenue / Top 10.filterContextfilterContext.filterContextfilterContext.'
- headers:
- Accept:
- - '*/*'
- Accept-Encoding:
- - gzip, deflate, br
- Connection:
- - keep-alive
- Content-Length:
- - '48782'
- Content-Type:
- - application/xml
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: POST
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/actions/workspaces/demo/translations/retrieve
- body:
- locale: fr-FR
- headers:
- Accept:
- - application/xml
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/xml
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: CampaignCampaign.Free-form
- translations are marked by the 'id' attribute, which is a hash combining
- the JSON path and the source text's value. Since this hash is hard to read,
- the source text includes extra details about its general location.Spend
- breakdown and RevenueSpend breakdown and Revenue.The
- first insight shows a breakdown of spend by category and campaign. The second
- shows revenue per $ spend, for each campaign, to demonstrate, how campaigns
- are successful.The first insight shows a breakdown of spend
- by category and campaign. The second shows revenue per $ spend, for each
- campaign, to demonstrate, how campaigns are successful..Campaign
- SpendCampaign Spend.Revenue
- per $ vs Spend by CampaignRevenue per $ vs Spend by Campaign.Dashboard
- pluginDashboard plugin.Free-form
- translations are marked by the 'id' attribute, which is a hash combining
- the JSON path and the source text's value. Since this hash is hard to read,
- the source text includes extra details about its general location.DHO
- simpleDHO simple.Product
- & CategoryProduct & Category.Free-form
- translations are marked by the 'id' attribute, which is a hash combining
- the JSON path and the source text's value. Since this hash is hard to read,
- the source text includes extra details about its general location.Top
- 10 ProductsTop 10 Products.Revenue
- TrendRevenue Trend.Customers
- TrendCustomers Trend.Product
- Categories Pie ChartProduct Categories Pie Chart.Product
- BreakdownProduct Breakdown.Product
- SaleabilityProduct Saleability.%
- Revenue per Product by Customer and Category% Revenue per
- Product by Customer and Category.Campaign
- channel idCampaign channel id.Campaign
- channel idCampaign channel id.Campaign channelsCampaign
- channels.CategoryCategory.CategoryCategory.Campaign
- channelsCampaign channels.Campaign
- idCampaign id.Campaign
- idCampaign id.CampaignsCampaigns.Campaign
- nameCampaign name.Campaign
- nameCampaign name.CampaignsCampaigns.Customer
- idCustomer id.Customer
- idCustomer id.CustomersCustomers.Customer
- nameCustomer name.Customer
- nameCustomer name.CustomersCustomers.Date
- - DateDate - Date.DateDate.DateDate.Date
- - Month/YearDate - Month/Year.Month and Year (12/2020)Month
- and Year (12/2020).DateDate.Date
- - Quarter/YearDate - Quarter/Year.Quarter and Year
- (Q1/2020)Quarter and Year (Q1/2020).DateDate.Date
- - Week/YearDate - Week/Year.Week and Year (W52/2020)Week
- and Year (W52/2020).DateDate.Date
- - YearDate - Year.YearYear.DateDate.Order
- idOrder id.Order
- idOrder id.Order
- linesOrder lines.Order
- line idOrder line id.Order
- line idOrder line id.Order
- linesOrder lines.Order
- statusOrder status.Order
- statusOrder status.Order
- linesOrder lines.Product
- idProduct id.Product
- idProduct id.ProductsProducts.Product
- nameProduct name.Product
- nameProduct name.ProductsProducts.CategoryCategory.CategoryCategory.ProductsProducts.RegionRegion.RegionRegion.CustomersCustomers.StateState.StateState.CustomersCustomers.TypeType.TypeType.Campaign channelsCampaign
- channels.Campaign
- channelsCampaign channels.Campaign channelsCampaign
- channels.Campaign
- channelsCampaign channels.Campaign
- channels per categoryCampaign channels per category.Campaign
- channels per categoriesCampaign channels per categories.Campaign
- channels per categoryCampaign channels per category.CampaignsCampaigns.CampaignsCampaigns.CampaignsCampaigns.CustomersCustomers.CustomersCustomers.CustomersCustomers.DateDate.DateDate.Order
- linesOrder lines.Order
- linesOrder lines.Order
- linesOrder lines.ProductsProducts.ProductsProducts.ProductsProducts.BudgetBudget.BudgetBudget.Campaign channelsCampaign
- channels.PricePrice.PricePrice.Order linesOrder
- lines.QuantityQuantity.QuantityQuantity.Order linesOrder
- lines.SpendSpend.SpendSpend.Campaign channelsCampaign
- channels.Budget AggBudget
- Agg.Campaign
- channels per categoryCampaign channels per category.Campaign
- channel idCampaign channel id.Campaign channel
- idCampaign channel id.Campaign
- channelsCampaign channels.CategoryCategory.CategoryCategory.Campaign channelsCampaign
- channels.Campaign idCampaign
- id.Campaign
- idCampaign id.CampaignsCampaigns.Campaign
- nameCampaign name.Campaign
- nameCampaign name.CampaignsCampaigns.Customer
- idCustomer id.Customer
- idCustomer id.CustomersCustomers.Customer
- nameCustomer name.Customer
- nameCustomer name.CustomersCustomers.Date
- - DateDate - Date.DateDate.DateDate.Date
- - Month/YearDate - Month/Year.Month and Year (12/2020)Month
- and Year (12/2020).DateDate.Date
- - Quarter/YearDate - Quarter/Year.Quarter and Year (Q1/2020)Quarter
- and Year (Q1/2020).DateDate.Date
- - Week/YearDate - Week/Year.Week and Year (W52/2020)Week
- and Year (W52/2020).DateDate.Date
- - YearDate - Year.YearYear.DateDate.LocationLocation.LocationLocation.CustomersCustomers.Order
- idOrder id.Order
- idOrder id.Order
- linesOrder lines.Order
- line idOrder line id.Order
- line idOrder line id.Order
- linesOrder lines.Order
- statusOrder status.Order
- statusOrder status.Order
- linesOrder lines.Product
- idProduct id.Product
- idProduct id.ProductsProducts.Product
- nameProduct name.Product
- nameProduct name.ProductsProducts.CategoryCategory.CategoryCategory.ProductsProducts.RegionRegion.RegionRegion.CustomersCustomers.StateState.StateState.CustomersCustomers.TypeType.TypeType.Campaign channelsCampaign
- channels.#
- of Active Customers# of Active Customers.#
- of Orders# of Orders.#
- of Top Customers# of Top Customers.#
- of Valid Orders# of Valid Orders.Campaign
- SpendCampaign Spend.Order
- AmountOrder Amount.%
- Revenue% Revenue.%
- Revenue from Top 10 Customers% Revenue from Top 10 Customers.%
- Revenue from Top 10% Customers% Revenue from Top 10% Customers.%
- Revenue from Top 10% Products% Revenue from Top 10% Products.%
- Revenue from Top 10 Products% Revenue from Top 10 Products.%
- Revenue in Category% Revenue in Category.%
- Revenue per Product% Revenue per Product.RevenueRevenue.Revenue
- (Clothing)Revenue (Clothing).Revenue
- (Electronic)Revenue (Electronic).Revenue
- (Home)Revenue (Home).Revenue
- (Outdoor)Revenue (Outdoor).Revenue
- per CustomerRevenue per Customer.Revenue
- per Dollar SpentRevenue per Dollar Spent.Revenue
- / Top 10Revenue / Top 10.Revenue
- / Top 10%Revenue / Top 10%.Total
- RevenueTotal Revenue.Total
- Revenue (No Filters)Total Revenue (No Filters).Campaign
- SpendCampaign Spend.Free-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.Campaign
- SpendCampaign Spend.Customers
- TrendCustomers Trend.Free-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.#
- of Active Customers# of Active Customers.Revenue
- per CustomerRevenue per Customer.Active
- CustomersActive Customers.%
- Revenue per Product by Customer and Category% Revenue per
- Product by Customer and Category.Free-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.%
- Revenue per Product% Revenue per Product.RevenueRevenue.Percentage
- of Customers by RegionPercentage of Customers by Region.Free-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.#
- of Active Customers# of Active Customers.Product
- BreakdownProduct Breakdown.Free-form
- translations are marked by the 'id' attribute, which is a hash combining
- the JSON path and the source text's value. Since this hash is hard to read,
- the source text includes extra details about its general location.RevenueRevenue.Product
- Categories Pie ChartProduct Categories Pie Chart.Free-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.%
- Revenue% Revenue.Product
- Revenue Comparison (over previous period)Product Revenue
- Comparison (over previous period).Free-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.RevenueRevenue.Previous
- PeriodPrevious Period.This
- PeriodThis Period.Product
- SaleabilityProduct Saleability.Free-form
- translations are marked by the 'id' attribute, which is a hash combining
- the JSON path and the source text's value. Since this hash is hard to read,
- the source text includes extra details about its general location.#
- of Orders# of Orders.RevenueRevenue.Number
- of OrdersNumber of Orders.Revenue
- and Quantity by Product and CategoryRevenue and Quantity
- by Product and Category.Free-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.Sum
- of QuantitySum of Quantity.Avg
- PriceAvg Price.%
- Revenue in Category% Revenue in Category.RevenueRevenue.Items
- SoldItems Sold.Total
- RevenueTotal Revenue.Revenue
- by Category TrendRevenue by Category Trend.Free-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.RevenueRevenue.Revenue
- by ProductRevenue by Product.Free-form
- translations are marked by the 'id' attribute, which is a hash combining
- the JSON path and the source text's value. Since this hash is hard to read,
- the source text includes extra details about its general location.RevenueRevenue.Revenue
- per $ vs Spend by CampaignRevenue per $ vs Spend by Campaign.Free-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.Campaign
- SpendCampaign Spend.Revenue
- per Dollar SpentRevenue per Dollar Spent.Revenue
- TrendRevenue Trend.Free-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.RevenueRevenue.#
- of Orders# of Orders.Number
- of OrdersNumber of Orders.Top
- 10 CustomersTop 10 Customers.Free-form
- translations are marked by the 'id' attribute, which is a hash combining
- the JSON path and the source text's value. Since this hash is hard to read,
- the source text includes extra details about its general location.Revenue
- / Top 10Revenue / Top 10.Top
- 10 ProductsTop 10 Products.Free-form
- translations are marked by the 'id' attribute, which is a hash combining
- the JSON path and the source text's value. Since this hash is hard to read,
- the source text includes extra details about its general location.Revenue
- / Top 10Revenue / Top 10.filterContextfilterContext.filterContextfilterContext.
- - request:
- method: POST
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/actions/workspaces/demo/translations/clean
- body:
- locale: fr-FR
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/clean_metadata_locale.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/clean_metadata_locale.yaml
deleted file mode 100644
index 98d6c66e0..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/clean_metadata_locale.yaml
+++ /dev/null
@@ -1,2495 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: POST
- uri: http://localhost:3000/api/v1/actions/workspaces/demo/translations/clean
- body:
- locale: fr-FR
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-Xss-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: POST
- uri: http://localhost:3000/api/v1/actions/workspaces/demo/translations/retrieve
- body:
- locale: fr-FR
- headers:
- Accept:
- - application/xml
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Content-Length:
- - '40991'
- Content-Type:
- - application/xml
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-Xss-Protection:
- - '0'
- body:
- string: CampaignFree-form
- translations are marked by the 'id' attribute, which is a hash combining
- the JSON path and the source text's value. Since this hash is hard to read,
- the source text includes extra details about its general location.Spend
- breakdown and RevenueThe
- first insight shows a breakdown of spend by category and campaign. The second
- shows revenue per $ spend, for each campaign, to demonstrate, how campaigns
- are successful.Campaign
- SpendRevenue
- per $ vs Spend by CampaignDashboard
- pluginFree-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.DHO
- simpleProduct
- & CategoryFree-form
- translations are marked by the 'id' attribute, which is a hash combining
- the JSON path and the source text's value. Since this hash is hard to read,
- the source text includes extra details about its general location.Top
- 10 ProductsRevenue
- TrendCustomers
- TrendProduct
- Categories Pie ChartProduct
- BreakdownProduct
- Saleability%
- Revenue per Product by Customer and CategoryCampaign
- channel idCampaign
- channel idCampaign
- channelsCategoryCategoryCampaign
- channelsTypeTypeCampaign channelsCampaign
- idCampaign
- idCampaignsCampaign
- nameCampaign
- nameCampaignsCustomer
- idCustomer
- idCustomersCustomer
- nameCustomer
- nameCustomersRegionRegionCustomersOrder
- idOrder
- idOrder
- linesOrder line idOrder line idOrder linesOrder
- statusOrder
- statusOrder
- linesProduct idProduct idProductsProduct
- nameProduct
- nameProductsCategoryCategoryProductsDate
- - DateDateDateDate
- - Week/YearWeek
- and Year (W52/2020)DateDate
- - Month/YearMonth
- and Year (12/2020)DateDate
- - Quarter/YearQuarter
- and Year (Q1/2020)DateDate
- - YearYearDateStateStateCustomersCampaign
- channelsCampaign
- channelsCampaign
- channelsCampaign
- channels per categoryCampaign
- channels per categoriesCampaign
- channels per categoryCampaignsCampaignsCampaignsCustomersCustomersCustomersDateDateOrder
- linesOrder
- linesOrder
- linesProductsProductsProductsBudgetBudgetCampaign channelsPricePriceOrder linesQuantityQuantityOrder linesSpendSpendCampaign channelsBudget AggCampaign channels per
- categoryCampaign
- channel idCampaign
- channel idCampaign
- channelsCategoryCategoryCampaign channelsTypeTypeCampaign channelsCampaign
- idCampaign
- idCampaignsCampaign
- nameCampaign
- nameCampaignsCustomer
- idCustomer
- idCustomersCustomer
- nameCustomer
- nameCustomersRegionRegionCustomersStateStateCustomersLocationLocationCustomersOrder
- idOrder
- idOrder
- linesOrder line idOrder line idOrder linesOrder
- statusOrder
- statusOrder
- linesProduct idProduct idProductsProduct
- nameProduct
- nameProductsCategoryCategoryProductsDate
- - DateDateDateDate
- - Week/YearWeek
- and Year (W52/2020)DateDate
- - Month/YearMonth
- and Year (12/2020)DateDate
- - Quarter/YearQuarter
- and Year (Q1/2020)DateDate
- - YearYearDate#
- of Active Customers# of Orders#
- of Top Customers# of Valid OrdersCampaign
- SpendOrder Amount%
- Revenue%
- Revenue from Top 10 Customers%
- Revenue from Top 10% Customers%
- Revenue from Top 10% Products%
- Revenue from Top 10 Products% Revenue
- in Category% Revenue
- per ProductRevenueRevenue
- (Clothing)Revenue (Electronic)Revenue
- (Home)Revenue (Outdoor)Revenue
- per CustomerRevenue per
- Dollar SpentRevenue / Top 10Revenue
- / Top 10%Total RevenueTotal
- Revenue (No Filters)Campaign
- SpendFree-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.Campaign
- SpendCustomers
- TrendFree-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.#
- of Active CustomersRevenue
- per CustomerActive
- Customers%
- Revenue per Product by Customer and CategoryFree-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.%
- Revenue per ProductRevenuePercentage
- of Customers by RegionFree-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.#
- of Active CustomersProduct
- BreakdownFree-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.RevenueProduct
- Categories Pie ChartFree-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.%
- RevenueProduct
- Revenue Comparison (over previous period)Free-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.RevenuePrevious
- PeriodThis
- PeriodProduct
- SaleabilityFree-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.#
- of OrdersRevenueNumber
- of OrdersRevenue
- and Quantity by Product and CategoryFree-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.Sum
- of QuantityAvg
- Price%
- Revenue in CategoryRevenueItems
- SoldTotal
- RevenueRevenue
- by Category TrendFree-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.RevenueRevenue
- by ProductFree-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.RevenueRevenue
- per $ vs Spend by CampaignFree-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.Campaign
- SpendRevenue
- per Dollar SpentRevenue TrendFree-form
- translations are marked by the 'id' attribute, which is a hash combining
- the JSON path and the source text's value. Since this hash is hard to read,
- the source text includes extra details about its general location.Revenue#
- of OrdersNumber
- of OrdersTop 10
- CustomersFree-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.Revenue
- / Top 10Top 10 ProductsFree-form
- translations are marked by the 'id' attribute, which is a hash combining
- the JSON path and the source text's value. Since this hash is hard to read,
- the source text includes extra details about its general location.Revenue
- / Top 10filterContextfilterContext
- - request:
- method: POST
- uri: http://localhost:3000/api/v1/actions/workspaces/demo/translations/retrieve
- body:
- locale: fr-FR
- headers:
- Accept:
- - application/xml
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Content-Length:
- - '40991'
- Content-Type:
- - application/xml
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-Xss-Protection:
- - '0'
- body:
- string: CampaignFree-form
- translations are marked by the 'id' attribute, which is a hash combining
- the JSON path and the source text's value. Since this hash is hard to read,
- the source text includes extra details about its general location.Spend
- breakdown and RevenueThe
- first insight shows a breakdown of spend by category and campaign. The second
- shows revenue per $ spend, for each campaign, to demonstrate, how campaigns
- are successful.Campaign
- SpendRevenue
- per $ vs Spend by CampaignDashboard
- pluginFree-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.DHO
- simpleProduct
- & CategoryFree-form
- translations are marked by the 'id' attribute, which is a hash combining
- the JSON path and the source text's value. Since this hash is hard to read,
- the source text includes extra details about its general location.Top
- 10 ProductsRevenue
- TrendCustomers
- TrendProduct
- Categories Pie ChartProduct
- BreakdownProduct
- Saleability%
- Revenue per Product by Customer and CategoryCampaign
- channel idCampaign
- channel idCampaign
- channelsCategoryCategoryCampaign
- channelsTypeTypeCampaign channelsCampaign
- idCampaign
- idCampaignsCampaign
- nameCampaign
- nameCampaignsCustomer
- idCustomer
- idCustomersCustomer
- nameCustomer
- nameCustomersRegionRegionCustomersOrder
- idOrder
- idOrder
- linesOrder line idOrder line idOrder linesOrder
- statusOrder
- statusOrder
- linesProduct idProduct idProductsProduct
- nameProduct
- nameProductsCategoryCategoryProductsDate
- - DateDateDateDate
- - Week/YearWeek
- and Year (W52/2020)DateDate
- - Month/YearMonth
- and Year (12/2020)DateDate
- - Quarter/YearQuarter
- and Year (Q1/2020)DateDate
- - YearYearDateStateStateCustomersCampaign
- channelsCampaign
- channelsCampaign
- channelsCampaign
- channels per categoryCampaign
- channels per categoriesCampaign
- channels per categoryCampaignsCampaignsCampaignsCustomersCustomersCustomersDateDateOrder
- linesOrder
- linesOrder
- linesProductsProductsProductsBudgetBudgetCampaign channelsPricePriceOrder linesQuantityQuantityOrder linesSpendSpendCampaign channelsBudget AggCampaign channels per
- categoryCampaign
- channel idCampaign
- channel idCampaign
- channelsCategoryCategoryCampaign channelsTypeTypeCampaign channelsCampaign
- idCampaign
- idCampaignsCampaign
- nameCampaign
- nameCampaignsCustomer
- idCustomer
- idCustomersCustomer
- nameCustomer
- nameCustomersRegionRegionCustomersStateStateCustomersLocationLocationCustomersOrder
- idOrder
- idOrder
- linesOrder line idOrder line idOrder linesOrder
- statusOrder
- statusOrder
- linesProduct idProduct idProductsProduct
- nameProduct
- nameProductsCategoryCategoryProductsDate
- - DateDateDateDate
- - Week/YearWeek
- and Year (W52/2020)DateDate
- - Month/YearMonth
- and Year (12/2020)DateDate
- - Quarter/YearQuarter
- and Year (Q1/2020)DateDate
- - YearYearDate#
- of Active Customers# of Orders#
- of Top Customers# of Valid OrdersCampaign
- SpendOrder Amount%
- Revenue%
- Revenue from Top 10 Customers%
- Revenue from Top 10% Customers%
- Revenue from Top 10% Products%
- Revenue from Top 10 Products% Revenue
- in Category% Revenue
- per ProductRevenueRevenue
- (Clothing)Revenue (Electronic)Revenue
- (Home)Revenue (Outdoor)Revenue
- per CustomerRevenue per
- Dollar SpentRevenue / Top 10Revenue
- / Top 10%Total RevenueTotal
- Revenue (No Filters)Campaign
- SpendFree-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.Campaign
- SpendCustomers
- TrendFree-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.#
- of Active CustomersRevenue
- per CustomerActive
- Customers%
- Revenue per Product by Customer and CategoryFree-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.%
- Revenue per ProductRevenuePercentage
- of Customers by RegionFree-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.#
- of Active CustomersProduct
- BreakdownFree-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.RevenueProduct
- Categories Pie ChartFree-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.%
- RevenueProduct
- Revenue Comparison (over previous period)Free-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.RevenuePrevious
- PeriodThis
- PeriodProduct
- SaleabilityFree-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.#
- of OrdersRevenueNumber
- of OrdersRevenue
- and Quantity by Product and CategoryFree-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.Sum
- of QuantityAvg
- Price%
- Revenue in CategoryRevenueItems
- SoldTotal
- RevenueRevenue
- by Category TrendFree-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.RevenueRevenue
- by ProductFree-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.RevenueRevenue
- per $ vs Spend by CampaignFree-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.Campaign
- SpendRevenue
- per Dollar SpentRevenue TrendFree-form
- translations are marked by the 'id' attribute, which is a hash combining
- the JSON path and the source text's value. Since this hash is hard to read,
- the source text includes extra details about its general location.Revenue#
- of OrdersNumber
- of OrdersTop 10
- CustomersFree-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.Revenue
- / Top 10Top 10 ProductsFree-form
- translations are marked by the 'id' attribute, which is a hash combining
- the JSON path and the source text's value. Since this hash is hard to read,
- the source text includes extra details about its general location.Revenue
- / Top 10filterContextfilterContext
- - request:
- method: POST
- uri: http://localhost:3000/api/v1/actions/workspaces/demo/translations/set
- body: '
-
- CampaignCampaign.Free-form
- translations are marked by the ''id'' attribute, which is a hash combining
- the JSON path and the source text''s value. Since this hash is hard to read,
- the source text includes extra details about its general location.Spend
- breakdown and RevenueSpend breakdown and Revenue.The first insight shows a breakdown of spend by category and campaign. The
- second shows revenue per $ spend, for each campaign, to demonstrate, how campaigns
- are successful.The first insight shows a breakdown of spend
- by category and campaign. The second shows revenue per $ spend, for each campaign,
- to demonstrate, how campaigns are successful..Campaign SpendCampaign Spend.Revenue per $ vs Spend by CampaignRevenue per $ vs Spend
- by Campaign.Dashboard
- pluginDashboard plugin.Free-form translations are marked by the ''id'' attribute,
- which is a hash combining the JSON path and the source text''s value. Since
- this hash is hard to read, the source text includes extra details about its
- general location.DHO simpleDHO simple.Product
- & CategoryProduct & Category.Free-form translations are marked by the ''id'' attribute,
- which is a hash combining the JSON path and the source text''s value. Since
- this hash is hard to read, the source text includes extra details about its
- general location.Top 10 ProductsTop 10 Products.Revenue TrendRevenue Trend.Customers TrendCustomers Trend.Product Categories Pie ChartProduct Categories Pie Chart.Product BreakdownProduct Breakdown.Product SaleabilityProduct Saleability.% Revenue per Product by Customer and Category% Revenue
- per Product by Customer and Category.Campaign channel
- idCampaign channel id.Campaign
- channel idCampaign channel id.Campaign channelsCampaign
- channels.CategoryCategory.CategoryCategory.Campaign channelsCampaign
- channels.TypeType.TypeType.Campaign channelsCampaign
- channels.Campaign idCampaign
- id.Campaign
- idCampaign id.CampaignsCampaigns.Campaign
- nameCampaign name.Campaign
- nameCampaign name.CampaignsCampaigns.Customer
- idCustomer id.Customer
- idCustomer id.CustomersCustomers.Customer
- nameCustomer name.Customer
- nameCustomer name.CustomersCustomers.RegionRegion.RegionRegion.CustomersCustomers.Order
- idOrder id.Order
- idOrder id.Order
- linesOrder lines.Order
- line idOrder line id.Order
- line idOrder line id.Order
- linesOrder lines.Order
- statusOrder status.Order
- statusOrder status.Order
- linesOrder lines.Product
- idProduct id.Product
- idProduct id.ProductsProducts.Product
- nameProduct name.Product
- nameProduct name.ProductsProducts.CategoryCategory.CategoryCategory.ProductsProducts.Date
- - DateDate - Date.DateDate.DateDate.Date
- - Week/YearDate - Week/Year.Week and Year (W52/2020)Week
- and Year (W52/2020).DateDate.Date
- - Month/YearDate - Month/Year.Month and Year (12/2020)Month
- and Year (12/2020).DateDate.Date
- - Quarter/YearDate - Quarter/Year.Quarter and Year
- (Q1/2020)Quarter and Year (Q1/2020).DateDate.Date
- - YearDate - Year.YearYear.DateDate.StateState.StateState.CustomersCustomers.Campaign
- channelsCampaign channels.Campaign channelsCampaign
- channels.Campaign
- channelsCampaign channels.Campaign
- channels per categoryCampaign channels per category.Campaign
- channels per categoriesCampaign channels per categories.Campaign
- channels per categoryCampaign channels per category.CampaignsCampaigns.CampaignsCampaigns.CampaignsCampaigns.CustomersCustomers.CustomersCustomers.CustomersCustomers.DateDate.DateDate.Order
- linesOrder lines.Order
- linesOrder lines.Order
- linesOrder lines.ProductsProducts.ProductsProducts.ProductsProducts.BudgetBudget.BudgetBudget.Campaign channelsCampaign
- channels.PricePrice.PricePrice.Order linesOrder lines.QuantityQuantity.QuantityQuantity.Order linesOrder
- lines.SpendSpend.SpendSpend.Campaign channelsCampaign
- channels.Budget
- AggBudget Agg.Campaign
- channels per categoryCampaign channels per category.Campaign
- channel idCampaign channel id.Campaign channel
- idCampaign channel id.Campaign
- channelsCampaign channels.CategoryCategory.CategoryCategory.Campaign channelsCampaign
- channels.TypeType.TypeType.Campaign channelsCampaign
- channels.Campaign idCampaign
- id.Campaign
- idCampaign id.CampaignsCampaigns.Campaign
- nameCampaign name.Campaign
- nameCampaign name.CampaignsCampaigns.Customer
- idCustomer id.Customer
- idCustomer id.CustomersCustomers.Customer
- nameCustomer name.Customer
- nameCustomer name.CustomersCustomers.RegionRegion.RegionRegion.CustomersCustomers.StateState.StateState.CustomersCustomers.LocationLocation.LocationLocation.CustomersCustomers.Order
- idOrder id.Order
- idOrder id.Order
- linesOrder lines.Order
- line idOrder line id.Order
- line idOrder line id.Order
- linesOrder lines.Order
- statusOrder status.Order
- statusOrder status.Order
- linesOrder lines.Product
- idProduct id.Product
- idProduct id.ProductsProducts.Product
- nameProduct name.Product
- nameProduct name.ProductsProducts.CategoryCategory.CategoryCategory.ProductsProducts.Date
- - DateDate - Date.DateDate.DateDate.Date
- - Week/YearDate - Week/Year.Week and Year (W52/2020)Week
- and Year (W52/2020).DateDate.Date
- - Month/YearDate - Month/Year.Month and Year (12/2020)Month
- and Year (12/2020).DateDate.Date
- - Quarter/YearDate - Quarter/Year.Quarter and Year (Q1/2020)Quarter
- and Year (Q1/2020).DateDate.Date
- - YearDate - Year.YearYear.DateDate.#
- of Active Customers# of Active Customers.#
- of Orders# of Orders.#
- of Top Customers# of Top Customers.#
- of Valid Orders# of Valid Orders.Campaign
- SpendCampaign Spend.Order
- AmountOrder Amount.%
- Revenue% Revenue.%
- Revenue from Top 10 Customers% Revenue from Top 10 Customers.%
- Revenue from Top 10% Customers% Revenue from Top 10% Customers.%
- Revenue from Top 10% Products% Revenue from Top 10% Products.%
- Revenue from Top 10 Products% Revenue from Top 10 Products.%
- Revenue in Category% Revenue in Category.%
- Revenue per Product% Revenue per Product.RevenueRevenue.Revenue
- (Clothing)Revenue (Clothing).Revenue
- (Electronic)Revenue (Electronic).Revenue
- (Home)Revenue (Home).Revenue
- (Outdoor)Revenue (Outdoor).Revenue
- per CustomerRevenue per Customer.Revenue
- per Dollar SpentRevenue per Dollar Spent.Revenue
- / Top 10Revenue / Top 10.Revenue
- / Top 10%Revenue / Top 10%.Total
- RevenueTotal Revenue.Total
- Revenue (No Filters)Total Revenue (No Filters).Campaign SpendCampaign
- Spend.Free-form translations are marked by the ''id'' attribute,
- which is a hash combining the JSON path and the source text''s value. Since
- this hash is hard to read, the source text includes extra details about its
- general location.Campaign
- SpendCampaign Spend.Customers
- TrendCustomers Trend.Free-form translations are marked by the ''id'' attribute,
- which is a hash combining the JSON path and the source text''s value. Since
- this hash is hard to read, the source text includes extra details about its
- general location.#
- of Active Customers# of Active Customers.Revenue
- per CustomerRevenue per Customer.Active
- CustomersActive Customers.%
- Revenue per Product by Customer and Category% Revenue per
- Product by Customer and Category.Free-form translations are marked by the ''id'' attribute,
- which is a hash combining the JSON path and the source text''s value. Since
- this hash is hard to read, the source text includes extra details about its
- general location.%
- Revenue per Product% Revenue per Product.RevenueRevenue.Percentage
- of Customers by RegionPercentage of Customers by Region.Free-form translations are marked by the ''id'' attribute,
- which is a hash combining the JSON path and the source text''s value. Since
- this hash is hard to read, the source text includes extra details about its
- general location.#
- of Active Customers# of Active Customers.Product
- BreakdownProduct Breakdown.Free-form
- translations are marked by the ''id'' attribute, which is a hash combining
- the JSON path and the source text''s value. Since this hash is hard to read,
- the source text includes extra details about its general location.RevenueRevenue.Product
- Categories Pie ChartProduct Categories Pie Chart.Free-form translations are marked by the ''id'' attribute,
- which is a hash combining the JSON path and the source text''s value. Since
- this hash is hard to read, the source text includes extra details about its
- general location.%
- Revenue% Revenue.Product
- Revenue Comparison (over previous period)Product Revenue
- Comparison (over previous period).Free-form translations are marked by the ''id'' attribute,
- which is a hash combining the JSON path and the source text''s value. Since
- this hash is hard to read, the source text includes extra details about its
- general location.RevenueRevenue.Previous
- PeriodPrevious Period.This
- PeriodThis Period.Product
- SaleabilityProduct Saleability.Free-form
- translations are marked by the ''id'' attribute, which is a hash combining
- the JSON path and the source text''s value. Since this hash is hard to read,
- the source text includes extra details about its general location.#
- of Orders# of Orders.RevenueRevenue.Number
- of OrdersNumber of Orders.Revenue
- and Quantity by Product and CategoryRevenue and Quantity
- by Product and Category.Free-form translations are marked by the ''id'' attribute,
- which is a hash combining the JSON path and the source text''s value. Since
- this hash is hard to read, the source text includes extra details about its
- general location.Sum
- of QuantitySum of Quantity.Avg
- PriceAvg Price.%
- Revenue in Category% Revenue in Category.RevenueRevenue.Items
- SoldItems Sold.Total
- RevenueTotal Revenue.Revenue
- by Category TrendRevenue by Category Trend.Free-form translations are marked by the ''id'' attribute,
- which is a hash combining the JSON path and the source text''s value. Since
- this hash is hard to read, the source text includes extra details about its
- general location.RevenueRevenue.Revenue
- by ProductRevenue by Product.Free-form
- translations are marked by the ''id'' attribute, which is a hash combining
- the JSON path and the source text''s value. Since this hash is hard to read,
- the source text includes extra details about its general location.RevenueRevenue.Revenue
- per $ vs Spend by CampaignRevenue per $ vs Spend by Campaign.Free-form translations are marked by the ''id'' attribute,
- which is a hash combining the JSON path and the source text''s value. Since
- this hash is hard to read, the source text includes extra details about its
- general location.Campaign
- SpendCampaign Spend.Revenue
- per Dollar SpentRevenue per Dollar Spent.Revenue
- TrendRevenue Trend.Free-form translations are marked by the ''id'' attribute,
- which is a hash combining the JSON path and the source text''s value. Since
- this hash is hard to read, the source text includes extra details about its
- general location.RevenueRevenue.#
- of Orders# of Orders.Number
- of OrdersNumber of Orders.Top
- 10 CustomersTop 10 Customers.Free-form
- translations are marked by the ''id'' attribute, which is a hash combining
- the JSON path and the source text''s value. Since this hash is hard to read,
- the source text includes extra details about its general location.Revenue
- / Top 10Revenue / Top 10.Top
- 10 ProductsTop 10 Products.Free-form
- translations are marked by the ''id'' attribute, which is a hash combining
- the JSON path and the source text''s value. Since this hash is hard to read,
- the source text includes extra details about its general location.Revenue
- / Top 10Revenue / Top 10.filterContextfilterContext.filterContextfilterContext.'
- headers:
- Accept:
- - '*/*'
- Accept-Encoding:
- - gzip, deflate, br
- Connection:
- - keep-alive
- Content-Length:
- - '48782'
- Content-Type:
- - application/xml
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-Xss-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: POST
- uri: http://localhost:3000/api/v1/actions/workspaces/demo/translations/retrieve
- body:
- locale: fr-FR
- headers:
- Accept:
- - application/xml
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Content-Length:
- - '48809'
- Content-Type:
- - application/xml
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-Xss-Protection:
- - '0'
- body:
- string: CampaignCampaign.Free-form
- translations are marked by the 'id' attribute, which is a hash combining
- the JSON path and the source text's value. Since this hash is hard to read,
- the source text includes extra details about its general location.Spend
- breakdown and RevenueSpend breakdown and Revenue.The
- first insight shows a breakdown of spend by category and campaign. The second
- shows revenue per $ spend, for each campaign, to demonstrate, how campaigns
- are successful.The first insight shows a breakdown of spend
- by category and campaign. The second shows revenue per $ spend, for each
- campaign, to demonstrate, how campaigns are successful..Campaign
- SpendCampaign Spend.Revenue
- per $ vs Spend by CampaignRevenue per $ vs Spend by Campaign.Dashboard
- pluginDashboard plugin.Free-form
- translations are marked by the 'id' attribute, which is a hash combining
- the JSON path and the source text's value. Since this hash is hard to read,
- the source text includes extra details about its general location.DHO
- simpleDHO simple.Product
- & CategoryProduct & Category.Free-form
- translations are marked by the 'id' attribute, which is a hash combining
- the JSON path and the source text's value. Since this hash is hard to read,
- the source text includes extra details about its general location.Top
- 10 ProductsTop 10 Products.Revenue
- TrendRevenue Trend.Customers
- TrendCustomers Trend.Product
- Categories Pie ChartProduct Categories Pie Chart.Product
- BreakdownProduct Breakdown.Product
- SaleabilityProduct Saleability.%
- Revenue per Product by Customer and Category% Revenue per
- Product by Customer and Category.Campaign
- channel idCampaign channel id.Campaign
- channel idCampaign channel id.Campaign channelsCampaign
- channels.CategoryCategory.CategoryCategory.Campaign
- channelsCampaign channels.TypeType.TypeType.Campaign channelsCampaign
- channels.Campaign idCampaign
- id.Campaign
- idCampaign id.CampaignsCampaigns.Campaign
- nameCampaign name.Campaign
- nameCampaign name.CampaignsCampaigns.Customer
- idCustomer id.Customer
- idCustomer id.CustomersCustomers.Customer
- nameCustomer name.Customer
- nameCustomer name.CustomersCustomers.RegionRegion.RegionRegion.CustomersCustomers.Order
- idOrder id.Order
- idOrder id.Order
- linesOrder lines.Order
- line idOrder line id.Order
- line idOrder line id.Order
- linesOrder lines.Order
- statusOrder status.Order
- statusOrder status.Order
- linesOrder lines.Product
- idProduct id.Product
- idProduct id.ProductsProducts.Product
- nameProduct name.Product
- nameProduct name.ProductsProducts.CategoryCategory.CategoryCategory.ProductsProducts.Date
- - DateDate - Date.DateDate.DateDate.Date
- - Week/YearDate - Week/Year.Week and Year (W52/2020)Week
- and Year (W52/2020).DateDate.Date
- - Month/YearDate - Month/Year.Month and Year (12/2020)Month
- and Year (12/2020).DateDate.Date
- - Quarter/YearDate - Quarter/Year.Quarter and Year
- (Q1/2020)Quarter and Year (Q1/2020).DateDate.Date
- - YearDate - Year.YearYear.DateDate.StateState.StateState.CustomersCustomers.Campaign
- channelsCampaign channels.Campaign channelsCampaign
- channels.Campaign
- channelsCampaign channels.Campaign
- channels per categoryCampaign channels per category.Campaign
- channels per categoriesCampaign channels per categories.Campaign
- channels per categoryCampaign channels per category.CampaignsCampaigns.CampaignsCampaigns.CampaignsCampaigns.CustomersCustomers.CustomersCustomers.CustomersCustomers.DateDate.DateDate.Order
- linesOrder lines.Order
- linesOrder lines.Order
- linesOrder lines.ProductsProducts.ProductsProducts.ProductsProducts.BudgetBudget.BudgetBudget.Campaign channelsCampaign
- channels.PricePrice.PricePrice.Order linesOrder
- lines.QuantityQuantity.QuantityQuantity.Order linesOrder
- lines.SpendSpend.SpendSpend.Campaign channelsCampaign
- channels.Budget AggBudget
- Agg.Campaign
- channels per categoryCampaign channels per category.Campaign
- channel idCampaign channel id.Campaign channel
- idCampaign channel id.Campaign
- channelsCampaign channels.CategoryCategory.CategoryCategory.Campaign channelsCampaign
- channels.TypeType.TypeType.Campaign channelsCampaign
- channels.Campaign idCampaign
- id.Campaign
- idCampaign id.CampaignsCampaigns.Campaign
- nameCampaign name.Campaign
- nameCampaign name.CampaignsCampaigns.Customer
- idCustomer id.Customer
- idCustomer id.CustomersCustomers.Customer
- nameCustomer name.Customer
- nameCustomer name.CustomersCustomers.RegionRegion.RegionRegion.CustomersCustomers.StateState.StateState.CustomersCustomers.LocationLocation.LocationLocation.CustomersCustomers.Order
- idOrder id.Order
- idOrder id.Order
- linesOrder lines.Order
- line idOrder line id.Order
- line idOrder line id.Order
- linesOrder lines.Order
- statusOrder status.Order
- statusOrder status.Order
- linesOrder lines.Product
- idProduct id.Product
- idProduct id.ProductsProducts.Product
- nameProduct name.Product
- nameProduct name.ProductsProducts.CategoryCategory.CategoryCategory.ProductsProducts.Date
- - DateDate - Date.DateDate.DateDate.Date
- - Week/YearDate - Week/Year.Week and Year (W52/2020)Week
- and Year (W52/2020).DateDate.Date
- - Month/YearDate - Month/Year.Month and Year (12/2020)Month
- and Year (12/2020).DateDate.Date
- - Quarter/YearDate - Quarter/Year.Quarter and Year (Q1/2020)Quarter
- and Year (Q1/2020).DateDate.Date
- - YearDate - Year.YearYear.DateDate.#
- of Active Customers# of Active Customers.#
- of Orders# of Orders.#
- of Top Customers# of Top Customers.#
- of Valid Orders# of Valid Orders.Campaign
- SpendCampaign Spend.Order
- AmountOrder Amount.%
- Revenue% Revenue.%
- Revenue from Top 10 Customers% Revenue from Top 10 Customers.%
- Revenue from Top 10% Customers% Revenue from Top 10% Customers.%
- Revenue from Top 10% Products% Revenue from Top 10% Products.%
- Revenue from Top 10 Products% Revenue from Top 10 Products.%
- Revenue in Category% Revenue in Category.%
- Revenue per Product% Revenue per Product.RevenueRevenue.Revenue
- (Clothing)Revenue (Clothing).Revenue
- (Electronic)Revenue (Electronic).Revenue
- (Home)Revenue (Home).Revenue
- (Outdoor)Revenue (Outdoor).Revenue
- per CustomerRevenue per Customer.Revenue
- per Dollar SpentRevenue per Dollar Spent.Revenue
- / Top 10Revenue / Top 10.Revenue
- / Top 10%Revenue / Top 10%.Total
- RevenueTotal Revenue.Total
- Revenue (No Filters)Total Revenue (No Filters).Campaign
- SpendCampaign Spend.Free-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.Campaign
- SpendCampaign Spend.Customers
- TrendCustomers Trend.Free-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.#
- of Active Customers# of Active Customers.Revenue
- per CustomerRevenue per Customer.Active
- CustomersActive Customers.%
- Revenue per Product by Customer and Category% Revenue per
- Product by Customer and Category.Free-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.%
- Revenue per Product% Revenue per Product.RevenueRevenue.Percentage
- of Customers by RegionPercentage of Customers by Region.Free-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.#
- of Active Customers# of Active Customers.Product
- BreakdownProduct Breakdown.Free-form
- translations are marked by the 'id' attribute, which is a hash combining
- the JSON path and the source text's value. Since this hash is hard to read,
- the source text includes extra details about its general location.RevenueRevenue.Product
- Categories Pie ChartProduct Categories Pie Chart.Free-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.%
- Revenue% Revenue.Product
- Revenue Comparison (over previous period)Product Revenue
- Comparison (over previous period).Free-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.RevenueRevenue.Previous
- PeriodPrevious Period.This
- PeriodThis Period.Product
- SaleabilityProduct Saleability.Free-form
- translations are marked by the 'id' attribute, which is a hash combining
- the JSON path and the source text's value. Since this hash is hard to read,
- the source text includes extra details about its general location.#
- of Orders# of Orders.RevenueRevenue.Number
- of OrdersNumber of Orders.Revenue
- and Quantity by Product and CategoryRevenue and Quantity
- by Product and Category.Free-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.Sum
- of QuantitySum of Quantity.Avg
- PriceAvg Price.%
- Revenue in Category% Revenue in Category.RevenueRevenue.Items
- SoldItems Sold.Total
- RevenueTotal Revenue.Revenue
- by Category TrendRevenue by Category Trend.Free-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.RevenueRevenue.Revenue
- by ProductRevenue by Product.Free-form
- translations are marked by the 'id' attribute, which is a hash combining
- the JSON path and the source text's value. Since this hash is hard to read,
- the source text includes extra details about its general location.RevenueRevenue.Revenue
- per $ vs Spend by CampaignRevenue per $ vs Spend by Campaign.Free-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.Campaign
- SpendCampaign Spend.Revenue
- per Dollar SpentRevenue per Dollar Spent.Revenue
- TrendRevenue Trend.Free-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.RevenueRevenue.#
- of Orders# of Orders.Number
- of OrdersNumber of Orders.Top
- 10 CustomersTop 10 Customers.Free-form
- translations are marked by the 'id' attribute, which is a hash combining
- the JSON path and the source text's value. Since this hash is hard to read,
- the source text includes extra details about its general location.Revenue
- / Top 10Revenue / Top 10.Top
- 10 ProductsTop 10 Products.Free-form
- translations are marked by the 'id' attribute, which is a hash combining
- the JSON path and the source text's value. Since this hash is hard to read,
- the source text includes extra details about its general location.Revenue
- / Top 10Revenue / Top 10.filterContextfilterContext.filterContextfilterContext.
- - request:
- method: POST
- uri: http://localhost:3000/api/v1/actions/workspaces/demo/translations/clean
- body:
- locale: fr-FR
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-Xss-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: POST
- uri: http://localhost:3000/api/v1/actions/workspaces/demo/translations/retrieve
- body:
- locale: fr-FR
- headers:
- Accept:
- - application/xml
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Content-Length:
- - '40991'
- Content-Type:
- - application/xml
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-Xss-Protection:
- - '0'
- body:
- string: CampaignFree-form
- translations are marked by the 'id' attribute, which is a hash combining
- the JSON path and the source text's value. Since this hash is hard to read,
- the source text includes extra details about its general location.Spend
- breakdown and RevenueThe
- first insight shows a breakdown of spend by category and campaign. The second
- shows revenue per $ spend, for each campaign, to demonstrate, how campaigns
- are successful.Campaign
- SpendRevenue
- per $ vs Spend by CampaignDashboard
- pluginFree-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.DHO
- simpleProduct
- & CategoryFree-form
- translations are marked by the 'id' attribute, which is a hash combining
- the JSON path and the source text's value. Since this hash is hard to read,
- the source text includes extra details about its general location.Top
- 10 ProductsRevenue
- TrendCustomers
- TrendProduct
- Categories Pie ChartProduct
- BreakdownProduct
- Saleability%
- Revenue per Product by Customer and CategoryCampaign
- channel idCampaign
- channel idCampaign
- channelsCategoryCategoryCampaign
- channelsTypeTypeCampaign channelsCampaign
- idCampaign
- idCampaignsCampaign
- nameCampaign
- nameCampaignsCustomer
- idCustomer
- idCustomersCustomer
- nameCustomer
- nameCustomersRegionRegionCustomersOrder
- idOrder
- idOrder
- linesOrder line idOrder line idOrder linesOrder
- statusOrder
- statusOrder
- linesProduct idProduct idProductsProduct
- nameProduct
- nameProductsCategoryCategoryProductsDate
- - DateDateDateDate
- - Week/YearWeek
- and Year (W52/2020)DateDate
- - Month/YearMonth
- and Year (12/2020)DateDate
- - Quarter/YearQuarter
- and Year (Q1/2020)DateDate
- - YearYearDateStateStateCustomersCampaign
- channelsCampaign
- channelsCampaign
- channelsCampaign
- channels per categoryCampaign
- channels per categoriesCampaign
- channels per categoryCampaignsCampaignsCampaignsCustomersCustomersCustomersDateDateOrder
- linesOrder
- linesOrder
- linesProductsProductsProductsBudgetBudgetCampaign channelsPricePriceOrder linesQuantityQuantityOrder linesSpendSpendCampaign channelsBudget AggCampaign channels per
- categoryCampaign
- channel idCampaign
- channel idCampaign
- channelsCategoryCategoryCampaign channelsTypeTypeCampaign channelsCampaign
- idCampaign
- idCampaignsCampaign
- nameCampaign
- nameCampaignsCustomer
- idCustomer
- idCustomersCustomer
- nameCustomer
- nameCustomersRegionRegionCustomersStateStateCustomersLocationLocationCustomersOrder
- idOrder
- idOrder
- linesOrder line idOrder line idOrder linesOrder
- statusOrder
- statusOrder
- linesProduct idProduct idProductsProduct
- nameProduct
- nameProductsCategoryCategoryProductsDate
- - DateDateDateDate
- - Week/YearWeek
- and Year (W52/2020)DateDate
- - Month/YearMonth
- and Year (12/2020)DateDate
- - Quarter/YearQuarter
- and Year (Q1/2020)DateDate
- - YearYearDate#
- of Active Customers# of Orders#
- of Top Customers# of Valid OrdersCampaign
- SpendOrder Amount%
- Revenue%
- Revenue from Top 10 Customers%
- Revenue from Top 10% Customers%
- Revenue from Top 10% Products%
- Revenue from Top 10 Products% Revenue
- in Category% Revenue
- per ProductRevenueRevenue
- (Clothing)Revenue (Electronic)Revenue
- (Home)Revenue (Outdoor)Revenue
- per CustomerRevenue per
- Dollar SpentRevenue / Top 10Revenue
- / Top 10%Total RevenueTotal
- Revenue (No Filters)Campaign
- SpendFree-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.Campaign
- SpendCustomers
- TrendFree-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.#
- of Active CustomersRevenue
- per CustomerActive
- Customers%
- Revenue per Product by Customer and CategoryFree-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.%
- Revenue per ProductRevenuePercentage
- of Customers by RegionFree-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.#
- of Active CustomersProduct
- BreakdownFree-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.RevenueProduct
- Categories Pie ChartFree-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.%
- RevenueProduct
- Revenue Comparison (over previous period)Free-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.RevenuePrevious
- PeriodThis
- PeriodProduct
- SaleabilityFree-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.#
- of OrdersRevenueNumber
- of OrdersRevenue
- and Quantity by Product and CategoryFree-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.Sum
- of QuantityAvg
- Price%
- Revenue in CategoryRevenueItems
- SoldTotal
- RevenueRevenue
- by Category TrendFree-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.RevenueRevenue
- by ProductFree-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.RevenueRevenue
- per $ vs Spend by CampaignFree-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.Campaign
- SpendRevenue
- per Dollar SpentRevenue TrendFree-form
- translations are marked by the 'id' attribute, which is a hash combining
- the JSON path and the source text's value. Since this hash is hard to read,
- the source text includes extra details about its general location.Revenue#
- of OrdersNumber
- of OrdersTop 10
- CustomersFree-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.Revenue
- / Top 10Top 10 ProductsFree-form
- translations are marked by the 'id' attribute, which is a hash combining
- the JSON path and the source text's value. Since this hash is hard to read,
- the source text includes extra details about its general location.Revenue
- / Top 10filterContextfilterContext
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/create_workspace_setting.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/create_workspace_setting.yaml
deleted file mode 100644
index df058cd3c..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/create_workspace_setting.yaml
+++ /dev/null
@@ -1,224 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/workspaceSettings/test_setting
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 404
- message: Not Found
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '172'
- Content-Type:
- - application/problem+json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- detail: The requested endpoint does not exist or you do not have permission
- to access it.
- status: 404
- title: Not Found
- traceId: 7db541cbd4184a9020146007667ae0e6
- - request:
- method: POST
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/workspaceSettings
- body:
- data:
- type: workspaceSetting
- id: test_setting
- attributes:
- content:
- value: fr-FR
- type: LOCALE
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 201
- message: Created
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '316'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- content:
- value: fr-FR
- type: LOCALE
- id: test_setting
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: workspaceSetting
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/workspaceSettings/test_setting
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/workspaceSettings/test_setting
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '316'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- content:
- value: fr-FR
- type: LOCALE
- id: test_setting
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: workspaceSetting
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/workspaceSettings/test_setting
- - request:
- method: DELETE
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/workspaceSettings/test_setting
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/delete_workspace_setting.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/delete_workspace_setting.yaml
deleted file mode 100644
index fc65c17bc..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/delete_workspace_setting.yaml
+++ /dev/null
@@ -1,316 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/workspaceSettings/test_setting
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 404
- message: Not Found
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '172'
- Content-Type:
- - application/problem+json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- detail: The requested endpoint does not exist or you do not have permission
- to access it.
- status: 404
- title: Not Found
- traceId: ec45cd8b3a6ceb10dd359e9a9580354f
- - request:
- method: POST
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/workspaceSettings
- body:
- data:
- type: workspaceSetting
- id: test_setting
- attributes:
- content:
- value: fr-FR
- type: LOCALE
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 201
- message: Created
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '316'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- content:
- value: fr-FR
- type: LOCALE
- id: test_setting
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: workspaceSetting
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/workspaceSettings/test_setting
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/workspaceSettings/test_setting
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '316'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- content:
- value: fr-FR
- type: LOCALE
- id: test_setting
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: workspaceSetting
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/workspaceSettings/test_setting
- - request:
- method: DELETE
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/workspaceSettings/test_setting
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/workspaceSettings?page=0&size=500
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '289'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data: []
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/workspaceSettings?page=0&size=500
- next: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/workspaceSettings?page=1&size=500
- - request:
- method: DELETE
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/workspaceSettings/test_setting
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_clone_workspace.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_clone_workspace.yaml
deleted file mode 100644
index 939713df2..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_clone_workspace.yaml
+++ /dev/null
@@ -1,17204 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/dataSources/demo-bigquery-ds
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 404
- message: Not Found
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '172'
- Content-Type:
- - application/problem+json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- detail: The requested endpoint does not exist or you do not have permission
- to access it.
- status: 404
- title: Not Found
- traceId: b495b86387d5ca4c821f6bfcbbc5123e
- - request:
- method: POST
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/dataSources
- body:
- data:
- attributes:
- name: Test2
- schema: demo
- type: POSTGRESQL
- username: demouser
- password: demopass
- url: jdbc:postgresql://localhost:5432/demo?autosave=false&sslmode=prefer
- id: demo-bigquery-ds
- type: dataSource
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 201
- message: Created
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '382'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- url: jdbc:postgresql://localhost:5432/demo?autosave=false&sslmode=prefer
- username: demouser
- authenticationType: USERNAME_PASSWORD
- name: Test2
- type: POSTGRESQL
- schema: demo
- id: demo-bigquery-ds
- type: dataSource
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/dataSources/demo-bigquery-ds
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces/demo
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- analytics:
- analyticalDashboardExtensions: []
- analyticalDashboards:
- - content:
- filterContextRef:
- identifier:
- id: campaign_name_filter
- type: filterContext
- layout:
- type: IDashboardLayout
- sections:
- - type: IDashboardLayoutSection
- header:
- title: Spend breakdown and Revenue
- description: The first insight shows a breakdown of spend
- by category and campaign. The second shows revenue per
- $ spend, for each campaign, to demonstrate, how campaigns
- are successful.
- 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'
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- description: ''
- id: campaign
- permissions:
- - assigneeRule:
- type: allWorkspaceUsers
- name: VIEW
- 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'
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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'
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- description: ''
- id: product_and_category
- title: Product & Category
- attributeHierarchies: []
- dashboardPlugins:
- - content:
- url: https://www.example.com
- version: '2'
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- description: Testing record dashboard_plugin_1
- id: dashboard_plugin_1
- title: dashboard_plugin_1
- - content:
- url: https://www.example.com
- version: '2'
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- description: Testing record dashboard_plugin_2
- id: dashboard_plugin_2
- title: dashboard_plugin_2
- exportDefinitions: []
- 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
- memoryItems: []
- metrics:
- - content:
- format: '#,##0'
- maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id})
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- id: amount_of_active_customers
- title: '# of Active Customers'
- - content:
- format: '#,##0'
- maql: SELECT COUNT({attribute/order_id})
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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 '
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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"))
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- description: ''
- id: amount_of_valid_orders
- title: '# of Valid Orders'
- - content:
- format: $#,##0
- maql: SELECT SUM({fact/spend})
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- id: campaign_spend
- title: Campaign Spend
- - content:
- format: $#,##0
- maql: SELECT SUM({fact/price}*{fact/quantity})
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- id: order_amount
- title: Order Amount
- - content:
- format: '#,##0.0%'
- maql: SELECT {metric/revenue} / {metric/total_revenue}
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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}"
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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}"
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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}"
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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}"
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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)
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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})
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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"))
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- description: ''
- id: revenue
- title: Revenue
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE {label/products.category} IN
- ("Clothing")
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- id: revenue-clothing
- title: Revenue (Clothing)
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE {label/products.category} IN
- ( "Electronics")
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- id: revenue-electronic
- title: Revenue (Electronic)
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE {label/products.category} IN
- ("Home")
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- id: revenue-home
- title: Revenue (Home)
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE {label/products.category} IN
- ("Outdoor")
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- id: revenue-outdoor
- title: Revenue (Outdoor)
- - content:
- format: $#,##0.0
- maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id})
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- id: revenue_per_customer
- title: Revenue per Customer
- - content:
- format: $#,##0.0
- maql: SELECT {metric/revenue} / {metric/campaign_spend}
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- id: revenue_per_dollar_spent
- title: Revenue per Dollar Spent
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue})
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- id: revenue_top_10
- title: Revenue / Top 10
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue})
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- id: revenue_top_10_percent
- title: Revenue / Top 10%
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} BY ALL OTHER
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- id: total_revenue
- title: Total Revenue
- - content:
- format: $#,##0
- maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- id: top_10_products
- title: Top 10 Products
- ldm:
- datasets:
- - aggregatedFacts: []
- attributes:
- - description: Campaign channel id
- id: campaign_channel_id
- labels: []
- sourceColumn: campaign_channel_id
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Campaign channel id
- - description: Category
- id: campaign_channels.category
- labels: []
- sourceColumn: category
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Category
- - description: Type
- id: type
- labels: []
- sourceColumn: type
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Type
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaign_channels
- path:
- - demo
- - campaign_channels
- type: dataSource
- description: Campaign channels
- facts:
- - description: Budget
- id: budget
- sourceColumn: budget
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- title: Budget
- - description: Spend
- id: spend
- sourceColumn: spend
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- title: Spend
- grain:
- - id: campaign_channel_id
- type: attribute
- id: campaign_channels
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- dataType: INT
- target:
- id: campaign_id
- type: attribute
- tags:
- - Campaign channels
- title: Campaign channels
- - aggregatedFacts:
- - description: Budget Agg
- id: budget_agg
- sourceColumn: budget
- sourceColumnDataType: INT
- sourceFactReference:
- operation: SUM
- reference:
- id: budget
- type: fact
- tags:
- - Campaign channels per category
- attributes: []
- description: Campaign channels per categories
- facts: []
- grain: []
- id: campaign_channels_per_category
- precedence: 1
- references:
- - identifier:
- id: campaign_channels
- type: dataset
- multivalue: false
- sources:
- - column: campaign_channel_id
- dataType: STRING
- target:
- id: campaign_channel_id
- type: attribute
- sql:
- dataSourceId: demo-test-ds
- statement: SELECT category, SUM(budget) FROM campaign_channels GROUP
- BY category
- tags:
- - Campaign channels per category
- title: Campaign channels per category
- - aggregatedFacts: []
- attributes:
- - description: Campaign id
- id: campaign_id
- labels: []
- sourceColumn: campaign_id
- sourceColumnDataType: INT
- tags:
- - Campaigns
- title: Campaign id
- - description: Campaign name
- id: campaign_name
- labels: []
- sourceColumn: campaign_name
- sourceColumnDataType: STRING
- tags:
- - Campaigns
- title: Campaign name
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaigns
- path:
- - demo
- - campaigns
- type: dataSource
- description: Campaigns
- facts: []
- grain:
- - id: campaign_id
- type: attribute
- id: campaigns
- references: []
- tags:
- - Campaigns
- title: Campaigns
- - aggregatedFacts: []
- attributes:
- - description: Customer id
- id: customer_id
- labels: []
- sourceColumn: customer_id
- sourceColumnDataType: INT
- tags:
- - Customers
- title: Customer id
- - description: Customer name
- id: customer_name
- labels: []
- sourceColumn: customer_name
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Customer name
- - description: Region
- id: region
- labels: []
- sourceColumn: region
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Region
- - description: State
- id: state
- labels:
- - description: Location
- id: geo__state__location
- sourceColumn: geo__state__location
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Location
- valueType: GEO
- sourceColumn: state
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: State
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: customers
- path:
- - demo
- - customers
- type: dataSource
- description: Customers
- facts: []
- grain:
- - id: customer_id
- type: attribute
- id: customers
- references: []
- tags:
- - Customers
- title: Customers
- - aggregatedFacts: []
- attributes:
- - description: Order id
- id: order_id
- labels: []
- sourceColumn: order_id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order id
- - description: Order line id
- id: order_line_id
- labels: []
- sourceColumn: order_line_id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order line id
- - description: Order status
- id: order_status
- labels: []
- sourceColumn: order_status
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order status
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: order_lines
- path:
- - demo
- - order_lines
- type: dataSource
- description: Order lines
- facts:
- - description: Price
- id: price
- sourceColumn: price
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- title: Price
- - description: Quantity
- id: quantity
- sourceColumn: quantity
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- title: Quantity
- grain:
- - id: order_line_id
- type: attribute
- id: order_lines
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- dataType: INT
- target:
- id: campaign_id
- type: attribute
- - identifier:
- id: customers
- type: dataset
- multivalue: false
- sources:
- - column: customer_id
- dataType: INT
- target:
- id: customer_id
- type: attribute
- - identifier:
- id: date
- type: dataset
- multivalue: false
- sources:
- - column: date
- dataType: DATE
- target:
- id: date
- type: date
- - identifier:
- id: products
- type: dataset
- multivalue: false
- sources:
- - column: product_id
- dataType: INT
- target:
- id: product_id
- type: attribute
- tags:
- - Order lines
- title: Order lines
- workspaceDataFilterColumns:
- - dataType: STRING
- name: wdf__region
- - dataType: STRING
- name: wdf__state
- workspaceDataFilterReferences:
- - filterColumn: wdf__region
- filterColumnDataType: STRING
- filterId:
- id: wdf__region
- type: workspaceDataFilter
- - aggregatedFacts: []
- attributes:
- - description: Product id
- id: product_id
- labels: []
- sourceColumn: product_id
- sourceColumnDataType: INT
- tags:
- - Products
- title: Product id
- - description: Product name
- id: product_name
- labels: []
- sourceColumn: product_name
- sourceColumnDataType: STRING
- tags:
- - Products
- title: Product name
- - description: Category
- id: products.category
- labels: []
- sourceColumn: category
- sourceColumnDataType: STRING
- tags:
- - Products
- title: Category
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: products
- path:
- - demo
- - products
- type: dataSource
- description: Products
- facts: []
- grain:
- - id: product_id
- type: attribute
- id: products
- references: []
- tags:
- - Products
- title: Products
- dateInstances:
- - description: ''
- granularities:
- - DAY
- - WEEK
- - MONTH
- - QUARTER
- - YEAR
- granularitiesFormatting:
- titleBase: ''
- titlePattern: '%titleBase - %granularityTitle'
- id: date
- tags:
- - Date
- title: Date
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo?include=workspaces
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - max-age=5, private
- Connection:
- - keep-alive
- Content-Length:
- - '199'
- Content-Type:
- - application/json
- DATE: *id001
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- name: Demo
- id: demo
- type: workspace
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo?include=workspaces
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo_clone?include=workspaces
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 404
- message: Not Found
- headers:
- Cache-Control:
- - max-age=5, private
- Connection:
- - keep-alive
- Content-Length:
- - '172'
- Content-Type:
- - application/problem+json
- DATE: *id001
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- detail: The requested endpoint does not exist or you do not have permission
- to access it.
- status: 404
- title: Not Found
- traceId: 7f12a363837e4aa580d964a3906acfad
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo_clone?include=workspaces
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 404
- message: Not Found
- headers:
- Cache-Control:
- - max-age=5, private
- Connection:
- - keep-alive
- Content-Length:
- - '172'
- Content-Type:
- - application/problem+json
- DATE: *id001
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- detail: The requested endpoint does not exist or you do not have permission
- to access it.
- status: 404
- title: Not Found
- traceId: 791315b0de437cd04bc4fa0c3ee40246
- - request:
- method: POST
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces
- body:
- data:
- id: demo_clone
- type: workspace
- attributes:
- name: Demo (Clone)
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 201
- message: Created
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '200'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- name: Demo (Clone)
- id: demo_clone
- type: workspace
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo_clone
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaceDataFilters
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '603'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- 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: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaceDataFilters
- body:
- 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
- - columnName: wdf__region
- id: wdf__region_demo_clone
- title: Customer region
- workspace:
- id: demo_clone
- type: workspace
- workspaceDataFilterSettings: []
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: PUT
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces/demo_clone
- body:
- ldm:
- datasets:
- - grain:
- - id: campaign_channel_id
- type: attribute
- id: campaign_channels
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: CAMPAIGN_ID
- target:
- id: campaign_id
- type: attribute
- dataType: INT
- title: Campaign channels
- description: Campaign channels
- attributes:
- - id: campaign_channel_id
- labels: []
- sourceColumn: CAMPAIGN_CHANNEL_ID
- title: Campaign channel id
- sourceColumnDataType: STRING
- description: Campaign channel id
- tags:
- - Campaign channels
- - id: campaign_channels.category
- labels: []
- sourceColumn: CATEGORY
- title: Category
- sourceColumnDataType: STRING
- description: Category
- tags:
- - Campaign channels
- - id: type
- labels: []
- sourceColumn: TYPE
- title: Type
- sourceColumnDataType: STRING
- description: Type
- tags:
- - Campaign channels
- facts:
- - id: budget
- sourceColumn: BUDGET
- title: Budget
- sourceColumnDataType: NUMERIC
- description: Budget
- tags:
- - Campaign channels
- - id: spend
- sourceColumn: SPEND
- title: Spend
- sourceColumnDataType: NUMERIC
- description: Spend
- tags:
- - Campaign channels
- aggregatedFacts: []
- dataSourceTableId:
- dataSourceId: demo-bigquery-ds
- id: CAMPAIGN_CHANNELS
- type: dataSource
- path:
- - demo
- - campaign_channels
- tags:
- - Campaign channels
- - grain: []
- id: campaign_channels_per_category
- references:
- - identifier:
- id: campaign_channels
- type: dataset
- multivalue: false
- sources:
- - column: CAMPAIGN_CHANNEL_ID
- target:
- id: campaign_channel_id
- type: attribute
- dataType: STRING
- title: Campaign channels per category
- description: Campaign channels per categories
- attributes: []
- facts: []
- aggregatedFacts:
- - id: budget_agg
- sourceColumn: BUDGET
- sourceFactReference:
- operation: SUM
- reference:
- id: budget
- type: fact
- sourceColumnDataType: INT
- description: Budget Agg
- tags:
- - Campaign channels per category
- precedence: 1
- sql:
- dataSourceId: demo-bigquery-ds
- statement: SELECT category, SUM(budget) FROM campaign_channels GROUP
- BY category
- tags:
- - Campaign channels per category
- - grain:
- - id: campaign_id
- type: attribute
- id: campaigns
- references: []
- title: Campaigns
- description: Campaigns
- attributes:
- - id: campaign_id
- labels: []
- sourceColumn: CAMPAIGN_ID
- title: Campaign id
- sourceColumnDataType: INT
- description: Campaign id
- tags:
- - Campaigns
- - id: campaign_name
- labels: []
- sourceColumn: CAMPAIGN_NAME
- title: Campaign name
- sourceColumnDataType: STRING
- description: Campaign name
- tags:
- - Campaigns
- facts: []
- aggregatedFacts: []
- dataSourceTableId:
- dataSourceId: demo-bigquery-ds
- id: CAMPAIGNS
- type: dataSource
- path:
- - demo
- - campaigns
- 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
- sourceColumnDataType: INT
- description: Customer id
- tags:
- - Customers
- - id: customer_name
- labels: []
- sourceColumn: CUSTOMER_NAME
- title: Customer name
- sourceColumnDataType: STRING
- description: Customer name
- tags:
- - Customers
- - id: region
- labels: []
- sourceColumn: REGION
- title: Region
- sourceColumnDataType: STRING
- description: Region
- tags:
- - Customers
- - id: state
- labels:
- - id: geo__state__location
- sourceColumn: GEO__STATE__LOCATION
- title: Location
- sourceColumnDataType: STRING
- description: Location
- tags:
- - Customers
- valueType: GEO
- sourceColumn: STATE
- title: State
- sourceColumnDataType: STRING
- description: State
- tags:
- - Customers
- facts: []
- aggregatedFacts: []
- dataSourceTableId:
- dataSourceId: demo-bigquery-ds
- id: CUSTOMERS
- type: dataSource
- path:
- - demo
- - customers
- tags:
- - Customers
- - grain:
- - id: order_line_id
- type: attribute
- id: order_lines
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: CAMPAIGN_ID
- target:
- id: campaign_id
- type: attribute
- dataType: INT
- - identifier:
- id: customers
- type: dataset
- multivalue: false
- sources:
- - column: CUSTOMER_ID
- target:
- id: customer_id
- type: attribute
- dataType: INT
- - identifier:
- id: date
- type: dataset
- multivalue: false
- sources:
- - column: DATE
- target:
- id: date
- type: date
- dataType: DATE
- - identifier:
- id: products
- type: dataset
- multivalue: false
- sources:
- - column: PRODUCT_ID
- target:
- id: product_id
- type: attribute
- dataType: INT
- title: Order lines
- description: Order lines
- attributes:
- - id: order_id
- labels: []
- sourceColumn: ORDER_ID
- title: Order id
- sourceColumnDataType: STRING
- description: Order id
- tags:
- - Order lines
- - id: order_line_id
- labels: []
- sourceColumn: ORDER_LINE_ID
- title: Order line id
- sourceColumnDataType: STRING
- description: Order line id
- tags:
- - Order lines
- - id: order_status
- labels: []
- sourceColumn: ORDER_STATUS
- title: Order status
- sourceColumnDataType: STRING
- description: Order status
- tags:
- - Order lines
- facts:
- - id: price
- sourceColumn: PRICE
- title: Price
- sourceColumnDataType: NUMERIC
- description: Price
- tags:
- - Order lines
- - id: quantity
- sourceColumn: QUANTITY
- title: Quantity
- sourceColumnDataType: NUMERIC
- description: Quantity
- tags:
- - Order lines
- aggregatedFacts: []
- dataSourceTableId:
- dataSourceId: demo-bigquery-ds
- id: ORDER_LINES
- type: dataSource
- path:
- - demo
- - order_lines
- tags:
- - Order lines
- workspaceDataFilterColumns:
- - dataType: STRING
- name: wdf__region
- - dataType: STRING
- name: wdf__state
- workspaceDataFilterReferences:
- - filterColumn: wdf__region
- filterColumnDataType: STRING
- filterId:
- id: wdf__region_demo_clone
- type: workspaceDataFilter
- - grain:
- - id: product_id
- type: attribute
- id: products
- references: []
- title: Products
- description: Products
- attributes:
- - id: product_id
- labels: []
- sourceColumn: PRODUCT_ID
- title: Product id
- sourceColumnDataType: INT
- description: Product id
- tags:
- - Products
- - id: product_name
- labels: []
- sourceColumn: PRODUCT_NAME
- title: Product name
- sourceColumnDataType: STRING
- description: Product name
- tags:
- - Products
- - id: products.category
- labels: []
- sourceColumn: CATEGORY
- title: Category
- sourceColumnDataType: STRING
- description: Category
- tags:
- - Products
- facts: []
- aggregatedFacts: []
- dataSourceTableId:
- dataSourceId: demo-bigquery-ds
- id: PRODUCTS
- type: dataSource
- path:
- - demo
- - products
- tags:
- - Products
- dateInstances:
- - granularities:
- - DAY
- - WEEK
- - MONTH
- - QUARTER
- - 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
- header:
- title: Spend breakdown and Revenue
- description: The first insight shows a breakdown of spend
- by category and campaign. The second shows revenue per $
- spend, for each campaign, to demonstrate, how campaigns
- are successful.
- 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- description: ''
- permissions:
- - name: VIEW
- assigneeRule:
- type: allWorkspaceUsers
- - 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- description: ''
- analyticalDashboardExtensions: []
- attributeHierarchies: []
- dashboardPlugins:
- - content:
- url: https://www.example.com
- version: '2'
- id: dashboard_plugin_1
- title: dashboard_plugin_1
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- description: Testing record dashboard_plugin_1
- - content:
- url: https://www.example.com
- version: '2'
- id: dashboard_plugin_2
- title: dashboard_plugin_2
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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'
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - content:
- format: '#,##0'
- maql: SELECT COUNT({attribute/order_id})
- id: amount_of_orders
- title: '# of Orders'
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - 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'
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - 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'
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- description: ''
- - content:
- format: $#,##0
- maql: SELECT SUM({fact/spend})
- id: campaign_spend
- title: Campaign Spend
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - content:
- format: $#,##0
- maql: SELECT SUM({fact/price}*{fact/quantity})
- id: order_amount
- title: Order Amount
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - content:
- format: '#,##0.0%'
- maql: SELECT {metric/revenue} / {metric/total_revenue}
- id: percent_revenue
- title: '% Revenue'
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - 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'
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - 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'
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - 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'
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - 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'
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - 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'
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - 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'
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - content:
- format: $#,##0
- maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status}
- IN ("Returned", "Canceled"))
- id: revenue
- title: Revenue
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- description: ''
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Clothing")
- id: revenue-clothing
- title: Revenue (Clothing)
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE {label/products.category} IN (
- "Electronics")
- id: revenue-electronic
- title: Revenue (Electronic)
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Home")
- id: revenue-home
- title: Revenue (Home)
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Outdoor")
- id: revenue-outdoor
- title: Revenue (Outdoor)
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - content:
- format: $#,##0.0
- maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id})
- id: revenue_per_customer
- title: Revenue per Customer
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - content:
- format: $#,##0.0
- maql: SELECT {metric/revenue} / {metric/campaign_spend}
- id: revenue_per_dollar_spent
- title: Revenue per Dollar Spent
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue})
- id: revenue_top_10
- title: Revenue / Top 10
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue})
- id: revenue_top_10_percent
- title: Revenue / Top 10%
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} BY ALL OTHER
- id: total_revenue
- title: Total Revenue
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - content:
- format: $#,##0
- maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER
- id: total_revenue-no_filters
- title: Total Revenue (No Filters)
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - 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'
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - 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)
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- exportDefinitions: []
- memoryItems: []
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces/demo/permissions
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '292'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- 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: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces/demo_clone/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:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo_clone?include=workspaces
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - max-age=5, private
- Connection:
- - keep-alive
- Content-Length:
- - '219'
- Content-Type:
- - application/json
- DATE: *id001
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- name: Demo (Clone)
- id: demo_clone
- type: workspace
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo_clone?include=workspaces
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces/demo_clone
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- analytics:
- analyticalDashboardExtensions: []
- analyticalDashboards:
- - content:
- filterContextRef:
- identifier:
- id: campaign_name_filter
- type: filterContext
- layout:
- type: IDashboardLayout
- sections:
- - type: IDashboardLayoutSection
- header:
- title: Spend breakdown and Revenue
- description: The first insight shows a breakdown of spend
- by category and campaign. The second shows revenue per
- $ spend, for each campaign, to demonstrate, how campaigns
- are successful.
- 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'
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- description: ''
- id: campaign
- permissions:
- - assigneeRule:
- type: allWorkspaceUsers
- name: VIEW
- 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'
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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'
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- description: ''
- id: product_and_category
- title: Product & Category
- attributeHierarchies: []
- dashboardPlugins:
- - content:
- url: https://www.example.com
- version: '2'
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- description: Testing record dashboard_plugin_1
- id: dashboard_plugin_1
- title: dashboard_plugin_1
- - content:
- url: https://www.example.com
- version: '2'
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- description: Testing record dashboard_plugin_2
- id: dashboard_plugin_2
- title: dashboard_plugin_2
- exportDefinitions: []
- 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
- memoryItems: []
- metrics:
- - content:
- format: '#,##0'
- maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id})
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- id: amount_of_active_customers
- title: '# of Active Customers'
- - content:
- format: '#,##0'
- maql: SELECT COUNT({attribute/order_id})
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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 '
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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"))
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- description: ''
- id: amount_of_valid_orders
- title: '# of Valid Orders'
- - content:
- format: $#,##0
- maql: SELECT SUM({fact/spend})
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- id: campaign_spend
- title: Campaign Spend
- - content:
- format: $#,##0
- maql: SELECT SUM({fact/price}*{fact/quantity})
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- id: order_amount
- title: Order Amount
- - content:
- format: '#,##0.0%'
- maql: SELECT {metric/revenue} / {metric/total_revenue}
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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}"
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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}"
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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}"
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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}"
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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)
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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})
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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"))
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- description: ''
- id: revenue
- title: Revenue
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE {label/products.category} IN
- ("Clothing")
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- id: revenue-clothing
- title: Revenue (Clothing)
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE {label/products.category} IN
- ( "Electronics")
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- id: revenue-electronic
- title: Revenue (Electronic)
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE {label/products.category} IN
- ("Home")
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- id: revenue-home
- title: Revenue (Home)
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE {label/products.category} IN
- ("Outdoor")
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- id: revenue-outdoor
- title: Revenue (Outdoor)
- - content:
- format: $#,##0.0
- maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id})
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- id: revenue_per_customer
- title: Revenue per Customer
- - content:
- format: $#,##0.0
- maql: SELECT {metric/revenue} / {metric/campaign_spend}
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- id: revenue_per_dollar_spent
- title: Revenue per Dollar Spent
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue})
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- id: revenue_top_10
- title: Revenue / Top 10
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue})
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- id: revenue_top_10_percent
- title: Revenue / Top 10%
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} BY ALL OTHER
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- id: total_revenue
- title: Total Revenue
- - content:
- format: $#,##0
- maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- id: top_10_products
- title: Top 10 Products
- ldm:
- datasets:
- - aggregatedFacts: []
- attributes:
- - description: Campaign channel id
- id: campaign_channel_id
- labels: []
- sourceColumn: CAMPAIGN_CHANNEL_ID
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Campaign channel id
- - description: Category
- id: campaign_channels.category
- labels: []
- sourceColumn: CATEGORY
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Category
- - description: Type
- id: type
- labels: []
- sourceColumn: TYPE
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Type
- dataSourceTableId:
- dataSourceId: demo-bigquery-ds
- id: CAMPAIGN_CHANNELS
- path:
- - demo
- - campaign_channels
- type: dataSource
- description: Campaign channels
- facts:
- - description: Budget
- id: budget
- sourceColumn: BUDGET
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- title: Budget
- - description: Spend
- id: spend
- sourceColumn: SPEND
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- title: Spend
- grain:
- - id: campaign_channel_id
- type: attribute
- id: campaign_channels
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: CAMPAIGN_ID
- dataType: INT
- target:
- id: campaign_id
- type: attribute
- tags:
- - Campaign channels
- title: Campaign channels
- - aggregatedFacts:
- - description: Budget Agg
- id: budget_agg
- sourceColumn: BUDGET
- sourceColumnDataType: INT
- sourceFactReference:
- operation: SUM
- reference:
- id: budget
- type: fact
- tags:
- - Campaign channels per category
- attributes: []
- description: Campaign channels per categories
- facts: []
- grain: []
- id: campaign_channels_per_category
- precedence: 1
- references:
- - identifier:
- id: campaign_channels
- type: dataset
- multivalue: false
- sources:
- - column: CAMPAIGN_CHANNEL_ID
- dataType: STRING
- target:
- id: campaign_channel_id
- type: attribute
- sql:
- dataSourceId: demo-bigquery-ds
- statement: SELECT category, SUM(budget) FROM campaign_channels GROUP
- BY category
- tags:
- - Campaign channels per category
- title: Campaign channels per category
- - aggregatedFacts: []
- attributes:
- - description: Campaign id
- id: campaign_id
- labels: []
- sourceColumn: CAMPAIGN_ID
- sourceColumnDataType: INT
- tags:
- - Campaigns
- title: Campaign id
- - description: Campaign name
- id: campaign_name
- labels: []
- sourceColumn: CAMPAIGN_NAME
- sourceColumnDataType: STRING
- tags:
- - Campaigns
- title: Campaign name
- dataSourceTableId:
- dataSourceId: demo-bigquery-ds
- id: CAMPAIGNS
- path:
- - demo
- - campaigns
- type: dataSource
- description: Campaigns
- facts: []
- grain:
- - id: campaign_id
- type: attribute
- id: campaigns
- references: []
- tags:
- - Campaigns
- title: Campaigns
- - aggregatedFacts: []
- attributes:
- - description: Customer id
- id: customer_id
- labels: []
- sourceColumn: CUSTOMER_ID
- sourceColumnDataType: INT
- tags:
- - Customers
- title: Customer id
- - description: Customer name
- id: customer_name
- labels: []
- sourceColumn: CUSTOMER_NAME
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Customer name
- - description: Region
- id: region
- labels: []
- sourceColumn: REGION
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Region
- - description: State
- id: state
- labels:
- - description: Location
- id: geo__state__location
- sourceColumn: GEO__STATE__LOCATION
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Location
- valueType: GEO
- sourceColumn: STATE
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: State
- dataSourceTableId:
- dataSourceId: demo-bigquery-ds
- id: CUSTOMERS
- path:
- - demo
- - customers
- type: dataSource
- description: Customers
- facts: []
- grain:
- - id: customer_id
- type: attribute
- id: customers
- references: []
- tags:
- - Customers
- title: Customers
- - aggregatedFacts: []
- attributes:
- - description: Order id
- id: order_id
- labels: []
- sourceColumn: ORDER_ID
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order id
- - description: Order line id
- id: order_line_id
- labels: []
- sourceColumn: ORDER_LINE_ID
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order line id
- - description: Order status
- id: order_status
- labels: []
- sourceColumn: ORDER_STATUS
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order status
- dataSourceTableId:
- dataSourceId: demo-bigquery-ds
- id: ORDER_LINES
- path:
- - demo
- - order_lines
- type: dataSource
- description: Order lines
- facts:
- - description: Price
- id: price
- sourceColumn: PRICE
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- title: Price
- - description: Quantity
- id: quantity
- sourceColumn: QUANTITY
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- title: Quantity
- grain:
- - id: order_line_id
- type: attribute
- id: order_lines
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: CAMPAIGN_ID
- dataType: INT
- target:
- id: campaign_id
- type: attribute
- - identifier:
- id: customers
- type: dataset
- multivalue: false
- sources:
- - column: CUSTOMER_ID
- dataType: INT
- target:
- id: customer_id
- type: attribute
- - identifier:
- id: date
- type: dataset
- multivalue: false
- sources:
- - column: DATE
- dataType: DATE
- target:
- id: date
- type: date
- - identifier:
- id: products
- type: dataset
- multivalue: false
- sources:
- - column: PRODUCT_ID
- dataType: INT
- target:
- id: product_id
- type: attribute
- tags:
- - Order lines
- title: Order lines
- workspaceDataFilterColumns:
- - dataType: STRING
- name: wdf__region
- - dataType: STRING
- name: wdf__state
- workspaceDataFilterReferences:
- - filterColumn: wdf__region
- filterColumnDataType: STRING
- filterId:
- id: wdf__region_demo_clone
- type: workspaceDataFilter
- - aggregatedFacts: []
- attributes:
- - description: Product id
- id: product_id
- labels: []
- sourceColumn: PRODUCT_ID
- sourceColumnDataType: INT
- tags:
- - Products
- title: Product id
- - description: Product name
- id: product_name
- labels: []
- sourceColumn: PRODUCT_NAME
- sourceColumnDataType: STRING
- tags:
- - Products
- title: Product name
- - description: Category
- id: products.category
- labels: []
- sourceColumn: CATEGORY
- sourceColumnDataType: STRING
- tags:
- - Products
- title: Category
- dataSourceTableId:
- dataSourceId: demo-bigquery-ds
- id: PRODUCTS
- path:
- - demo
- - products
- type: dataSource
- description: Products
- facts: []
- grain:
- - id: product_id
- type: attribute
- id: products
- references: []
- tags:
- - Products
- title: Products
- dateInstances:
- - description: ''
- granularities:
- - DAY
- - WEEK
- - MONTH
- - QUARTER
- - YEAR
- granularitiesFormatting:
- titleBase: ''
- titlePattern: '%titleBase - %granularityTitle'
- id: date
- tags:
- - Date
- title: Date
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces/demo
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- analytics:
- analyticalDashboardExtensions: []
- analyticalDashboards:
- - content:
- filterContextRef:
- identifier:
- id: campaign_name_filter
- type: filterContext
- layout:
- type: IDashboardLayout
- sections:
- - type: IDashboardLayoutSection
- header:
- title: Spend breakdown and Revenue
- description: The first insight shows a breakdown of spend
- by category and campaign. The second shows revenue per
- $ spend, for each campaign, to demonstrate, how campaigns
- are successful.
- 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'
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- description: ''
- id: campaign
- permissions:
- - assigneeRule:
- type: allWorkspaceUsers
- name: VIEW
- 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'
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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'
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- description: ''
- id: product_and_category
- title: Product & Category
- attributeHierarchies: []
- dashboardPlugins:
- - content:
- url: https://www.example.com
- version: '2'
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- description: Testing record dashboard_plugin_1
- id: dashboard_plugin_1
- title: dashboard_plugin_1
- - content:
- url: https://www.example.com
- version: '2'
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- description: Testing record dashboard_plugin_2
- id: dashboard_plugin_2
- title: dashboard_plugin_2
- exportDefinitions: []
- 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
- memoryItems: []
- metrics:
- - content:
- format: '#,##0'
- maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id})
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- id: amount_of_active_customers
- title: '# of Active Customers'
- - content:
- format: '#,##0'
- maql: SELECT COUNT({attribute/order_id})
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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 '
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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"))
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- description: ''
- id: amount_of_valid_orders
- title: '# of Valid Orders'
- - content:
- format: $#,##0
- maql: SELECT SUM({fact/spend})
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- id: campaign_spend
- title: Campaign Spend
- - content:
- format: $#,##0
- maql: SELECT SUM({fact/price}*{fact/quantity})
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- id: order_amount
- title: Order Amount
- - content:
- format: '#,##0.0%'
- maql: SELECT {metric/revenue} / {metric/total_revenue}
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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}"
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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}"
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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}"
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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}"
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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)
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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})
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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"))
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- description: ''
- id: revenue
- title: Revenue
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE {label/products.category} IN
- ("Clothing")
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- id: revenue-clothing
- title: Revenue (Clothing)
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE {label/products.category} IN
- ( "Electronics")
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- id: revenue-electronic
- title: Revenue (Electronic)
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE {label/products.category} IN
- ("Home")
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- id: revenue-home
- title: Revenue (Home)
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE {label/products.category} IN
- ("Outdoor")
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- id: revenue-outdoor
- title: Revenue (Outdoor)
- - content:
- format: $#,##0.0
- maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id})
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- id: revenue_per_customer
- title: Revenue per Customer
- - content:
- format: $#,##0.0
- maql: SELECT {metric/revenue} / {metric/campaign_spend}
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- id: revenue_per_dollar_spent
- title: Revenue per Dollar Spent
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue})
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- id: revenue_top_10
- title: Revenue / Top 10
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue})
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- id: revenue_top_10_percent
- title: Revenue / Top 10%
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} BY ALL OTHER
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- id: total_revenue
- title: Total Revenue
- - content:
- format: $#,##0
- maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- id: top_10_products
- title: Top 10 Products
- ldm:
- datasets:
- - aggregatedFacts: []
- attributes:
- - description: Campaign channel id
- id: campaign_channel_id
- labels: []
- sourceColumn: campaign_channel_id
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Campaign channel id
- - description: Category
- id: campaign_channels.category
- labels: []
- sourceColumn: category
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Category
- - description: Type
- id: type
- labels: []
- sourceColumn: type
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Type
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaign_channels
- path:
- - demo
- - campaign_channels
- type: dataSource
- description: Campaign channels
- facts:
- - description: Budget
- id: budget
- sourceColumn: budget
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- title: Budget
- - description: Spend
- id: spend
- sourceColumn: spend
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- title: Spend
- grain:
- - id: campaign_channel_id
- type: attribute
- id: campaign_channels
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- dataType: INT
- target:
- id: campaign_id
- type: attribute
- tags:
- - Campaign channels
- title: Campaign channels
- - aggregatedFacts:
- - description: Budget Agg
- id: budget_agg
- sourceColumn: budget
- sourceColumnDataType: INT
- sourceFactReference:
- operation: SUM
- reference:
- id: budget
- type: fact
- tags:
- - Campaign channels per category
- attributes: []
- description: Campaign channels per categories
- facts: []
- grain: []
- id: campaign_channels_per_category
- precedence: 1
- references:
- - identifier:
- id: campaign_channels
- type: dataset
- multivalue: false
- sources:
- - column: campaign_channel_id
- dataType: STRING
- target:
- id: campaign_channel_id
- type: attribute
- sql:
- dataSourceId: demo-test-ds
- statement: SELECT category, SUM(budget) FROM campaign_channels GROUP
- BY category
- tags:
- - Campaign channels per category
- title: Campaign channels per category
- - aggregatedFacts: []
- attributes:
- - description: Campaign id
- id: campaign_id
- labels: []
- sourceColumn: campaign_id
- sourceColumnDataType: INT
- tags:
- - Campaigns
- title: Campaign id
- - description: Campaign name
- id: campaign_name
- labels: []
- sourceColumn: campaign_name
- sourceColumnDataType: STRING
- tags:
- - Campaigns
- title: Campaign name
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaigns
- path:
- - demo
- - campaigns
- type: dataSource
- description: Campaigns
- facts: []
- grain:
- - id: campaign_id
- type: attribute
- id: campaigns
- references: []
- tags:
- - Campaigns
- title: Campaigns
- - aggregatedFacts: []
- attributes:
- - description: Customer id
- id: customer_id
- labels: []
- sourceColumn: customer_id
- sourceColumnDataType: INT
- tags:
- - Customers
- title: Customer id
- - description: Customer name
- id: customer_name
- labels: []
- sourceColumn: customer_name
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Customer name
- - description: Region
- id: region
- labels: []
- sourceColumn: region
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Region
- - description: State
- id: state
- labels:
- - description: Location
- id: geo__state__location
- sourceColumn: geo__state__location
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Location
- valueType: GEO
- sourceColumn: state
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: State
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: customers
- path:
- - demo
- - customers
- type: dataSource
- description: Customers
- facts: []
- grain:
- - id: customer_id
- type: attribute
- id: customers
- references: []
- tags:
- - Customers
- title: Customers
- - aggregatedFacts: []
- attributes:
- - description: Order id
- id: order_id
- labels: []
- sourceColumn: order_id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order id
- - description: Order line id
- id: order_line_id
- labels: []
- sourceColumn: order_line_id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order line id
- - description: Order status
- id: order_status
- labels: []
- sourceColumn: order_status
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order status
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: order_lines
- path:
- - demo
- - order_lines
- type: dataSource
- description: Order lines
- facts:
- - description: Price
- id: price
- sourceColumn: price
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- title: Price
- - description: Quantity
- id: quantity
- sourceColumn: quantity
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- title: Quantity
- grain:
- - id: order_line_id
- type: attribute
- id: order_lines
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- dataType: INT
- target:
- id: campaign_id
- type: attribute
- - identifier:
- id: customers
- type: dataset
- multivalue: false
- sources:
- - column: customer_id
- dataType: INT
- target:
- id: customer_id
- type: attribute
- - identifier:
- id: date
- type: dataset
- multivalue: false
- sources:
- - column: date
- dataType: DATE
- target:
- id: date
- type: date
- - identifier:
- id: products
- type: dataset
- multivalue: false
- sources:
- - column: product_id
- dataType: INT
- target:
- id: product_id
- type: attribute
- tags:
- - Order lines
- title: Order lines
- workspaceDataFilterColumns:
- - dataType: STRING
- name: wdf__region
- - dataType: STRING
- name: wdf__state
- workspaceDataFilterReferences:
- - filterColumn: wdf__region
- filterColumnDataType: STRING
- filterId:
- id: wdf__region
- type: workspaceDataFilter
- - aggregatedFacts: []
- attributes:
- - description: Product id
- id: product_id
- labels: []
- sourceColumn: product_id
- sourceColumnDataType: INT
- tags:
- - Products
- title: Product id
- - description: Product name
- id: product_name
- labels: []
- sourceColumn: product_name
- sourceColumnDataType: STRING
- tags:
- - Products
- title: Product name
- - description: Category
- id: products.category
- labels: []
- sourceColumn: category
- sourceColumnDataType: STRING
- tags:
- - Products
- title: Category
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: products
- path:
- - demo
- - products
- type: dataSource
- description: Products
- facts: []
- grain:
- - id: product_id
- type: attribute
- id: products
- references: []
- tags:
- - Products
- title: Products
- dateInstances:
- - description: ''
- granularities:
- - DAY
- - WEEK
- - MONTH
- - QUARTER
- - YEAR
- granularitiesFormatting:
- titleBase: ''
- titlePattern: '%titleBase - %granularityTitle'
- id: date
- tags:
- - Date
- title: Date
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo?include=workspaces
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - max-age=5, private
- Connection:
- - keep-alive
- Content-Length:
- - '199'
- Content-Type:
- - application/json
- DATE: *id001
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- name: Demo
- id: demo
- type: workspace
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo?include=workspaces
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo_jacek?include=workspaces
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 404
- message: Not Found
- headers:
- Cache-Control:
- - max-age=5, private
- Connection:
- - keep-alive
- Content-Length:
- - '172'
- Content-Type:
- - application/problem+json
- DATE: *id001
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- detail: The requested endpoint does not exist or you do not have permission
- to access it.
- status: 404
- title: Not Found
- traceId: fd8c50b808e49d4cd3765d2c064d07c2
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo_jacek?include=workspaces
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 404
- message: Not Found
- headers:
- Cache-Control:
- - max-age=5, private
- Connection:
- - keep-alive
- Content-Length:
- - '172'
- Content-Type:
- - application/problem+json
- DATE: *id001
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- detail: The requested endpoint does not exist or you do not have permission
- to access it.
- status: 404
- title: Not Found
- traceId: 6b6a6bc22f2936dc49afcfe90546eeaa
- - request:
- method: POST
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces
- body:
- data:
- id: demo_jacek
- type: workspace
- attributes:
- name: Deno Jacek
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 201
- message: Created
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '198'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- name: Deno Jacek
- id: demo_jacek
- type: workspace
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo_jacek
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaceDataFilters
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '772'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- 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__region
- id: wdf__region_demo_clone
- title: Customer region
- workspace:
- id: demo_clone
- type: workspace
- workspaceDataFilterSettings: []
- - 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: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaceDataFilters
- body:
- 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__region
- id: wdf__region_demo_clone
- title: Customer region
- workspace:
- id: demo_clone
- type: workspace
- workspaceDataFilterSettings: []
- - 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
- - columnName: wdf__region
- id: wdf__region_demo_jacek
- title: Customer region
- workspace:
- id: demo_jacek
- type: workspace
- workspaceDataFilterSettings: []
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: PUT
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces/demo_jacek
- body:
- ldm:
- datasets:
- - grain:
- - id: campaign_channel_id
- type: attribute
- id: campaign_channels
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: CAMPAIGN_ID
- target:
- id: campaign_id
- type: attribute
- dataType: INT
- title: Campaign channels
- description: Campaign channels
- attributes:
- - id: campaign_channel_id
- labels: []
- sourceColumn: CAMPAIGN_CHANNEL_ID
- title: Campaign channel id
- sourceColumnDataType: STRING
- description: Campaign channel id
- tags:
- - Campaign channels
- - id: campaign_channels.category
- labels: []
- sourceColumn: CATEGORY
- title: Category
- sourceColumnDataType: STRING
- description: Category
- tags:
- - Campaign channels
- - id: type
- labels: []
- sourceColumn: TYPE
- title: Type
- sourceColumnDataType: STRING
- description: Type
- tags:
- - Campaign channels
- facts:
- - id: budget
- sourceColumn: BUDGET
- title: Budget
- sourceColumnDataType: NUMERIC
- description: Budget
- tags:
- - Campaign channels
- - id: spend
- sourceColumn: SPEND
- title: Spend
- sourceColumnDataType: NUMERIC
- description: Spend
- tags:
- - Campaign channels
- aggregatedFacts: []
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: CAMPAIGN_CHANNELS
- type: dataSource
- path:
- - demo
- - campaign_channels
- tags:
- - Campaign channels
- - grain: []
- id: campaign_channels_per_category
- references:
- - identifier:
- id: campaign_channels
- type: dataset
- multivalue: false
- sources:
- - column: CAMPAIGN_CHANNEL_ID
- target:
- id: campaign_channel_id
- type: attribute
- dataType: STRING
- title: Campaign channels per category
- description: Campaign channels per categories
- attributes: []
- facts: []
- aggregatedFacts:
- - id: budget_agg
- sourceColumn: BUDGET
- sourceFactReference:
- operation: SUM
- reference:
- id: budget
- type: fact
- sourceColumnDataType: INT
- description: Budget Agg
- tags:
- - Campaign channels per category
- precedence: 1
- sql:
- dataSourceId: demo-test-ds
- statement: SELECT category, SUM(budget) FROM campaign_channels GROUP
- BY category
- tags:
- - Campaign channels per category
- - grain:
- - id: campaign_id
- type: attribute
- id: campaigns
- references: []
- title: Campaigns
- description: Campaigns
- attributes:
- - id: campaign_id
- labels: []
- sourceColumn: CAMPAIGN_ID
- title: Campaign id
- sourceColumnDataType: INT
- description: Campaign id
- tags:
- - Campaigns
- - id: campaign_name
- labels: []
- sourceColumn: CAMPAIGN_NAME
- title: Campaign name
- sourceColumnDataType: STRING
- description: Campaign name
- tags:
- - Campaigns
- facts: []
- aggregatedFacts: []
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: CAMPAIGNS
- type: dataSource
- path:
- - demo
- - campaigns
- 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
- sourceColumnDataType: INT
- description: Customer id
- tags:
- - Customers
- - id: customer_name
- labels: []
- sourceColumn: CUSTOMER_NAME
- title: Customer name
- sourceColumnDataType: STRING
- description: Customer name
- tags:
- - Customers
- - id: region
- labels: []
- sourceColumn: REGION
- title: Region
- sourceColumnDataType: STRING
- description: Region
- tags:
- - Customers
- - id: state
- labels:
- - id: geo__state__location
- sourceColumn: GEO__STATE__LOCATION
- title: Location
- sourceColumnDataType: STRING
- description: Location
- tags:
- - Customers
- valueType: GEO
- sourceColumn: STATE
- title: State
- sourceColumnDataType: STRING
- description: State
- tags:
- - Customers
- facts: []
- aggregatedFacts: []
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: CUSTOMERS
- type: dataSource
- path:
- - demo
- - customers
- tags:
- - Customers
- - grain:
- - id: order_line_id
- type: attribute
- id: order_lines
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: CAMPAIGN_ID
- target:
- id: campaign_id
- type: attribute
- dataType: INT
- - identifier:
- id: customers
- type: dataset
- multivalue: false
- sources:
- - column: CUSTOMER_ID
- target:
- id: customer_id
- type: attribute
- dataType: INT
- - identifier:
- id: date
- type: dataset
- multivalue: false
- sources:
- - column: DATE
- target:
- id: date
- type: date
- dataType: DATE
- - identifier:
- id: products
- type: dataset
- multivalue: false
- sources:
- - column: PRODUCT_ID
- target:
- id: product_id
- type: attribute
- dataType: INT
- title: Order lines
- description: Order lines
- attributes:
- - id: order_id
- labels: []
- sourceColumn: ORDER_ID
- title: Order id
- sourceColumnDataType: STRING
- description: Order id
- tags:
- - Order lines
- - id: order_line_id
- labels: []
- sourceColumn: ORDER_LINE_ID
- title: Order line id
- sourceColumnDataType: STRING
- description: Order line id
- tags:
- - Order lines
- - id: order_status
- labels: []
- sourceColumn: ORDER_STATUS
- title: Order status
- sourceColumnDataType: STRING
- description: Order status
- tags:
- - Order lines
- facts:
- - id: price
- sourceColumn: PRICE
- title: Price
- sourceColumnDataType: NUMERIC
- description: Price
- tags:
- - Order lines
- - id: quantity
- sourceColumn: QUANTITY
- title: Quantity
- sourceColumnDataType: NUMERIC
- description: Quantity
- tags:
- - Order lines
- aggregatedFacts: []
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: ORDER_LINES
- type: dataSource
- path:
- - demo
- - order_lines
- tags:
- - Order lines
- workspaceDataFilterColumns:
- - dataType: STRING
- name: wdf__region
- - dataType: STRING
- name: wdf__state
- workspaceDataFilterReferences:
- - filterColumn: wdf__region
- filterColumnDataType: STRING
- filterId:
- id: wdf__region_demo_jacek
- type: workspaceDataFilter
- - grain:
- - id: product_id
- type: attribute
- id: products
- references: []
- title: Products
- description: Products
- attributes:
- - id: product_id
- labels: []
- sourceColumn: PRODUCT_ID
- title: Product id
- sourceColumnDataType: INT
- description: Product id
- tags:
- - Products
- - id: product_name
- labels: []
- sourceColumn: PRODUCT_NAME
- title: Product name
- sourceColumnDataType: STRING
- description: Product name
- tags:
- - Products
- - id: products.category
- labels: []
- sourceColumn: CATEGORY
- title: Category
- sourceColumnDataType: STRING
- description: Category
- tags:
- - Products
- facts: []
- aggregatedFacts: []
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: PRODUCTS
- type: dataSource
- path:
- - demo
- - products
- tags:
- - Products
- dateInstances:
- - granularities:
- - DAY
- - WEEK
- - MONTH
- - QUARTER
- - 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
- header:
- title: Spend breakdown and Revenue
- description: The first insight shows a breakdown of spend
- by category and campaign. The second shows revenue per $
- spend, for each campaign, to demonstrate, how campaigns
- are successful.
- 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- description: ''
- permissions:
- - name: VIEW
- assigneeRule:
- type: allWorkspaceUsers
- - 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- description: ''
- analyticalDashboardExtensions: []
- attributeHierarchies: []
- dashboardPlugins:
- - content:
- url: https://www.example.com
- version: '2'
- id: dashboard_plugin_1
- title: dashboard_plugin_1
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- description: Testing record dashboard_plugin_1
- - content:
- url: https://www.example.com
- version: '2'
- id: dashboard_plugin_2
- title: dashboard_plugin_2
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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'
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - content:
- format: '#,##0'
- maql: SELECT COUNT({attribute/order_id})
- id: amount_of_orders
- title: '# of Orders'
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - 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'
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - 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'
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- description: ''
- - content:
- format: $#,##0
- maql: SELECT SUM({fact/spend})
- id: campaign_spend
- title: Campaign Spend
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - content:
- format: $#,##0
- maql: SELECT SUM({fact/price}*{fact/quantity})
- id: order_amount
- title: Order Amount
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - content:
- format: '#,##0.0%'
- maql: SELECT {metric/revenue} / {metric/total_revenue}
- id: percent_revenue
- title: '% Revenue'
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - 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'
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - 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'
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - 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'
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - 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'
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - 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'
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - 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'
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - content:
- format: $#,##0
- maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status}
- IN ("Returned", "Canceled"))
- id: revenue
- title: Revenue
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- description: ''
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Clothing")
- id: revenue-clothing
- title: Revenue (Clothing)
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE {label/products.category} IN (
- "Electronics")
- id: revenue-electronic
- title: Revenue (Electronic)
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Home")
- id: revenue-home
- title: Revenue (Home)
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Outdoor")
- id: revenue-outdoor
- title: Revenue (Outdoor)
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - content:
- format: $#,##0.0
- maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id})
- id: revenue_per_customer
- title: Revenue per Customer
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - content:
- format: $#,##0.0
- maql: SELECT {metric/revenue} / {metric/campaign_spend}
- id: revenue_per_dollar_spent
- title: Revenue per Dollar Spent
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue})
- id: revenue_top_10
- title: Revenue / Top 10
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue})
- id: revenue_top_10_percent
- title: Revenue / Top 10%
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} BY ALL OTHER
- id: total_revenue
- title: Total Revenue
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - content:
- format: $#,##0
- maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER
- id: total_revenue-no_filters
- title: Total Revenue (No Filters)
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - 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'
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - 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)
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- exportDefinitions: []
- memoryItems: []
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces/demo/permissions
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '292'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- 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: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces/demo_jacek/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:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo_jacek?include=workspaces
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - max-age=5, private
- Connection:
- - keep-alive
- Content-Length:
- - '217'
- Content-Type:
- - application/json
- DATE: *id001
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- name: Deno Jacek
- id: demo_jacek
- type: workspace
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo_jacek?include=workspaces
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces/demo/permissions
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '292'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- 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: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces/demo_jacek/permissions
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '292'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- 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: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces/demo
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- analytics:
- analyticalDashboardExtensions: []
- analyticalDashboards:
- - content:
- filterContextRef:
- identifier:
- id: campaign_name_filter
- type: filterContext
- layout:
- type: IDashboardLayout
- sections:
- - type: IDashboardLayoutSection
- header:
- title: Spend breakdown and Revenue
- description: The first insight shows a breakdown of spend
- by category and campaign. The second shows revenue per
- $ spend, for each campaign, to demonstrate, how campaigns
- are successful.
- 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'
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- description: ''
- id: campaign
- permissions:
- - assigneeRule:
- type: allWorkspaceUsers
- name: VIEW
- 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'
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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'
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- description: ''
- id: product_and_category
- title: Product & Category
- attributeHierarchies: []
- dashboardPlugins:
- - content:
- url: https://www.example.com
- version: '2'
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- description: Testing record dashboard_plugin_1
- id: dashboard_plugin_1
- title: dashboard_plugin_1
- - content:
- url: https://www.example.com
- version: '2'
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- description: Testing record dashboard_plugin_2
- id: dashboard_plugin_2
- title: dashboard_plugin_2
- exportDefinitions: []
- 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
- memoryItems: []
- metrics:
- - content:
- format: '#,##0'
- maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id})
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- id: amount_of_active_customers
- title: '# of Active Customers'
- - content:
- format: '#,##0'
- maql: SELECT COUNT({attribute/order_id})
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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 '
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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"))
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- description: ''
- id: amount_of_valid_orders
- title: '# of Valid Orders'
- - content:
- format: $#,##0
- maql: SELECT SUM({fact/spend})
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- id: campaign_spend
- title: Campaign Spend
- - content:
- format: $#,##0
- maql: SELECT SUM({fact/price}*{fact/quantity})
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- id: order_amount
- title: Order Amount
- - content:
- format: '#,##0.0%'
- maql: SELECT {metric/revenue} / {metric/total_revenue}
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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}"
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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}"
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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}"
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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}"
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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)
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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})
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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"))
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- description: ''
- id: revenue
- title: Revenue
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE {label/products.category} IN
- ("Clothing")
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- id: revenue-clothing
- title: Revenue (Clothing)
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE {label/products.category} IN
- ( "Electronics")
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- id: revenue-electronic
- title: Revenue (Electronic)
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE {label/products.category} IN
- ("Home")
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- id: revenue-home
- title: Revenue (Home)
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE {label/products.category} IN
- ("Outdoor")
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- id: revenue-outdoor
- title: Revenue (Outdoor)
- - content:
- format: $#,##0.0
- maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id})
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- id: revenue_per_customer
- title: Revenue per Customer
- - content:
- format: $#,##0.0
- maql: SELECT {metric/revenue} / {metric/campaign_spend}
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- id: revenue_per_dollar_spent
- title: Revenue per Dollar Spent
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue})
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- id: revenue_top_10
- title: Revenue / Top 10
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue})
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- id: revenue_top_10_percent
- title: Revenue / Top 10%
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} BY ALL OTHER
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- id: total_revenue
- title: Total Revenue
- - content:
- format: $#,##0
- maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- id: top_10_products
- title: Top 10 Products
- ldm:
- datasets:
- - aggregatedFacts: []
- attributes:
- - description: Campaign channel id
- id: campaign_channel_id
- labels: []
- sourceColumn: campaign_channel_id
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Campaign channel id
- - description: Category
- id: campaign_channels.category
- labels: []
- sourceColumn: category
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Category
- - description: Type
- id: type
- labels: []
- sourceColumn: type
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Type
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaign_channels
- path:
- - demo
- - campaign_channels
- type: dataSource
- description: Campaign channels
- facts:
- - description: Budget
- id: budget
- sourceColumn: budget
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- title: Budget
- - description: Spend
- id: spend
- sourceColumn: spend
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- title: Spend
- grain:
- - id: campaign_channel_id
- type: attribute
- id: campaign_channels
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- dataType: INT
- target:
- id: campaign_id
- type: attribute
- tags:
- - Campaign channels
- title: Campaign channels
- - aggregatedFacts:
- - description: Budget Agg
- id: budget_agg
- sourceColumn: budget
- sourceColumnDataType: INT
- sourceFactReference:
- operation: SUM
- reference:
- id: budget
- type: fact
- tags:
- - Campaign channels per category
- attributes: []
- description: Campaign channels per categories
- facts: []
- grain: []
- id: campaign_channels_per_category
- precedence: 1
- references:
- - identifier:
- id: campaign_channels
- type: dataset
- multivalue: false
- sources:
- - column: campaign_channel_id
- dataType: STRING
- target:
- id: campaign_channel_id
- type: attribute
- sql:
- dataSourceId: demo-test-ds
- statement: SELECT category, SUM(budget) FROM campaign_channels GROUP
- BY category
- tags:
- - Campaign channels per category
- title: Campaign channels per category
- - aggregatedFacts: []
- attributes:
- - description: Campaign id
- id: campaign_id
- labels: []
- sourceColumn: campaign_id
- sourceColumnDataType: INT
- tags:
- - Campaigns
- title: Campaign id
- - description: Campaign name
- id: campaign_name
- labels: []
- sourceColumn: campaign_name
- sourceColumnDataType: STRING
- tags:
- - Campaigns
- title: Campaign name
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaigns
- path:
- - demo
- - campaigns
- type: dataSource
- description: Campaigns
- facts: []
- grain:
- - id: campaign_id
- type: attribute
- id: campaigns
- references: []
- tags:
- - Campaigns
- title: Campaigns
- - aggregatedFacts: []
- attributes:
- - description: Customer id
- id: customer_id
- labels: []
- sourceColumn: customer_id
- sourceColumnDataType: INT
- tags:
- - Customers
- title: Customer id
- - description: Customer name
- id: customer_name
- labels: []
- sourceColumn: customer_name
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Customer name
- - description: Region
- id: region
- labels: []
- sourceColumn: region
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Region
- - description: State
- id: state
- labels:
- - description: Location
- id: geo__state__location
- sourceColumn: geo__state__location
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Location
- valueType: GEO
- sourceColumn: state
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: State
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: customers
- path:
- - demo
- - customers
- type: dataSource
- description: Customers
- facts: []
- grain:
- - id: customer_id
- type: attribute
- id: customers
- references: []
- tags:
- - Customers
- title: Customers
- - aggregatedFacts: []
- attributes:
- - description: Order id
- id: order_id
- labels: []
- sourceColumn: order_id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order id
- - description: Order line id
- id: order_line_id
- labels: []
- sourceColumn: order_line_id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order line id
- - description: Order status
- id: order_status
- labels: []
- sourceColumn: order_status
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order status
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: order_lines
- path:
- - demo
- - order_lines
- type: dataSource
- description: Order lines
- facts:
- - description: Price
- id: price
- sourceColumn: price
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- title: Price
- - description: Quantity
- id: quantity
- sourceColumn: quantity
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- title: Quantity
- grain:
- - id: order_line_id
- type: attribute
- id: order_lines
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- dataType: INT
- target:
- id: campaign_id
- type: attribute
- - identifier:
- id: customers
- type: dataset
- multivalue: false
- sources:
- - column: customer_id
- dataType: INT
- target:
- id: customer_id
- type: attribute
- - identifier:
- id: date
- type: dataset
- multivalue: false
- sources:
- - column: date
- dataType: DATE
- target:
- id: date
- type: date
- - identifier:
- id: products
- type: dataset
- multivalue: false
- sources:
- - column: product_id
- dataType: INT
- target:
- id: product_id
- type: attribute
- tags:
- - Order lines
- title: Order lines
- workspaceDataFilterColumns:
- - dataType: STRING
- name: wdf__region
- - dataType: STRING
- name: wdf__state
- workspaceDataFilterReferences:
- - filterColumn: wdf__region
- filterColumnDataType: STRING
- filterId:
- id: wdf__region
- type: workspaceDataFilter
- - aggregatedFacts: []
- attributes:
- - description: Product id
- id: product_id
- labels: []
- sourceColumn: product_id
- sourceColumnDataType: INT
- tags:
- - Products
- title: Product id
- - description: Product name
- id: product_name
- labels: []
- sourceColumn: product_name
- sourceColumnDataType: STRING
- tags:
- - Products
- title: Product name
- - description: Category
- id: products.category
- labels: []
- sourceColumn: category
- sourceColumnDataType: STRING
- tags:
- - Products
- title: Category
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: products
- path:
- - demo
- - products
- type: dataSource
- description: Products
- facts: []
- grain:
- - id: product_id
- type: attribute
- id: products
- references: []
- tags:
- - Products
- title: Products
- dateInstances:
- - description: ''
- granularities:
- - DAY
- - WEEK
- - MONTH
- - QUARTER
- - YEAR
- granularitiesFormatting:
- titleBase: ''
- titlePattern: '%titleBase - %granularityTitle'
- id: date
- tags:
- - Date
- title: Date
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo?include=workspaces
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - max-age=5, private
- Connection:
- - keep-alive
- Content-Length:
- - '199'
- Content-Type:
- - application/json
- DATE: *id001
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- name: Demo
- id: demo
- type: workspace
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo?include=workspaces
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo_clone?include=workspaces
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - max-age=5, private
- Connection:
- - keep-alive
- Content-Length:
- - '219'
- Content-Type:
- - application/json
- DATE: *id001
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- name: Demo (Clone)
- id: demo_clone
- type: workspace
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo_clone?include=workspaces
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces?include=workspaces&page=0&size=500
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- - attributes:
- name: Demo
- id: demo
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo
- type: workspace
- - attributes:
- name: Demo (Clone)
- id: demo_clone
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo_clone
- type: workspace
- - attributes:
- name: Deno Jacek
- id: demo_jacek
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo_jacek
- type: workspace
- - attributes:
- name: Demo West
- id: demo_west
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/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: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/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: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo
- type: workspace
- - attributes:
- name: Demo West
- id: demo_west
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo_west
- type: workspace
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces?include=workspaces&page=0&size=500
- next: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces?include=workspaces&page=1&size=500
- - request:
- method: DELETE
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo_clone
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo_clone?include=workspaces
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 404
- message: Not Found
- headers:
- Cache-Control:
- - max-age=5, private
- Connection:
- - keep-alive
- Content-Length:
- - '172'
- Content-Type:
- - application/problem+json
- DATE: *id001
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- detail: The requested endpoint does not exist or you do not have permission
- to access it.
- status: 404
- title: Not Found
- traceId: 7c909299b72f95d231cb97a19693e4e3
- - request:
- method: POST
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces
- body:
- data:
- id: demo_clone
- type: workspace
- attributes:
- name: Demo (Clone)
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 201
- message: Created
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '200'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- name: Demo (Clone)
- id: demo_clone
- type: workspace
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo_clone
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaceDataFilters
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '772'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- 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__region
- id: wdf__region_demo_jacek
- title: Customer region
- workspace:
- id: demo_jacek
- type: workspace
- workspaceDataFilterSettings: []
- - 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: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaceDataFilters
- body:
- 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__region
- id: wdf__region_demo_jacek
- title: Customer region
- workspace:
- id: demo_jacek
- type: workspace
- workspaceDataFilterSettings: []
- - 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
- - columnName: wdf__region
- id: wdf__region_demo_clone
- title: Customer region
- workspace:
- id: demo_clone
- type: workspace
- workspaceDataFilterSettings: []
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: PUT
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces/demo_clone
- body:
- ldm:
- datasets:
- - grain:
- - id: campaign_channel_id
- type: attribute
- id: campaign_channels
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: CAMPAIGN_ID
- target:
- id: campaign_id
- type: attribute
- dataType: INT
- title: Campaign channels
- description: Campaign channels
- attributes:
- - id: campaign_channel_id
- labels: []
- sourceColumn: CAMPAIGN_CHANNEL_ID
- title: Campaign channel id
- sourceColumnDataType: STRING
- description: Campaign channel id
- tags:
- - Campaign channels
- - id: campaign_channels.category
- labels: []
- sourceColumn: CATEGORY
- title: Category
- sourceColumnDataType: STRING
- description: Category
- tags:
- - Campaign channels
- - id: type
- labels: []
- sourceColumn: TYPE
- title: Type
- sourceColumnDataType: STRING
- description: Type
- tags:
- - Campaign channels
- facts:
- - id: budget
- sourceColumn: BUDGET
- title: Budget
- sourceColumnDataType: NUMERIC
- description: Budget
- tags:
- - Campaign channels
- - id: spend
- sourceColumn: SPEND
- title: Spend
- sourceColumnDataType: NUMERIC
- description: Spend
- tags:
- - Campaign channels
- aggregatedFacts: []
- dataSourceTableId:
- dataSourceId: demo-bigquery-ds
- id: CAMPAIGN_CHANNELS
- type: dataSource
- path:
- - demo
- - campaign_channels
- tags:
- - Campaign channels
- - grain: []
- id: campaign_channels_per_category
- references:
- - identifier:
- id: campaign_channels
- type: dataset
- multivalue: false
- sources:
- - column: CAMPAIGN_CHANNEL_ID
- target:
- id: campaign_channel_id
- type: attribute
- dataType: STRING
- title: Campaign channels per category
- description: Campaign channels per categories
- attributes: []
- facts: []
- aggregatedFacts:
- - id: budget_agg
- sourceColumn: BUDGET
- sourceFactReference:
- operation: SUM
- reference:
- id: budget
- type: fact
- sourceColumnDataType: INT
- description: Budget Agg
- tags:
- - Campaign channels per category
- precedence: 1
- sql:
- dataSourceId: demo-bigquery-ds
- statement: SELECT category, SUM(budget) FROM campaign_channels GROUP
- BY category
- tags:
- - Campaign channels per category
- - grain:
- - id: campaign_id
- type: attribute
- id: campaigns
- references: []
- title: Campaigns
- description: Campaigns
- attributes:
- - id: campaign_id
- labels: []
- sourceColumn: CAMPAIGN_ID
- title: Campaign id
- sourceColumnDataType: INT
- description: Campaign id
- tags:
- - Campaigns
- - id: campaign_name
- labels: []
- sourceColumn: CAMPAIGN_NAME
- title: Campaign name
- sourceColumnDataType: STRING
- description: Campaign name
- tags:
- - Campaigns
- facts: []
- aggregatedFacts: []
- dataSourceTableId:
- dataSourceId: demo-bigquery-ds
- id: CAMPAIGNS
- type: dataSource
- path:
- - demo
- - campaigns
- 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
- sourceColumnDataType: INT
- description: Customer id
- tags:
- - Customers
- - id: customer_name
- labels: []
- sourceColumn: CUSTOMER_NAME
- title: Customer name
- sourceColumnDataType: STRING
- description: Customer name
- tags:
- - Customers
- - id: region
- labels: []
- sourceColumn: REGION
- title: Region
- sourceColumnDataType: STRING
- description: Region
- tags:
- - Customers
- - id: state
- labels:
- - id: geo__state__location
- sourceColumn: GEO__STATE__LOCATION
- title: Location
- sourceColumnDataType: STRING
- description: Location
- tags:
- - Customers
- valueType: GEO
- sourceColumn: STATE
- title: State
- sourceColumnDataType: STRING
- description: State
- tags:
- - Customers
- facts: []
- aggregatedFacts: []
- dataSourceTableId:
- dataSourceId: demo-bigquery-ds
- id: CUSTOMERS
- type: dataSource
- path:
- - demo
- - customers
- tags:
- - Customers
- - grain:
- - id: order_line_id
- type: attribute
- id: order_lines
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: CAMPAIGN_ID
- target:
- id: campaign_id
- type: attribute
- dataType: INT
- - identifier:
- id: customers
- type: dataset
- multivalue: false
- sources:
- - column: CUSTOMER_ID
- target:
- id: customer_id
- type: attribute
- dataType: INT
- - identifier:
- id: date
- type: dataset
- multivalue: false
- sources:
- - column: DATE
- target:
- id: date
- type: date
- dataType: DATE
- - identifier:
- id: products
- type: dataset
- multivalue: false
- sources:
- - column: PRODUCT_ID
- target:
- id: product_id
- type: attribute
- dataType: INT
- title: Order lines
- description: Order lines
- attributes:
- - id: order_id
- labels: []
- sourceColumn: ORDER_ID
- title: Order id
- sourceColumnDataType: STRING
- description: Order id
- tags:
- - Order lines
- - id: order_line_id
- labels: []
- sourceColumn: ORDER_LINE_ID
- title: Order line id
- sourceColumnDataType: STRING
- description: Order line id
- tags:
- - Order lines
- - id: order_status
- labels: []
- sourceColumn: ORDER_STATUS
- title: Order status
- sourceColumnDataType: STRING
- description: Order status
- tags:
- - Order lines
- facts:
- - id: price
- sourceColumn: PRICE
- title: Price
- sourceColumnDataType: NUMERIC
- description: Price
- tags:
- - Order lines
- - id: quantity
- sourceColumn: QUANTITY
- title: Quantity
- sourceColumnDataType: NUMERIC
- description: Quantity
- tags:
- - Order lines
- aggregatedFacts: []
- dataSourceTableId:
- dataSourceId: demo-bigquery-ds
- id: ORDER_LINES
- type: dataSource
- path:
- - demo
- - order_lines
- tags:
- - Order lines
- workspaceDataFilterColumns:
- - dataType: STRING
- name: wdf__region
- - dataType: STRING
- name: wdf__state
- workspaceDataFilterReferences:
- - filterColumn: wdf__region
- filterColumnDataType: STRING
- filterId:
- id: wdf__region_demo_clone
- type: workspaceDataFilter
- - grain:
- - id: product_id
- type: attribute
- id: products
- references: []
- title: Products
- description: Products
- attributes:
- - id: product_id
- labels: []
- sourceColumn: PRODUCT_ID
- title: Product id
- sourceColumnDataType: INT
- description: Product id
- tags:
- - Products
- - id: product_name
- labels: []
- sourceColumn: PRODUCT_NAME
- title: Product name
- sourceColumnDataType: STRING
- description: Product name
- tags:
- - Products
- - id: products.category
- labels: []
- sourceColumn: CATEGORY
- title: Category
- sourceColumnDataType: STRING
- description: Category
- tags:
- - Products
- facts: []
- aggregatedFacts: []
- dataSourceTableId:
- dataSourceId: demo-bigquery-ds
- id: PRODUCTS
- type: dataSource
- path:
- - demo
- - products
- tags:
- - Products
- dateInstances:
- - granularities:
- - DAY
- - WEEK
- - MONTH
- - QUARTER
- - 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
- header:
- title: Spend breakdown and Revenue
- description: The first insight shows a breakdown of spend
- by category and campaign. The second shows revenue per $
- spend, for each campaign, to demonstrate, how campaigns
- are successful.
- 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- description: ''
- permissions:
- - name: VIEW
- assigneeRule:
- type: allWorkspaceUsers
- - 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- description: ''
- analyticalDashboardExtensions: []
- attributeHierarchies: []
- dashboardPlugins:
- - content:
- url: https://www.example.com
- version: '2'
- id: dashboard_plugin_1
- title: dashboard_plugin_1
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- description: Testing record dashboard_plugin_1
- - content:
- url: https://www.example.com
- version: '2'
- id: dashboard_plugin_2
- title: dashboard_plugin_2
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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'
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - content:
- format: '#,##0'
- maql: SELECT COUNT({attribute/order_id})
- id: amount_of_orders
- title: '# of Orders'
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - 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'
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - 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'
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- description: ''
- - content:
- format: $#,##0
- maql: SELECT SUM({fact/spend})
- id: campaign_spend
- title: Campaign Spend
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - content:
- format: $#,##0
- maql: SELECT SUM({fact/price}*{fact/quantity})
- id: order_amount
- title: Order Amount
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - content:
- format: '#,##0.0%'
- maql: SELECT {metric/revenue} / {metric/total_revenue}
- id: percent_revenue
- title: '% Revenue'
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - 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'
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - 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'
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - 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'
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - 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'
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - 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'
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - 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'
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - content:
- format: $#,##0
- maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status}
- IN ("Returned", "Canceled"))
- id: revenue
- title: Revenue
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- description: ''
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Clothing")
- id: revenue-clothing
- title: Revenue (Clothing)
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE {label/products.category} IN (
- "Electronics")
- id: revenue-electronic
- title: Revenue (Electronic)
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Home")
- id: revenue-home
- title: Revenue (Home)
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Outdoor")
- id: revenue-outdoor
- title: Revenue (Outdoor)
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - content:
- format: $#,##0.0
- maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id})
- id: revenue_per_customer
- title: Revenue per Customer
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - content:
- format: $#,##0.0
- maql: SELECT {metric/revenue} / {metric/campaign_spend}
- id: revenue_per_dollar_spent
- title: Revenue per Dollar Spent
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue})
- id: revenue_top_10
- title: Revenue / Top 10
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue})
- id: revenue_top_10_percent
- title: Revenue / Top 10%
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} BY ALL OTHER
- id: total_revenue
- title: Total Revenue
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - content:
- format: $#,##0
- maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER
- id: total_revenue-no_filters
- title: Total Revenue (No Filters)
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - 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'
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - 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)
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- exportDefinitions: []
- memoryItems: []
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces/demo/permissions
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '292'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- 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: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces/demo_clone/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:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: PUT
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces
- body:
- 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:
- - id: demo
- name: Demo
- automations: []
- customApplicationSettings: []
- filterViews: []
- hierarchyPermissions:
- - assignee:
- id: demo2
- type: user
- name: MANAGE
- - assignee:
- id: demoGroup
- type: userGroup
- name: ANALYZE
- model:
- analytics:
- analyticalDashboardExtensions: []
- analyticalDashboards:
- - content:
- filterContextRef:
- identifier:
- id: campaign_name_filter
- type: filterContext
- layout:
- type: IDashboardLayout
- sections:
- - type: IDashboardLayoutSection
- header:
- title: Spend breakdown and Revenue
- description: The first insight shows a breakdown of
- spend by category and campaign. The second shows revenue
- per $ spend, for each campaign, to demonstrate, how
- campaigns are successful.
- 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: ''
- permissions:
- - assigneeRule:
- type: allWorkspaceUsers
- name: VIEW
- - 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: ''
- attributeHierarchies: []
- 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
- exportDefinitions: []
- 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
- memoryItems: []
- ldm:
- datasets:
- - grain:
- - id: campaign_channel_id
- type: attribute
- id: campaign_channels
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- target:
- id: campaign_id
- type: attribute
- dataType: INT
- title: Campaign channels
- aggregatedFacts: []
- attributes:
- - id: campaign_channel_id
- labels: []
- sourceColumn: campaign_channel_id
- title: Campaign channel id
- description: Campaign channel id
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- - id: campaign_channels.category
- labels: []
- sourceColumn: category
- title: Category
- description: Category
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- - id: type
- labels: []
- sourceColumn: type
- title: Type
- description: Type
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaign_channels
- type: dataSource
- path:
- - demo
- - campaign_channels
- description: Campaign channels
- facts:
- - id: budget
- sourceColumn: budget
- title: Budget
- description: Budget
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- - id: spend
- sourceColumn: spend
- title: Spend
- description: Spend
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- tags:
- - Campaign channels
- - grain: []
- id: campaign_channels_per_category
- references:
- - identifier:
- id: campaign_channels
- type: dataset
- multivalue: false
- sources:
- - column: campaign_channel_id
- target:
- id: campaign_channel_id
- type: attribute
- dataType: STRING
- title: Campaign channels per category
- aggregatedFacts:
- - id: budget_agg
- sourceColumn: budget
- sourceFactReference:
- operation: SUM
- reference:
- id: budget
- type: fact
- description: Budget Agg
- sourceColumnDataType: INT
- tags:
- - Campaign channels per category
- attributes: []
- description: Campaign channels per categories
- facts: []
- precedence: 1
- sql:
- dataSourceId: demo-test-ds
- statement: SELECT category, SUM(budget) FROM campaign_channels
- GROUP BY category
- tags:
- - Campaign channels per category
- - grain:
- - id: campaign_id
- type: attribute
- id: campaigns
- references: []
- title: Campaigns
- aggregatedFacts: []
- attributes:
- - id: campaign_id
- labels: []
- sourceColumn: campaign_id
- title: Campaign id
- description: Campaign id
- sourceColumnDataType: INT
- tags:
- - Campaigns
- - id: campaign_name
- labels: []
- sourceColumn: campaign_name
- title: Campaign name
- description: Campaign name
- sourceColumnDataType: STRING
- tags:
- - Campaigns
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaigns
- type: dataSource
- path:
- - demo
- - campaigns
- description: Campaigns
- facts: []
- tags:
- - Campaigns
- - grain:
- - id: customer_id
- type: attribute
- id: customers
- references: []
- title: Customers
- aggregatedFacts: []
- attributes:
- - id: customer_id
- labels: []
- sourceColumn: customer_id
- title: Customer id
- description: Customer id
- sourceColumnDataType: INT
- tags:
- - Customers
- - id: customer_name
- labels: []
- sourceColumn: customer_name
- title: Customer name
- description: Customer name
- sourceColumnDataType: STRING
- tags:
- - Customers
- - id: region
- labels: []
- sourceColumn: region
- title: Region
- description: Region
- sourceColumnDataType: STRING
- tags:
- - Customers
- - id: state
- labels:
- - id: geo__state__location
- sourceColumn: geo__state__location
- title: Location
- description: Location
- sourceColumnDataType: STRING
- tags:
- - Customers
- valueType: GEO
- sourceColumn: state
- title: State
- description: State
- sourceColumnDataType: STRING
- tags:
- - Customers
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: customers
- type: dataSource
- path:
- - demo
- - customers
- description: Customers
- facts: []
- tags:
- - Customers
- - grain:
- - id: order_line_id
- type: attribute
- id: order_lines
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- target:
- id: campaign_id
- type: attribute
- dataType: INT
- - identifier:
- id: customers
- type: dataset
- multivalue: false
- sources:
- - column: customer_id
- target:
- id: customer_id
- type: attribute
- dataType: INT
- - identifier:
- id: date
- type: dataset
- multivalue: false
- sources:
- - column: date
- target:
- id: date
- type: date
- dataType: DATE
- - identifier:
- id: products
- type: dataset
- multivalue: false
- sources:
- - column: product_id
- target:
- id: product_id
- type: attribute
- dataType: INT
- title: Order lines
- aggregatedFacts: []
- attributes:
- - id: order_id
- labels: []
- sourceColumn: order_id
- title: Order id
- description: Order id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- - id: order_line_id
- labels: []
- sourceColumn: order_line_id
- title: Order line id
- description: Order line id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- - id: order_status
- labels: []
- sourceColumn: order_status
- title: Order status
- description: Order status
- sourceColumnDataType: STRING
- tags:
- - Order lines
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: order_lines
- type: dataSource
- path:
- - demo
- - order_lines
- description: Order lines
- facts:
- - id: price
- sourceColumn: price
- title: Price
- description: Price
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- - id: quantity
- sourceColumn: quantity
- title: Quantity
- description: Quantity
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- tags:
- - Order lines
- workspaceDataFilterColumns:
- - dataType: STRING
- name: wdf__region
- - dataType: STRING
- name: wdf__state
- workspaceDataFilterReferences:
- - filterColumn: wdf__region
- filterColumnDataType: STRING
- filterId:
- id: wdf__region
- type: workspaceDataFilter
- - grain:
- - id: product_id
- type: attribute
- id: products
- references: []
- title: Products
- aggregatedFacts: []
- attributes:
- - id: product_id
- labels: []
- sourceColumn: product_id
- title: Product id
- description: Product id
- sourceColumnDataType: INT
- tags:
- - Products
- - id: product_name
- labels: []
- sourceColumn: product_name
- title: Product name
- description: Product name
- sourceColumnDataType: STRING
- tags:
- - Products
- - id: products.category
- labels: []
- sourceColumn: category
- title: Category
- description: Category
- sourceColumnDataType: STRING
- tags:
- - Products
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: products
- type: dataSource
- path:
- - demo
- - products
- description: Products
- facts: []
- tags:
- - Products
- dateInstances:
- - granularities:
- - DAY
- - WEEK
- - MONTH
- - QUARTER
- - YEAR
- granularitiesFormatting:
- titleBase: ''
- titlePattern: '%titleBase - %granularityTitle'
- id: date
- title: Date
- description: ''
- tags:
- - Date
- permissions:
- - assignee:
- id: demo2
- type: user
- name: ANALYZE
- - assignee:
- id: demoGroup
- type: userGroup
- name: VIEW
- settings: []
- userDataFilters: []
- - id: demo_west
- name: Demo West
- automations: []
- customApplicationSettings: []
- filterViews: []
- hierarchyPermissions: []
- model:
- analytics:
- analyticalDashboardExtensions:
- - id: campaign
- permissions:
- - assigneeRule:
- type: allWorkspaceUsers
- name: VIEW
- analyticalDashboards: []
- attributeHierarchies: []
- dashboardPlugins: []
- exportDefinitions: []
- filterContexts: []
- metrics: []
- visualizationObjects: []
- memoryItems: []
- ldm:
- datasetExtensions:
- - id: order_lines
- workspaceDataFilterReferences:
- - filterColumn: wdf__state
- filterColumnDataType: STRING
- filterId:
- id: wdf__state
- type: workspaceDataFilter
- datasets: []
- dateInstances: []
- parent:
- id: demo
- type: workspace
- permissions: []
- settings: []
- userDataFilters: []
- - id: demo_west_california
- name: Demo West California
- automations: []
- customApplicationSettings: []
- filterViews: []
- hierarchyPermissions: []
- model:
- analytics:
- analyticalDashboardExtensions: []
- analyticalDashboards: []
- attributeHierarchies: []
- dashboardPlugins: []
- exportDefinitions: []
- filterContexts: []
- metrics: []
- visualizationObjects: []
- memoryItems: []
- ldm:
- datasets: []
- dateInstances: []
- parent:
- id: demo_west
- type: workspace
- permissions: []
- settings: []
- userDataFilters: []
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: DELETE
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/dataSources/demo-bigquery-ds
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_create_workspace.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_create_workspace.yaml
deleted file mode 100644
index 1cfd517b5..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_create_workspace.yaml
+++ /dev/null
@@ -1,2225 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces?include=workspaces&page=0&size=500
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- - attributes:
- name: Demo
- id: demo
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo
- type: workspace
- - attributes:
- name: Demo West
- id: demo_west
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/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: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/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: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo
- type: workspace
- - attributes:
- name: Demo West
- id: demo_west
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo_west
- type: workspace
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces?include=workspaces&page=0&size=500
- next: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces?include=workspaces&page=1&size=500
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/test?include=workspaces
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 404
- message: Not Found
- headers:
- Cache-Control:
- - max-age=5, private
- Connection:
- - keep-alive
- Content-Length:
- - '172'
- Content-Type:
- - application/problem+json
- DATE: *id001
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- detail: The requested endpoint does not exist or you do not have permission
- to access it.
- status: 404
- title: Not Found
- traceId: 845632fc0baca9ed33d68265e1fe9ffe
- - request:
- method: POST
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces
- body:
- data:
- id: test
- type: workspace
- attributes:
- name: Test
- relationships:
- parent:
- data:
- id: demo
- type: workspace
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 201
- message: Created
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '180'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- name: Test
- id: test
- type: workspace
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/test
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces?include=workspaces&page=0&size=500
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- - attributes:
- name: Demo
- id: demo
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo
- type: workspace
- - attributes:
- name: Demo West
- id: demo_west
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/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: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo_west_california
- relationships:
- parent:
- data:
- id: demo_west
- type: workspace
- type: workspace
- - attributes:
- name: Test
- id: test
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/test
- relationships:
- parent:
- data:
- id: demo
- type: workspace
- type: workspace
- included:
- - attributes:
- name: Demo
- id: demo
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo
- type: workspace
- - attributes:
- name: Demo West
- id: demo_west
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo_west
- type: workspace
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces?include=workspaces&page=0&size=500
- next: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces?include=workspaces&page=1&size=500
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/test?include=workspaces
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - max-age=5, private
- Connection:
- - keep-alive
- Content-Length:
- - '453'
- Content-Type:
- - application/json
- DATE: *id001
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- 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: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo
- type: workspace
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/test?include=workspaces
- - request:
- method: PUT
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces
- body:
- 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:
- - id: demo
- name: Demo
- automations: []
- customApplicationSettings: []
- filterViews: []
- hierarchyPermissions:
- - assignee:
- id: demo2
- type: user
- name: MANAGE
- - assignee:
- id: demoGroup
- type: userGroup
- name: ANALYZE
- model:
- analytics:
- analyticalDashboardExtensions: []
- analyticalDashboards:
- - content:
- filterContextRef:
- identifier:
- id: campaign_name_filter
- type: filterContext
- layout:
- type: IDashboardLayout
- sections:
- - type: IDashboardLayoutSection
- header:
- title: Spend breakdown and Revenue
- description: The first insight shows a breakdown of
- spend by category and campaign. The second shows revenue
- per $ spend, for each campaign, to demonstrate, how
- campaigns are successful.
- 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: ''
- permissions:
- - assigneeRule:
- type: allWorkspaceUsers
- name: VIEW
- - 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: ''
- attributeHierarchies: []
- 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
- exportDefinitions: []
- 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
- memoryItems: []
- ldm:
- datasets:
- - grain:
- - id: campaign_channel_id
- type: attribute
- id: campaign_channels
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- target:
- id: campaign_id
- type: attribute
- dataType: INT
- title: Campaign channels
- aggregatedFacts: []
- attributes:
- - id: campaign_channel_id
- labels: []
- sourceColumn: campaign_channel_id
- title: Campaign channel id
- description: Campaign channel id
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- - id: campaign_channels.category
- labels: []
- sourceColumn: category
- title: Category
- description: Category
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- - id: type
- labels: []
- sourceColumn: type
- title: Type
- description: Type
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaign_channels
- type: dataSource
- path:
- - demo
- - campaign_channels
- description: Campaign channels
- facts:
- - id: budget
- sourceColumn: budget
- title: Budget
- description: Budget
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- - id: spend
- sourceColumn: spend
- title: Spend
- description: Spend
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- tags:
- - Campaign channels
- - grain: []
- id: campaign_channels_per_category
- references:
- - identifier:
- id: campaign_channels
- type: dataset
- multivalue: false
- sources:
- - column: campaign_channel_id
- target:
- id: campaign_channel_id
- type: attribute
- dataType: STRING
- title: Campaign channels per category
- aggregatedFacts:
- - id: budget_agg
- sourceColumn: budget
- sourceFactReference:
- operation: SUM
- reference:
- id: budget
- type: fact
- description: Budget Agg
- sourceColumnDataType: INT
- tags:
- - Campaign channels per category
- attributes: []
- description: Campaign channels per categories
- facts: []
- precedence: 1
- sql:
- dataSourceId: demo-test-ds
- statement: SELECT category, SUM(budget) FROM campaign_channels
- GROUP BY category
- tags:
- - Campaign channels per category
- - grain:
- - id: campaign_id
- type: attribute
- id: campaigns
- references: []
- title: Campaigns
- aggregatedFacts: []
- attributes:
- - id: campaign_id
- labels: []
- sourceColumn: campaign_id
- title: Campaign id
- description: Campaign id
- sourceColumnDataType: INT
- tags:
- - Campaigns
- - id: campaign_name
- labels: []
- sourceColumn: campaign_name
- title: Campaign name
- description: Campaign name
- sourceColumnDataType: STRING
- tags:
- - Campaigns
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaigns
- type: dataSource
- path:
- - demo
- - campaigns
- description: Campaigns
- facts: []
- tags:
- - Campaigns
- - grain:
- - id: customer_id
- type: attribute
- id: customers
- references: []
- title: Customers
- aggregatedFacts: []
- attributes:
- - id: customer_id
- labels: []
- sourceColumn: customer_id
- title: Customer id
- description: Customer id
- sourceColumnDataType: INT
- tags:
- - Customers
- - id: customer_name
- labels: []
- sourceColumn: customer_name
- title: Customer name
- description: Customer name
- sourceColumnDataType: STRING
- tags:
- - Customers
- - id: region
- labels: []
- sourceColumn: region
- title: Region
- description: Region
- sourceColumnDataType: STRING
- tags:
- - Customers
- - id: state
- labels:
- - id: geo__state__location
- sourceColumn: geo__state__location
- title: Location
- description: Location
- sourceColumnDataType: STRING
- tags:
- - Customers
- valueType: GEO
- sourceColumn: state
- title: State
- description: State
- sourceColumnDataType: STRING
- tags:
- - Customers
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: customers
- type: dataSource
- path:
- - demo
- - customers
- description: Customers
- facts: []
- tags:
- - Customers
- - grain:
- - id: order_line_id
- type: attribute
- id: order_lines
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- target:
- id: campaign_id
- type: attribute
- dataType: INT
- - identifier:
- id: customers
- type: dataset
- multivalue: false
- sources:
- - column: customer_id
- target:
- id: customer_id
- type: attribute
- dataType: INT
- - identifier:
- id: date
- type: dataset
- multivalue: false
- sources:
- - column: date
- target:
- id: date
- type: date
- dataType: DATE
- - identifier:
- id: products
- type: dataset
- multivalue: false
- sources:
- - column: product_id
- target:
- id: product_id
- type: attribute
- dataType: INT
- title: Order lines
- aggregatedFacts: []
- attributes:
- - id: order_id
- labels: []
- sourceColumn: order_id
- title: Order id
- description: Order id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- - id: order_line_id
- labels: []
- sourceColumn: order_line_id
- title: Order line id
- description: Order line id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- - id: order_status
- labels: []
- sourceColumn: order_status
- title: Order status
- description: Order status
- sourceColumnDataType: STRING
- tags:
- - Order lines
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: order_lines
- type: dataSource
- path:
- - demo
- - order_lines
- description: Order lines
- facts:
- - id: price
- sourceColumn: price
- title: Price
- description: Price
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- - id: quantity
- sourceColumn: quantity
- title: Quantity
- description: Quantity
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- tags:
- - Order lines
- workspaceDataFilterColumns:
- - dataType: STRING
- name: wdf__region
- - dataType: STRING
- name: wdf__state
- workspaceDataFilterReferences:
- - filterColumn: wdf__region
- filterColumnDataType: STRING
- filterId:
- id: wdf__region
- type: workspaceDataFilter
- - grain:
- - id: product_id
- type: attribute
- id: products
- references: []
- title: Products
- aggregatedFacts: []
- attributes:
- - id: product_id
- labels: []
- sourceColumn: product_id
- title: Product id
- description: Product id
- sourceColumnDataType: INT
- tags:
- - Products
- - id: product_name
- labels: []
- sourceColumn: product_name
- title: Product name
- description: Product name
- sourceColumnDataType: STRING
- tags:
- - Products
- - id: products.category
- labels: []
- sourceColumn: category
- title: Category
- description: Category
- sourceColumnDataType: STRING
- tags:
- - Products
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: products
- type: dataSource
- path:
- - demo
- - products
- description: Products
- facts: []
- tags:
- - Products
- dateInstances:
- - granularities:
- - DAY
- - WEEK
- - MONTH
- - QUARTER
- - YEAR
- granularitiesFormatting:
- titleBase: ''
- titlePattern: '%titleBase - %granularityTitle'
- id: date
- title: Date
- description: ''
- tags:
- - Date
- permissions:
- - assignee:
- id: demo2
- type: user
- name: ANALYZE
- - assignee:
- id: demoGroup
- type: userGroup
- name: VIEW
- settings: []
- userDataFilters: []
- - id: demo_west
- name: Demo West
- automations: []
- customApplicationSettings: []
- filterViews: []
- hierarchyPermissions: []
- model:
- analytics:
- analyticalDashboardExtensions:
- - id: campaign
- permissions:
- - assigneeRule:
- type: allWorkspaceUsers
- name: VIEW
- analyticalDashboards: []
- attributeHierarchies: []
- dashboardPlugins: []
- exportDefinitions: []
- filterContexts: []
- metrics: []
- visualizationObjects: []
- memoryItems: []
- ldm:
- datasetExtensions:
- - id: order_lines
- workspaceDataFilterReferences:
- - filterColumn: wdf__state
- filterColumnDataType: STRING
- filterId:
- id: wdf__state
- type: workspaceDataFilter
- datasets: []
- dateInstances: []
- parent:
- id: demo
- type: workspace
- permissions: []
- settings: []
- userDataFilters: []
- - id: demo_west_california
- name: Demo West California
- automations: []
- customApplicationSettings: []
- filterViews: []
- hierarchyPermissions: []
- model:
- analytics:
- analyticalDashboardExtensions: []
- analyticalDashboards: []
- attributeHierarchies: []
- dashboardPlugins: []
- exportDefinitions: []
- filterContexts: []
- metrics: []
- visualizationObjects: []
- memoryItems: []
- ldm:
- datasets: []
- dateInstances: []
- parent:
- id: demo_west
- type: workspace
- permissions: []
- settings: []
- userDataFilters: []
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_declarative_workspaces.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_declarative_workspaces.yaml
deleted file mode 100644
index dae4a11bb..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_declarative_workspaces.yaml
+++ /dev/null
@@ -1,3718 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces?exclude=ACTIVITY_INFO
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- 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:
- - automations: []
- customApplicationSettings: []
- filterViews: []
- hierarchyPermissions:
- - assignee:
- id: demo2
- type: user
- name: MANAGE
- - assignee:
- id: demoGroup
- type: userGroup
- name: ANALYZE
- id: demo
- model:
- analytics:
- analyticalDashboardExtensions: []
- analyticalDashboards:
- - content:
- filterContextRef:
- identifier:
- id: campaign_name_filter
- type: filterContext
- layout:
- type: IDashboardLayout
- sections:
- - type: IDashboardLayoutSection
- header:
- title: Spend breakdown and Revenue
- description: The first insight shows a breakdown of
- spend by category and campaign. The second shows
- revenue per $ spend, for each campaign, to demonstrate,
- how campaigns are successful.
- 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
- permissions:
- - assigneeRule:
- type: allWorkspaceUsers
- name: VIEW
- 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
- attributeHierarchies: []
- 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
- exportDefinitions: []
- 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
- memoryItems: []
- 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:
- - aggregatedFacts: []
- attributes:
- - description: Campaign channel id
- id: campaign_channel_id
- labels: []
- sourceColumn: campaign_channel_id
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Campaign channel id
- - description: Category
- id: campaign_channels.category
- labels: []
- sourceColumn: category
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Category
- - description: Type
- id: type
- labels: []
- sourceColumn: type
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Type
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaign_channels
- path:
- - demo
- - campaign_channels
- type: dataSource
- description: Campaign channels
- facts:
- - description: Budget
- id: budget
- sourceColumn: budget
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- title: Budget
- - description: Spend
- id: spend
- sourceColumn: spend
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- title: Spend
- grain:
- - id: campaign_channel_id
- type: attribute
- id: campaign_channels
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- dataType: INT
- target:
- id: campaign_id
- type: attribute
- tags:
- - Campaign channels
- title: Campaign channels
- - aggregatedFacts:
- - description: Budget Agg
- id: budget_agg
- sourceColumn: budget
- sourceColumnDataType: INT
- sourceFactReference:
- operation: SUM
- reference:
- id: budget
- type: fact
- tags:
- - Campaign channels per category
- attributes: []
- description: Campaign channels per categories
- facts: []
- grain: []
- id: campaign_channels_per_category
- precedence: 1
- references:
- - identifier:
- id: campaign_channels
- type: dataset
- multivalue: false
- sources:
- - column: campaign_channel_id
- dataType: STRING
- target:
- id: campaign_channel_id
- type: attribute
- sql:
- dataSourceId: demo-test-ds
- statement: SELECT category, SUM(budget) FROM campaign_channels
- GROUP BY category
- tags:
- - Campaign channels per category
- title: Campaign channels per category
- - aggregatedFacts: []
- attributes:
- - description: Campaign id
- id: campaign_id
- labels: []
- sourceColumn: campaign_id
- sourceColumnDataType: INT
- tags:
- - Campaigns
- title: Campaign id
- - description: Campaign name
- id: campaign_name
- labels: []
- sourceColumn: campaign_name
- sourceColumnDataType: STRING
- tags:
- - Campaigns
- title: Campaign name
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaigns
- path:
- - demo
- - campaigns
- type: dataSource
- description: Campaigns
- facts: []
- grain:
- - id: campaign_id
- type: attribute
- id: campaigns
- references: []
- tags:
- - Campaigns
- title: Campaigns
- - aggregatedFacts: []
- attributes:
- - description: Customer id
- id: customer_id
- labels: []
- sourceColumn: customer_id
- sourceColumnDataType: INT
- tags:
- - Customers
- title: Customer id
- - description: Customer name
- id: customer_name
- labels: []
- sourceColumn: customer_name
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Customer name
- - description: Region
- id: region
- labels: []
- sourceColumn: region
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Region
- - description: State
- id: state
- labels:
- - description: Location
- id: geo__state__location
- sourceColumn: geo__state__location
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Location
- valueType: GEO
- sourceColumn: state
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: State
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: customers
- path:
- - demo
- - customers
- type: dataSource
- description: Customers
- facts: []
- grain:
- - id: customer_id
- type: attribute
- id: customers
- references: []
- tags:
- - Customers
- title: Customers
- - aggregatedFacts: []
- attributes:
- - description: Order id
- id: order_id
- labels: []
- sourceColumn: order_id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order id
- - description: Order line id
- id: order_line_id
- labels: []
- sourceColumn: order_line_id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order line id
- - description: Order status
- id: order_status
- labels: []
- sourceColumn: order_status
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order status
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: order_lines
- path:
- - demo
- - order_lines
- type: dataSource
- description: Order lines
- facts:
- - description: Price
- id: price
- sourceColumn: price
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- title: Price
- - description: Quantity
- id: quantity
- sourceColumn: quantity
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- title: Quantity
- grain:
- - id: order_line_id
- type: attribute
- id: order_lines
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- dataType: INT
- target:
- id: campaign_id
- type: attribute
- - identifier:
- id: customers
- type: dataset
- multivalue: false
- sources:
- - column: customer_id
- dataType: INT
- target:
- id: customer_id
- type: attribute
- - identifier:
- id: date
- type: dataset
- multivalue: false
- sources:
- - column: date
- dataType: DATE
- target:
- id: date
- type: date
- - identifier:
- id: products
- type: dataset
- multivalue: false
- sources:
- - column: product_id
- dataType: INT
- target:
- id: product_id
- type: attribute
- tags:
- - Order lines
- title: Order lines
- workspaceDataFilterColumns:
- - dataType: STRING
- name: wdf__region
- - dataType: STRING
- name: wdf__state
- workspaceDataFilterReferences:
- - filterColumn: wdf__region
- filterColumnDataType: STRING
- filterId:
- id: wdf__region
- type: workspaceDataFilter
- - aggregatedFacts: []
- attributes:
- - description: Product id
- id: product_id
- labels: []
- sourceColumn: product_id
- sourceColumnDataType: INT
- tags:
- - Products
- title: Product id
- - description: Product name
- id: product_name
- labels: []
- sourceColumn: product_name
- sourceColumnDataType: STRING
- tags:
- - Products
- title: Product name
- - description: Category
- id: products.category
- labels: []
- sourceColumn: category
- sourceColumnDataType: STRING
- tags:
- - Products
- title: Category
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: products
- path:
- - demo
- - products
- type: dataSource
- description: Products
- facts: []
- grain:
- - id: product_id
- type: attribute
- id: products
- references: []
- tags:
- - Products
- title: Products
- dateInstances:
- - description: ''
- granularities:
- - DAY
- - WEEK
- - MONTH
- - QUARTER
- - 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: []
- userDataFilters: []
- - automations: []
- customApplicationSettings: []
- filterViews: []
- hierarchyPermissions: []
- id: demo_west
- model:
- analytics:
- analyticalDashboardExtensions:
- - id: campaign
- permissions:
- - assigneeRule:
- type: allWorkspaceUsers
- name: VIEW
- analyticalDashboards: []
- attributeHierarchies: []
- dashboardPlugins: []
- exportDefinitions: []
- filterContexts: []
- memoryItems: []
- metrics: []
- visualizationObjects: []
- ldm:
- datasetExtensions:
- - id: order_lines
- workspaceDataFilterReferences:
- - filterColumn: wdf__state
- filterColumnDataType: STRING
- filterId:
- id: wdf__state
- type: workspaceDataFilter
- datasets: []
- dateInstances: []
- name: Demo West
- parent:
- id: demo
- type: workspace
- permissions: []
- settings: []
- userDataFilters: []
- - automations: []
- customApplicationSettings: []
- filterViews: []
- hierarchyPermissions: []
- id: demo_west_california
- model:
- analytics:
- analyticalDashboardExtensions: []
- analyticalDashboards: []
- attributeHierarchies: []
- dashboardPlugins: []
- exportDefinitions: []
- filterContexts: []
- memoryItems: []
- metrics: []
- visualizationObjects: []
- ldm:
- datasets: []
- dateInstances: []
- name: Demo West California
- parent:
- id: demo_west
- type: workspace
- permissions: []
- settings: []
- userDataFilters: []
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces?exclude=ACTIVITY_INFO
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- 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:
- - automations: []
- customApplicationSettings: []
- filterViews: []
- hierarchyPermissions:
- - assignee:
- id: demo2
- type: user
- name: MANAGE
- - assignee:
- id: demoGroup
- type: userGroup
- name: ANALYZE
- id: demo
- model:
- analytics:
- analyticalDashboardExtensions: []
- analyticalDashboards:
- - content:
- filterContextRef:
- identifier:
- id: campaign_name_filter
- type: filterContext
- layout:
- type: IDashboardLayout
- sections:
- - type: IDashboardLayoutSection
- header:
- title: Spend breakdown and Revenue
- description: The first insight shows a breakdown of
- spend by category and campaign. The second shows
- revenue per $ spend, for each campaign, to demonstrate,
- how campaigns are successful.
- 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
- permissions:
- - assigneeRule:
- type: allWorkspaceUsers
- name: VIEW
- 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
- attributeHierarchies: []
- 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
- exportDefinitions: []
- 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
- memoryItems: []
- 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:
- - aggregatedFacts: []
- attributes:
- - description: Campaign channel id
- id: campaign_channel_id
- labels: []
- sourceColumn: campaign_channel_id
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Campaign channel id
- - description: Category
- id: campaign_channels.category
- labels: []
- sourceColumn: category
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Category
- - description: Type
- id: type
- labels: []
- sourceColumn: type
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Type
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaign_channels
- path:
- - demo
- - campaign_channels
- type: dataSource
- description: Campaign channels
- facts:
- - description: Budget
- id: budget
- sourceColumn: budget
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- title: Budget
- - description: Spend
- id: spend
- sourceColumn: spend
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- title: Spend
- grain:
- - id: campaign_channel_id
- type: attribute
- id: campaign_channels
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- dataType: INT
- target:
- id: campaign_id
- type: attribute
- tags:
- - Campaign channels
- title: Campaign channels
- - aggregatedFacts:
- - description: Budget Agg
- id: budget_agg
- sourceColumn: budget
- sourceColumnDataType: INT
- sourceFactReference:
- operation: SUM
- reference:
- id: budget
- type: fact
- tags:
- - Campaign channels per category
- attributes: []
- description: Campaign channels per categories
- facts: []
- grain: []
- id: campaign_channels_per_category
- precedence: 1
- references:
- - identifier:
- id: campaign_channels
- type: dataset
- multivalue: false
- sources:
- - column: campaign_channel_id
- dataType: STRING
- target:
- id: campaign_channel_id
- type: attribute
- sql:
- dataSourceId: demo-test-ds
- statement: SELECT category, SUM(budget) FROM campaign_channels
- GROUP BY category
- tags:
- - Campaign channels per category
- title: Campaign channels per category
- - aggregatedFacts: []
- attributes:
- - description: Campaign id
- id: campaign_id
- labels: []
- sourceColumn: campaign_id
- sourceColumnDataType: INT
- tags:
- - Campaigns
- title: Campaign id
- - description: Campaign name
- id: campaign_name
- labels: []
- sourceColumn: campaign_name
- sourceColumnDataType: STRING
- tags:
- - Campaigns
- title: Campaign name
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaigns
- path:
- - demo
- - campaigns
- type: dataSource
- description: Campaigns
- facts: []
- grain:
- - id: campaign_id
- type: attribute
- id: campaigns
- references: []
- tags:
- - Campaigns
- title: Campaigns
- - aggregatedFacts: []
- attributes:
- - description: Customer id
- id: customer_id
- labels: []
- sourceColumn: customer_id
- sourceColumnDataType: INT
- tags:
- - Customers
- title: Customer id
- - description: Customer name
- id: customer_name
- labels: []
- sourceColumn: customer_name
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Customer name
- - description: Region
- id: region
- labels: []
- sourceColumn: region
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Region
- - description: State
- id: state
- labels:
- - description: Location
- id: geo__state__location
- sourceColumn: geo__state__location
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Location
- valueType: GEO
- sourceColumn: state
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: State
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: customers
- path:
- - demo
- - customers
- type: dataSource
- description: Customers
- facts: []
- grain:
- - id: customer_id
- type: attribute
- id: customers
- references: []
- tags:
- - Customers
- title: Customers
- - aggregatedFacts: []
- attributes:
- - description: Order id
- id: order_id
- labels: []
- sourceColumn: order_id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order id
- - description: Order line id
- id: order_line_id
- labels: []
- sourceColumn: order_line_id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order line id
- - description: Order status
- id: order_status
- labels: []
- sourceColumn: order_status
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order status
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: order_lines
- path:
- - demo
- - order_lines
- type: dataSource
- description: Order lines
- facts:
- - description: Price
- id: price
- sourceColumn: price
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- title: Price
- - description: Quantity
- id: quantity
- sourceColumn: quantity
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- title: Quantity
- grain:
- - id: order_line_id
- type: attribute
- id: order_lines
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- dataType: INT
- target:
- id: campaign_id
- type: attribute
- - identifier:
- id: customers
- type: dataset
- multivalue: false
- sources:
- - column: customer_id
- dataType: INT
- target:
- id: customer_id
- type: attribute
- - identifier:
- id: date
- type: dataset
- multivalue: false
- sources:
- - column: date
- dataType: DATE
- target:
- id: date
- type: date
- - identifier:
- id: products
- type: dataset
- multivalue: false
- sources:
- - column: product_id
- dataType: INT
- target:
- id: product_id
- type: attribute
- tags:
- - Order lines
- title: Order lines
- workspaceDataFilterColumns:
- - dataType: STRING
- name: wdf__region
- - dataType: STRING
- name: wdf__state
- workspaceDataFilterReferences:
- - filterColumn: wdf__region
- filterColumnDataType: STRING
- filterId:
- id: wdf__region
- type: workspaceDataFilter
- - aggregatedFacts: []
- attributes:
- - description: Product id
- id: product_id
- labels: []
- sourceColumn: product_id
- sourceColumnDataType: INT
- tags:
- - Products
- title: Product id
- - description: Product name
- id: product_name
- labels: []
- sourceColumn: product_name
- sourceColumnDataType: STRING
- tags:
- - Products
- title: Product name
- - description: Category
- id: products.category
- labels: []
- sourceColumn: category
- sourceColumnDataType: STRING
- tags:
- - Products
- title: Category
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: products
- path:
- - demo
- - products
- type: dataSource
- description: Products
- facts: []
- grain:
- - id: product_id
- type: attribute
- id: products
- references: []
- tags:
- - Products
- title: Products
- dateInstances:
- - description: ''
- granularities:
- - DAY
- - WEEK
- - MONTH
- - QUARTER
- - 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: []
- userDataFilters: []
- - automations: []
- customApplicationSettings: []
- filterViews: []
- hierarchyPermissions: []
- id: demo_west
- model:
- analytics:
- analyticalDashboardExtensions:
- - id: campaign
- permissions:
- - assigneeRule:
- type: allWorkspaceUsers
- name: VIEW
- analyticalDashboards: []
- attributeHierarchies: []
- dashboardPlugins: []
- exportDefinitions: []
- filterContexts: []
- memoryItems: []
- metrics: []
- visualizationObjects: []
- ldm:
- datasetExtensions:
- - id: order_lines
- workspaceDataFilterReferences:
- - filterColumn: wdf__state
- filterColumnDataType: STRING
- filterId:
- id: wdf__state
- type: workspaceDataFilter
- datasets: []
- dateInstances: []
- name: Demo West
- parent:
- id: demo
- type: workspace
- permissions: []
- settings: []
- userDataFilters: []
- - automations: []
- customApplicationSettings: []
- filterViews: []
- hierarchyPermissions: []
- id: demo_west_california
- model:
- analytics:
- analyticalDashboardExtensions: []
- analyticalDashboards: []
- attributeHierarchies: []
- dashboardPlugins: []
- exportDefinitions: []
- filterContexts: []
- memoryItems: []
- metrics: []
- visualizationObjects: []
- ldm:
- datasets: []
- dateInstances: []
- name: Demo West California
- parent:
- id: demo_west
- type: workspace
- permissions: []
- settings: []
- userDataFilters: []
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_delete_non_existing_workspace.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_delete_non_existing_workspace.yaml
deleted file mode 100644
index 6b1cd4309..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_delete_non_existing_workspace.yaml
+++ /dev/null
@@ -1,286 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces?include=workspaces&page=0&size=500
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- - attributes:
- name: Demo
- id: demo
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo
- type: workspace
- - attributes:
- name: Demo West
- id: demo_west
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/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: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/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: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo
- type: workspace
- - attributes:
- name: Demo West
- id: demo_west
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo_west
- type: workspace
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces?include=workspaces&page=0&size=500
- next: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces?include=workspaces&page=1&size=500
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces?include=workspaces&page=0&size=500
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- - attributes:
- name: Demo
- id: demo
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo
- type: workspace
- - attributes:
- name: Demo West
- id: demo_west
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/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: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/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: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo
- type: workspace
- - attributes:
- name: Demo West
- id: demo_west
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo_west
- type: workspace
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces?include=workspaces&page=0&size=500
- next: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces?include=workspaces&page=1&size=500
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces?include=workspaces&page=0&size=500
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- - attributes:
- name: Demo
- id: demo
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo
- type: workspace
- - attributes:
- name: Demo West
- id: demo_west
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/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: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/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: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo
- type: workspace
- - attributes:
- name: Demo West
- id: demo_west
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo_west
- type: workspace
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces?include=workspaces&page=0&size=500
- next: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces?include=workspaces&page=1&size=500
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_delete_parent_workspace.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_delete_parent_workspace.yaml
deleted file mode 100644
index 6b1cd4309..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_delete_parent_workspace.yaml
+++ /dev/null
@@ -1,286 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces?include=workspaces&page=0&size=500
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- - attributes:
- name: Demo
- id: demo
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo
- type: workspace
- - attributes:
- name: Demo West
- id: demo_west
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/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: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/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: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo
- type: workspace
- - attributes:
- name: Demo West
- id: demo_west
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo_west
- type: workspace
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces?include=workspaces&page=0&size=500
- next: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces?include=workspaces&page=1&size=500
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces?include=workspaces&page=0&size=500
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- - attributes:
- name: Demo
- id: demo
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo
- type: workspace
- - attributes:
- name: Demo West
- id: demo_west
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/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: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/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: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo
- type: workspace
- - attributes:
- name: Demo West
- id: demo_west
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo_west
- type: workspace
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces?include=workspaces&page=0&size=500
- next: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces?include=workspaces&page=1&size=500
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces?include=workspaces&page=0&size=500
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- - attributes:
- name: Demo
- id: demo
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo
- type: workspace
- - attributes:
- name: Demo West
- id: demo_west
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/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: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/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: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo
- type: workspace
- - attributes:
- name: Demo West
- id: demo_west
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo_west
- type: workspace
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces?include=workspaces&page=0&size=500
- next: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces?include=workspaces&page=1&size=500
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_delete_workspace.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_delete_workspace.yaml
deleted file mode 100644
index c1521f4da..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_delete_workspace.yaml
+++ /dev/null
@@ -1,2157 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces?include=workspaces&page=0&size=500
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- - attributes:
- name: Demo
- id: demo
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo
- type: workspace
- - attributes:
- name: Demo West
- id: demo_west
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/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: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/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: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo
- type: workspace
- - attributes:
- name: Demo West
- id: demo_west
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo_west
- type: workspace
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces?include=workspaces&page=0&size=500
- next: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces?include=workspaces&page=1&size=500
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces?include=workspaces&page=0&size=500
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- - attributes:
- name: Demo
- id: demo
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo
- type: workspace
- - attributes:
- name: Demo West
- id: demo_west
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/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: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/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: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo
- type: workspace
- - attributes:
- name: Demo West
- id: demo_west
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo_west
- type: workspace
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces?include=workspaces&page=0&size=500
- next: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces?include=workspaces&page=1&size=500
- - request:
- method: DELETE
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo_west_california
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces?include=workspaces&page=0&size=500
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '893'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- - attributes:
- name: Demo
- id: demo
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo
- type: workspace
- - attributes:
- name: Demo West
- id: demo_west
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo_west
- relationships:
- parent:
- data:
- id: demo
- type: workspace
- type: workspace
- included:
- - attributes:
- name: Demo
- id: demo
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo
- type: workspace
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces?include=workspaces&page=0&size=500
- next: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces?include=workspaces&page=1&size=500
- - request:
- method: PUT
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces
- body:
- 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:
- - id: demo
- name: Demo
- automations: []
- customApplicationSettings: []
- filterViews: []
- hierarchyPermissions:
- - assignee:
- id: demo2
- type: user
- name: MANAGE
- - assignee:
- id: demoGroup
- type: userGroup
- name: ANALYZE
- model:
- analytics:
- analyticalDashboardExtensions: []
- analyticalDashboards:
- - content:
- filterContextRef:
- identifier:
- id: campaign_name_filter
- type: filterContext
- layout:
- type: IDashboardLayout
- sections:
- - type: IDashboardLayoutSection
- header:
- title: Spend breakdown and Revenue
- description: The first insight shows a breakdown of
- spend by category and campaign. The second shows revenue
- per $ spend, for each campaign, to demonstrate, how
- campaigns are successful.
- 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: ''
- permissions:
- - assigneeRule:
- type: allWorkspaceUsers
- name: VIEW
- - 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: ''
- attributeHierarchies: []
- 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
- exportDefinitions: []
- 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
- memoryItems: []
- ldm:
- datasets:
- - grain:
- - id: campaign_channel_id
- type: attribute
- id: campaign_channels
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- target:
- id: campaign_id
- type: attribute
- dataType: INT
- title: Campaign channels
- aggregatedFacts: []
- attributes:
- - id: campaign_channel_id
- labels: []
- sourceColumn: campaign_channel_id
- title: Campaign channel id
- description: Campaign channel id
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- - id: campaign_channels.category
- labels: []
- sourceColumn: category
- title: Category
- description: Category
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- - id: type
- labels: []
- sourceColumn: type
- title: Type
- description: Type
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaign_channels
- type: dataSource
- path:
- - demo
- - campaign_channels
- description: Campaign channels
- facts:
- - id: budget
- sourceColumn: budget
- title: Budget
- description: Budget
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- - id: spend
- sourceColumn: spend
- title: Spend
- description: Spend
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- tags:
- - Campaign channels
- - grain: []
- id: campaign_channels_per_category
- references:
- - identifier:
- id: campaign_channels
- type: dataset
- multivalue: false
- sources:
- - column: campaign_channel_id
- target:
- id: campaign_channel_id
- type: attribute
- dataType: STRING
- title: Campaign channels per category
- aggregatedFacts:
- - id: budget_agg
- sourceColumn: budget
- sourceFactReference:
- operation: SUM
- reference:
- id: budget
- type: fact
- description: Budget Agg
- sourceColumnDataType: INT
- tags:
- - Campaign channels per category
- attributes: []
- description: Campaign channels per categories
- facts: []
- precedence: 1
- sql:
- dataSourceId: demo-test-ds
- statement: SELECT category, SUM(budget) FROM campaign_channels
- GROUP BY category
- tags:
- - Campaign channels per category
- - grain:
- - id: campaign_id
- type: attribute
- id: campaigns
- references: []
- title: Campaigns
- aggregatedFacts: []
- attributes:
- - id: campaign_id
- labels: []
- sourceColumn: campaign_id
- title: Campaign id
- description: Campaign id
- sourceColumnDataType: INT
- tags:
- - Campaigns
- - id: campaign_name
- labels: []
- sourceColumn: campaign_name
- title: Campaign name
- description: Campaign name
- sourceColumnDataType: STRING
- tags:
- - Campaigns
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaigns
- type: dataSource
- path:
- - demo
- - campaigns
- description: Campaigns
- facts: []
- tags:
- - Campaigns
- - grain:
- - id: customer_id
- type: attribute
- id: customers
- references: []
- title: Customers
- aggregatedFacts: []
- attributes:
- - id: customer_id
- labels: []
- sourceColumn: customer_id
- title: Customer id
- description: Customer id
- sourceColumnDataType: INT
- tags:
- - Customers
- - id: customer_name
- labels: []
- sourceColumn: customer_name
- title: Customer name
- description: Customer name
- sourceColumnDataType: STRING
- tags:
- - Customers
- - id: region
- labels: []
- sourceColumn: region
- title: Region
- description: Region
- sourceColumnDataType: STRING
- tags:
- - Customers
- - id: state
- labels:
- - id: geo__state__location
- sourceColumn: geo__state__location
- title: Location
- description: Location
- sourceColumnDataType: STRING
- tags:
- - Customers
- valueType: GEO
- sourceColumn: state
- title: State
- description: State
- sourceColumnDataType: STRING
- tags:
- - Customers
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: customers
- type: dataSource
- path:
- - demo
- - customers
- description: Customers
- facts: []
- tags:
- - Customers
- - grain:
- - id: order_line_id
- type: attribute
- id: order_lines
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- target:
- id: campaign_id
- type: attribute
- dataType: INT
- - identifier:
- id: customers
- type: dataset
- multivalue: false
- sources:
- - column: customer_id
- target:
- id: customer_id
- type: attribute
- dataType: INT
- - identifier:
- id: date
- type: dataset
- multivalue: false
- sources:
- - column: date
- target:
- id: date
- type: date
- dataType: DATE
- - identifier:
- id: products
- type: dataset
- multivalue: false
- sources:
- - column: product_id
- target:
- id: product_id
- type: attribute
- dataType: INT
- title: Order lines
- aggregatedFacts: []
- attributes:
- - id: order_id
- labels: []
- sourceColumn: order_id
- title: Order id
- description: Order id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- - id: order_line_id
- labels: []
- sourceColumn: order_line_id
- title: Order line id
- description: Order line id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- - id: order_status
- labels: []
- sourceColumn: order_status
- title: Order status
- description: Order status
- sourceColumnDataType: STRING
- tags:
- - Order lines
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: order_lines
- type: dataSource
- path:
- - demo
- - order_lines
- description: Order lines
- facts:
- - id: price
- sourceColumn: price
- title: Price
- description: Price
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- - id: quantity
- sourceColumn: quantity
- title: Quantity
- description: Quantity
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- tags:
- - Order lines
- workspaceDataFilterColumns:
- - dataType: STRING
- name: wdf__region
- - dataType: STRING
- name: wdf__state
- workspaceDataFilterReferences:
- - filterColumn: wdf__region
- filterColumnDataType: STRING
- filterId:
- id: wdf__region
- type: workspaceDataFilter
- - grain:
- - id: product_id
- type: attribute
- id: products
- references: []
- title: Products
- aggregatedFacts: []
- attributes:
- - id: product_id
- labels: []
- sourceColumn: product_id
- title: Product id
- description: Product id
- sourceColumnDataType: INT
- tags:
- - Products
- - id: product_name
- labels: []
- sourceColumn: product_name
- title: Product name
- description: Product name
- sourceColumnDataType: STRING
- tags:
- - Products
- - id: products.category
- labels: []
- sourceColumn: category
- title: Category
- description: Category
- sourceColumnDataType: STRING
- tags:
- - Products
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: products
- type: dataSource
- path:
- - demo
- - products
- description: Products
- facts: []
- tags:
- - Products
- dateInstances:
- - granularities:
- - DAY
- - WEEK
- - MONTH
- - QUARTER
- - YEAR
- granularitiesFormatting:
- titleBase: ''
- titlePattern: '%titleBase - %granularityTitle'
- id: date
- title: Date
- description: ''
- tags:
- - Date
- permissions:
- - assignee:
- id: demo2
- type: user
- name: ANALYZE
- - assignee:
- id: demoGroup
- type: userGroup
- name: VIEW
- settings: []
- userDataFilters: []
- - id: demo_west
- name: Demo West
- automations: []
- customApplicationSettings: []
- filterViews: []
- hierarchyPermissions: []
- model:
- analytics:
- analyticalDashboardExtensions:
- - id: campaign
- permissions:
- - assigneeRule:
- type: allWorkspaceUsers
- name: VIEW
- analyticalDashboards: []
- attributeHierarchies: []
- dashboardPlugins: []
- exportDefinitions: []
- filterContexts: []
- metrics: []
- visualizationObjects: []
- memoryItems: []
- ldm:
- datasetExtensions:
- - id: order_lines
- workspaceDataFilterReferences:
- - filterColumn: wdf__state
- filterColumnDataType: STRING
- filterId:
- id: wdf__state
- type: workspaceDataFilter
- datasets: []
- dateInstances: []
- parent:
- id: demo
- type: workspace
- permissions: []
- settings: []
- userDataFilters: []
- - id: demo_west_california
- name: Demo West California
- automations: []
- customApplicationSettings: []
- filterViews: []
- hierarchyPermissions: []
- model:
- analytics:
- analyticalDashboardExtensions: []
- analyticalDashboards: []
- attributeHierarchies: []
- dashboardPlugins: []
- exportDefinitions: []
- filterContexts: []
- metrics: []
- visualizationObjects: []
- memoryItems: []
- ldm:
- datasets: []
- dateInstances: []
- parent:
- id: demo_west
- type: workspace
- permissions: []
- settings: []
- userDataFilters: []
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_get_declarative_user_data_filters.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_get_declarative_user_data_filters.yaml
deleted file mode 100644
index a20cc9882..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_get_declarative_user_data_filters.yaml
+++ /dev/null
@@ -1,98 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces/demo/userDataFilters
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '22'
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- userDataFilters: []
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces/demo/userDataFilters
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '22'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- userDataFilters: []
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_get_declarative_workspace.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_get_declarative_workspace.yaml
deleted file mode 100644
index accb3d5d1..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_get_declarative_workspace.yaml
+++ /dev/null
@@ -1,3474 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces/demo?exclude=ACTIVITY_INFO
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- analytics:
- analyticalDashboardExtensions: []
- analyticalDashboards:
- - content:
- filterContextRef:
- identifier:
- id: campaign_name_filter
- type: filterContext
- layout:
- type: IDashboardLayout
- sections:
- - type: IDashboardLayoutSection
- header:
- title: Spend breakdown and Revenue
- description: The first insight shows a breakdown of spend
- by category and campaign. The second shows revenue per
- $ spend, for each campaign, to demonstrate, how campaigns
- are successful.
- 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
- permissions:
- - assigneeRule:
- type: allWorkspaceUsers
- name: VIEW
- 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
- attributeHierarchies: []
- 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
- exportDefinitions: []
- 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
- memoryItems: []
- 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:
- - aggregatedFacts: []
- attributes:
- - description: Campaign channel id
- id: campaign_channel_id
- labels: []
- sourceColumn: campaign_channel_id
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Campaign channel id
- - description: Category
- id: campaign_channels.category
- labels: []
- sourceColumn: category
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Category
- - description: Type
- id: type
- labels: []
- sourceColumn: type
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Type
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaign_channels
- path:
- - demo
- - campaign_channels
- type: dataSource
- description: Campaign channels
- facts:
- - description: Budget
- id: budget
- sourceColumn: budget
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- title: Budget
- - description: Spend
- id: spend
- sourceColumn: spend
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- title: Spend
- grain:
- - id: campaign_channel_id
- type: attribute
- id: campaign_channels
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- dataType: INT
- target:
- id: campaign_id
- type: attribute
- tags:
- - Campaign channels
- title: Campaign channels
- - aggregatedFacts:
- - description: Budget Agg
- id: budget_agg
- sourceColumn: budget
- sourceColumnDataType: INT
- sourceFactReference:
- operation: SUM
- reference:
- id: budget
- type: fact
- tags:
- - Campaign channels per category
- attributes: []
- description: Campaign channels per categories
- facts: []
- grain: []
- id: campaign_channels_per_category
- precedence: 1
- references:
- - identifier:
- id: campaign_channels
- type: dataset
- multivalue: false
- sources:
- - column: campaign_channel_id
- dataType: STRING
- target:
- id: campaign_channel_id
- type: attribute
- sql:
- dataSourceId: demo-test-ds
- statement: SELECT category, SUM(budget) FROM campaign_channels GROUP
- BY category
- tags:
- - Campaign channels per category
- title: Campaign channels per category
- - aggregatedFacts: []
- attributes:
- - description: Campaign id
- id: campaign_id
- labels: []
- sourceColumn: campaign_id
- sourceColumnDataType: INT
- tags:
- - Campaigns
- title: Campaign id
- - description: Campaign name
- id: campaign_name
- labels: []
- sourceColumn: campaign_name
- sourceColumnDataType: STRING
- tags:
- - Campaigns
- title: Campaign name
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaigns
- path:
- - demo
- - campaigns
- type: dataSource
- description: Campaigns
- facts: []
- grain:
- - id: campaign_id
- type: attribute
- id: campaigns
- references: []
- tags:
- - Campaigns
- title: Campaigns
- - aggregatedFacts: []
- attributes:
- - description: Customer id
- id: customer_id
- labels: []
- sourceColumn: customer_id
- sourceColumnDataType: INT
- tags:
- - Customers
- title: Customer id
- - description: Customer name
- id: customer_name
- labels: []
- sourceColumn: customer_name
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Customer name
- - description: Region
- id: region
- labels: []
- sourceColumn: region
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Region
- - description: State
- id: state
- labels:
- - description: Location
- id: geo__state__location
- sourceColumn: geo__state__location
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Location
- valueType: GEO
- sourceColumn: state
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: State
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: customers
- path:
- - demo
- - customers
- type: dataSource
- description: Customers
- facts: []
- grain:
- - id: customer_id
- type: attribute
- id: customers
- references: []
- tags:
- - Customers
- title: Customers
- - aggregatedFacts: []
- attributes:
- - description: Order id
- id: order_id
- labels: []
- sourceColumn: order_id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order id
- - description: Order line id
- id: order_line_id
- labels: []
- sourceColumn: order_line_id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order line id
- - description: Order status
- id: order_status
- labels: []
- sourceColumn: order_status
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order status
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: order_lines
- path:
- - demo
- - order_lines
- type: dataSource
- description: Order lines
- facts:
- - description: Price
- id: price
- sourceColumn: price
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- title: Price
- - description: Quantity
- id: quantity
- sourceColumn: quantity
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- title: Quantity
- grain:
- - id: order_line_id
- type: attribute
- id: order_lines
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- dataType: INT
- target:
- id: campaign_id
- type: attribute
- - identifier:
- id: customers
- type: dataset
- multivalue: false
- sources:
- - column: customer_id
- dataType: INT
- target:
- id: customer_id
- type: attribute
- - identifier:
- id: date
- type: dataset
- multivalue: false
- sources:
- - column: date
- dataType: DATE
- target:
- id: date
- type: date
- - identifier:
- id: products
- type: dataset
- multivalue: false
- sources:
- - column: product_id
- dataType: INT
- target:
- id: product_id
- type: attribute
- tags:
- - Order lines
- title: Order lines
- workspaceDataFilterColumns:
- - dataType: STRING
- name: wdf__region
- - dataType: STRING
- name: wdf__state
- workspaceDataFilterReferences:
- - filterColumn: wdf__region
- filterColumnDataType: STRING
- filterId:
- id: wdf__region
- type: workspaceDataFilter
- - aggregatedFacts: []
- attributes:
- - description: Product id
- id: product_id
- labels: []
- sourceColumn: product_id
- sourceColumnDataType: INT
- tags:
- - Products
- title: Product id
- - description: Product name
- id: product_name
- labels: []
- sourceColumn: product_name
- sourceColumnDataType: STRING
- tags:
- - Products
- title: Product name
- - description: Category
- id: products.category
- labels: []
- sourceColumn: category
- sourceColumnDataType: STRING
- tags:
- - Products
- title: Category
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: products
- path:
- - demo
- - products
- type: dataSource
- description: Products
- facts: []
- grain:
- - id: product_id
- type: attribute
- id: products
- references: []
- tags:
- - Products
- title: Products
- dateInstances:
- - description: ''
- granularities:
- - DAY
- - WEEK
- - MONTH
- - QUARTER
- - YEAR
- granularitiesFormatting:
- titleBase: ''
- titlePattern: '%titleBase - %granularityTitle'
- id: date
- tags:
- - Date
- title: Date
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces/demo?exclude=ACTIVITY_INFO
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- analytics:
- analyticalDashboardExtensions: []
- analyticalDashboards:
- - content:
- filterContextRef:
- identifier:
- id: campaign_name_filter
- type: filterContext
- layout:
- type: IDashboardLayout
- sections:
- - type: IDashboardLayoutSection
- header:
- title: Spend breakdown and Revenue
- description: The first insight shows a breakdown of spend
- by category and campaign. The second shows revenue per
- $ spend, for each campaign, to demonstrate, how campaigns
- are successful.
- 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
- permissions:
- - assigneeRule:
- type: allWorkspaceUsers
- name: VIEW
- 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
- attributeHierarchies: []
- 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
- exportDefinitions: []
- 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
- memoryItems: []
- 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:
- - aggregatedFacts: []
- attributes:
- - description: Campaign channel id
- id: campaign_channel_id
- labels: []
- sourceColumn: campaign_channel_id
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Campaign channel id
- - description: Category
- id: campaign_channels.category
- labels: []
- sourceColumn: category
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Category
- - description: Type
- id: type
- labels: []
- sourceColumn: type
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Type
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaign_channels
- path:
- - demo
- - campaign_channels
- type: dataSource
- description: Campaign channels
- facts:
- - description: Budget
- id: budget
- sourceColumn: budget
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- title: Budget
- - description: Spend
- id: spend
- sourceColumn: spend
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- title: Spend
- grain:
- - id: campaign_channel_id
- type: attribute
- id: campaign_channels
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- dataType: INT
- target:
- id: campaign_id
- type: attribute
- tags:
- - Campaign channels
- title: Campaign channels
- - aggregatedFacts:
- - description: Budget Agg
- id: budget_agg
- sourceColumn: budget
- sourceColumnDataType: INT
- sourceFactReference:
- operation: SUM
- reference:
- id: budget
- type: fact
- tags:
- - Campaign channels per category
- attributes: []
- description: Campaign channels per categories
- facts: []
- grain: []
- id: campaign_channels_per_category
- precedence: 1
- references:
- - identifier:
- id: campaign_channels
- type: dataset
- multivalue: false
- sources:
- - column: campaign_channel_id
- dataType: STRING
- target:
- id: campaign_channel_id
- type: attribute
- sql:
- dataSourceId: demo-test-ds
- statement: SELECT category, SUM(budget) FROM campaign_channels GROUP
- BY category
- tags:
- - Campaign channels per category
- title: Campaign channels per category
- - aggregatedFacts: []
- attributes:
- - description: Campaign id
- id: campaign_id
- labels: []
- sourceColumn: campaign_id
- sourceColumnDataType: INT
- tags:
- - Campaigns
- title: Campaign id
- - description: Campaign name
- id: campaign_name
- labels: []
- sourceColumn: campaign_name
- sourceColumnDataType: STRING
- tags:
- - Campaigns
- title: Campaign name
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaigns
- path:
- - demo
- - campaigns
- type: dataSource
- description: Campaigns
- facts: []
- grain:
- - id: campaign_id
- type: attribute
- id: campaigns
- references: []
- tags:
- - Campaigns
- title: Campaigns
- - aggregatedFacts: []
- attributes:
- - description: Customer id
- id: customer_id
- labels: []
- sourceColumn: customer_id
- sourceColumnDataType: INT
- tags:
- - Customers
- title: Customer id
- - description: Customer name
- id: customer_name
- labels: []
- sourceColumn: customer_name
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Customer name
- - description: Region
- id: region
- labels: []
- sourceColumn: region
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Region
- - description: State
- id: state
- labels:
- - description: Location
- id: geo__state__location
- sourceColumn: geo__state__location
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Location
- valueType: GEO
- sourceColumn: state
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: State
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: customers
- path:
- - demo
- - customers
- type: dataSource
- description: Customers
- facts: []
- grain:
- - id: customer_id
- type: attribute
- id: customers
- references: []
- tags:
- - Customers
- title: Customers
- - aggregatedFacts: []
- attributes:
- - description: Order id
- id: order_id
- labels: []
- sourceColumn: order_id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order id
- - description: Order line id
- id: order_line_id
- labels: []
- sourceColumn: order_line_id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order line id
- - description: Order status
- id: order_status
- labels: []
- sourceColumn: order_status
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order status
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: order_lines
- path:
- - demo
- - order_lines
- type: dataSource
- description: Order lines
- facts:
- - description: Price
- id: price
- sourceColumn: price
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- title: Price
- - description: Quantity
- id: quantity
- sourceColumn: quantity
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- title: Quantity
- grain:
- - id: order_line_id
- type: attribute
- id: order_lines
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- dataType: INT
- target:
- id: campaign_id
- type: attribute
- - identifier:
- id: customers
- type: dataset
- multivalue: false
- sources:
- - column: customer_id
- dataType: INT
- target:
- id: customer_id
- type: attribute
- - identifier:
- id: date
- type: dataset
- multivalue: false
- sources:
- - column: date
- dataType: DATE
- target:
- id: date
- type: date
- - identifier:
- id: products
- type: dataset
- multivalue: false
- sources:
- - column: product_id
- dataType: INT
- target:
- id: product_id
- type: attribute
- tags:
- - Order lines
- title: Order lines
- workspaceDataFilterColumns:
- - dataType: STRING
- name: wdf__region
- - dataType: STRING
- name: wdf__state
- workspaceDataFilterReferences:
- - filterColumn: wdf__region
- filterColumnDataType: STRING
- filterId:
- id: wdf__region
- type: workspaceDataFilter
- - aggregatedFacts: []
- attributes:
- - description: Product id
- id: product_id
- labels: []
- sourceColumn: product_id
- sourceColumnDataType: INT
- tags:
- - Products
- title: Product id
- - description: Product name
- id: product_name
- labels: []
- sourceColumn: product_name
- sourceColumnDataType: STRING
- tags:
- - Products
- title: Product name
- - description: Category
- id: products.category
- labels: []
- sourceColumn: category
- sourceColumnDataType: STRING
- tags:
- - Products
- title: Category
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: products
- path:
- - demo
- - products
- type: dataSource
- description: Products
- facts: []
- grain:
- - id: product_id
- type: attribute
- id: products
- references: []
- tags:
- - Products
- title: Products
- dateInstances:
- - description: ''
- granularities:
- - DAY
- - WEEK
- - MONTH
- - QUARTER
- - YEAR
- granularitiesFormatting:
- titleBase: ''
- titlePattern: '%titleBase - %granularityTitle'
- id: date
- tags:
- - Date
- title: Date
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_get_declarative_workspace_data_filters.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_get_declarative_workspace_data_filters.yaml
deleted file mode 100644
index d7ec092c4..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_get_declarative_workspace_data_filters.yaml
+++ /dev/null
@@ -1,154 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaceDataFilters
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '603'
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- 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: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaceDataFilters
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '603'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- 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/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_get_declarative_workspaces.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_get_declarative_workspaces.yaml
deleted file mode 100644
index 361653555..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_get_declarative_workspaces.yaml
+++ /dev/null
@@ -1,1861 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces?exclude=ACTIVITY_INFO
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- 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:
- - automations: []
- customApplicationSettings: []
- filterViews: []
- hierarchyPermissions:
- - assignee:
- id: demo2
- type: user
- name: MANAGE
- - assignee:
- id: demoGroup
- type: userGroup
- name: ANALYZE
- id: demo
- model:
- analytics:
- analyticalDashboardExtensions: []
- analyticalDashboards:
- - content:
- filterContextRef:
- identifier:
- id: campaign_name_filter
- type: filterContext
- layout:
- type: IDashboardLayout
- sections:
- - type: IDashboardLayoutSection
- header:
- title: Spend breakdown and Revenue
- description: The first insight shows a breakdown of
- spend by category and campaign. The second shows
- revenue per $ spend, for each campaign, to demonstrate,
- how campaigns are successful.
- 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
- permissions:
- - assigneeRule:
- type: allWorkspaceUsers
- name: VIEW
- 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
- attributeHierarchies: []
- 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
- exportDefinitions: []
- 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
- memoryItems: []
- 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:
- - aggregatedFacts: []
- attributes:
- - description: Campaign channel id
- id: campaign_channel_id
- labels: []
- sourceColumn: campaign_channel_id
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Campaign channel id
- - description: Category
- id: campaign_channels.category
- labels: []
- sourceColumn: category
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Category
- - description: Type
- id: type
- labels: []
- sourceColumn: type
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Type
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaign_channels
- path:
- - demo
- - campaign_channels
- type: dataSource
- description: Campaign channels
- facts:
- - description: Budget
- id: budget
- sourceColumn: budget
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- title: Budget
- - description: Spend
- id: spend
- sourceColumn: spend
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- title: Spend
- grain:
- - id: campaign_channel_id
- type: attribute
- id: campaign_channels
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- dataType: INT
- target:
- id: campaign_id
- type: attribute
- tags:
- - Campaign channels
- title: Campaign channels
- - aggregatedFacts:
- - description: Budget Agg
- id: budget_agg
- sourceColumn: budget
- sourceColumnDataType: INT
- sourceFactReference:
- operation: SUM
- reference:
- id: budget
- type: fact
- tags:
- - Campaign channels per category
- attributes: []
- description: Campaign channels per categories
- facts: []
- grain: []
- id: campaign_channels_per_category
- precedence: 1
- references:
- - identifier:
- id: campaign_channels
- type: dataset
- multivalue: false
- sources:
- - column: campaign_channel_id
- dataType: STRING
- target:
- id: campaign_channel_id
- type: attribute
- sql:
- dataSourceId: demo-test-ds
- statement: SELECT category, SUM(budget) FROM campaign_channels
- GROUP BY category
- tags:
- - Campaign channels per category
- title: Campaign channels per category
- - aggregatedFacts: []
- attributes:
- - description: Campaign id
- id: campaign_id
- labels: []
- sourceColumn: campaign_id
- sourceColumnDataType: INT
- tags:
- - Campaigns
- title: Campaign id
- - description: Campaign name
- id: campaign_name
- labels: []
- sourceColumn: campaign_name
- sourceColumnDataType: STRING
- tags:
- - Campaigns
- title: Campaign name
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaigns
- path:
- - demo
- - campaigns
- type: dataSource
- description: Campaigns
- facts: []
- grain:
- - id: campaign_id
- type: attribute
- id: campaigns
- references: []
- tags:
- - Campaigns
- title: Campaigns
- - aggregatedFacts: []
- attributes:
- - description: Customer id
- id: customer_id
- labels: []
- sourceColumn: customer_id
- sourceColumnDataType: INT
- tags:
- - Customers
- title: Customer id
- - description: Customer name
- id: customer_name
- labels: []
- sourceColumn: customer_name
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Customer name
- - description: Region
- id: region
- labels: []
- sourceColumn: region
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Region
- - description: State
- id: state
- labels:
- - description: Location
- id: geo__state__location
- sourceColumn: geo__state__location
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Location
- valueType: GEO
- sourceColumn: state
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: State
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: customers
- path:
- - demo
- - customers
- type: dataSource
- description: Customers
- facts: []
- grain:
- - id: customer_id
- type: attribute
- id: customers
- references: []
- tags:
- - Customers
- title: Customers
- - aggregatedFacts: []
- attributes:
- - description: Order id
- id: order_id
- labels: []
- sourceColumn: order_id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order id
- - description: Order line id
- id: order_line_id
- labels: []
- sourceColumn: order_line_id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order line id
- - description: Order status
- id: order_status
- labels: []
- sourceColumn: order_status
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order status
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: order_lines
- path:
- - demo
- - order_lines
- type: dataSource
- description: Order lines
- facts:
- - description: Price
- id: price
- sourceColumn: price
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- title: Price
- - description: Quantity
- id: quantity
- sourceColumn: quantity
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- title: Quantity
- grain:
- - id: order_line_id
- type: attribute
- id: order_lines
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- dataType: INT
- target:
- id: campaign_id
- type: attribute
- - identifier:
- id: customers
- type: dataset
- multivalue: false
- sources:
- - column: customer_id
- dataType: INT
- target:
- id: customer_id
- type: attribute
- - identifier:
- id: date
- type: dataset
- multivalue: false
- sources:
- - column: date
- dataType: DATE
- target:
- id: date
- type: date
- - identifier:
- id: products
- type: dataset
- multivalue: false
- sources:
- - column: product_id
- dataType: INT
- target:
- id: product_id
- type: attribute
- tags:
- - Order lines
- title: Order lines
- workspaceDataFilterColumns:
- - dataType: STRING
- name: wdf__region
- - dataType: STRING
- name: wdf__state
- workspaceDataFilterReferences:
- - filterColumn: wdf__region
- filterColumnDataType: STRING
- filterId:
- id: wdf__region
- type: workspaceDataFilter
- - aggregatedFacts: []
- attributes:
- - description: Product id
- id: product_id
- labels: []
- sourceColumn: product_id
- sourceColumnDataType: INT
- tags:
- - Products
- title: Product id
- - description: Product name
- id: product_name
- labels: []
- sourceColumn: product_name
- sourceColumnDataType: STRING
- tags:
- - Products
- title: Product name
- - description: Category
- id: products.category
- labels: []
- sourceColumn: category
- sourceColumnDataType: STRING
- tags:
- - Products
- title: Category
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: products
- path:
- - demo
- - products
- type: dataSource
- description: Products
- facts: []
- grain:
- - id: product_id
- type: attribute
- id: products
- references: []
- tags:
- - Products
- title: Products
- dateInstances:
- - description: ''
- granularities:
- - DAY
- - WEEK
- - MONTH
- - QUARTER
- - 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: []
- userDataFilters: []
- - automations: []
- customApplicationSettings: []
- filterViews: []
- hierarchyPermissions: []
- id: demo_west
- model:
- analytics:
- analyticalDashboardExtensions:
- - id: campaign
- permissions:
- - assigneeRule:
- type: allWorkspaceUsers
- name: VIEW
- analyticalDashboards: []
- attributeHierarchies: []
- dashboardPlugins: []
- exportDefinitions: []
- filterContexts: []
- memoryItems: []
- metrics: []
- visualizationObjects: []
- ldm:
- datasetExtensions:
- - id: order_lines
- workspaceDataFilterReferences:
- - filterColumn: wdf__state
- filterColumnDataType: STRING
- filterId:
- id: wdf__state
- type: workspaceDataFilter
- datasets: []
- dateInstances: []
- name: Demo West
- parent:
- id: demo
- type: workspace
- permissions: []
- settings: []
- userDataFilters: []
- - automations: []
- customApplicationSettings: []
- filterViews: []
- hierarchyPermissions: []
- id: demo_west_california
- model:
- analytics:
- analyticalDashboardExtensions: []
- analyticalDashboards: []
- attributeHierarchies: []
- dashboardPlugins: []
- exportDefinitions: []
- filterContexts: []
- memoryItems: []
- metrics: []
- visualizationObjects: []
- ldm:
- datasets: []
- dateInstances: []
- name: Demo West California
- parent:
- id: demo_west
- type: workspace
- permissions: []
- settings: []
- userDataFilters: []
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_get_declarative_workspaces_snake_case.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_get_declarative_workspaces_snake_case.yaml
deleted file mode 100644
index 361653555..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_get_declarative_workspaces_snake_case.yaml
+++ /dev/null
@@ -1,1861 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces?exclude=ACTIVITY_INFO
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- 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:
- - automations: []
- customApplicationSettings: []
- filterViews: []
- hierarchyPermissions:
- - assignee:
- id: demo2
- type: user
- name: MANAGE
- - assignee:
- id: demoGroup
- type: userGroup
- name: ANALYZE
- id: demo
- model:
- analytics:
- analyticalDashboardExtensions: []
- analyticalDashboards:
- - content:
- filterContextRef:
- identifier:
- id: campaign_name_filter
- type: filterContext
- layout:
- type: IDashboardLayout
- sections:
- - type: IDashboardLayoutSection
- header:
- title: Spend breakdown and Revenue
- description: The first insight shows a breakdown of
- spend by category and campaign. The second shows
- revenue per $ spend, for each campaign, to demonstrate,
- how campaigns are successful.
- 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
- permissions:
- - assigneeRule:
- type: allWorkspaceUsers
- name: VIEW
- 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
- attributeHierarchies: []
- 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
- exportDefinitions: []
- 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
- memoryItems: []
- 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:
- - aggregatedFacts: []
- attributes:
- - description: Campaign channel id
- id: campaign_channel_id
- labels: []
- sourceColumn: campaign_channel_id
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Campaign channel id
- - description: Category
- id: campaign_channels.category
- labels: []
- sourceColumn: category
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Category
- - description: Type
- id: type
- labels: []
- sourceColumn: type
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Type
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaign_channels
- path:
- - demo
- - campaign_channels
- type: dataSource
- description: Campaign channels
- facts:
- - description: Budget
- id: budget
- sourceColumn: budget
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- title: Budget
- - description: Spend
- id: spend
- sourceColumn: spend
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- title: Spend
- grain:
- - id: campaign_channel_id
- type: attribute
- id: campaign_channels
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- dataType: INT
- target:
- id: campaign_id
- type: attribute
- tags:
- - Campaign channels
- title: Campaign channels
- - aggregatedFacts:
- - description: Budget Agg
- id: budget_agg
- sourceColumn: budget
- sourceColumnDataType: INT
- sourceFactReference:
- operation: SUM
- reference:
- id: budget
- type: fact
- tags:
- - Campaign channels per category
- attributes: []
- description: Campaign channels per categories
- facts: []
- grain: []
- id: campaign_channels_per_category
- precedence: 1
- references:
- - identifier:
- id: campaign_channels
- type: dataset
- multivalue: false
- sources:
- - column: campaign_channel_id
- dataType: STRING
- target:
- id: campaign_channel_id
- type: attribute
- sql:
- dataSourceId: demo-test-ds
- statement: SELECT category, SUM(budget) FROM campaign_channels
- GROUP BY category
- tags:
- - Campaign channels per category
- title: Campaign channels per category
- - aggregatedFacts: []
- attributes:
- - description: Campaign id
- id: campaign_id
- labels: []
- sourceColumn: campaign_id
- sourceColumnDataType: INT
- tags:
- - Campaigns
- title: Campaign id
- - description: Campaign name
- id: campaign_name
- labels: []
- sourceColumn: campaign_name
- sourceColumnDataType: STRING
- tags:
- - Campaigns
- title: Campaign name
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaigns
- path:
- - demo
- - campaigns
- type: dataSource
- description: Campaigns
- facts: []
- grain:
- - id: campaign_id
- type: attribute
- id: campaigns
- references: []
- tags:
- - Campaigns
- title: Campaigns
- - aggregatedFacts: []
- attributes:
- - description: Customer id
- id: customer_id
- labels: []
- sourceColumn: customer_id
- sourceColumnDataType: INT
- tags:
- - Customers
- title: Customer id
- - description: Customer name
- id: customer_name
- labels: []
- sourceColumn: customer_name
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Customer name
- - description: Region
- id: region
- labels: []
- sourceColumn: region
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Region
- - description: State
- id: state
- labels:
- - description: Location
- id: geo__state__location
- sourceColumn: geo__state__location
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Location
- valueType: GEO
- sourceColumn: state
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: State
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: customers
- path:
- - demo
- - customers
- type: dataSource
- description: Customers
- facts: []
- grain:
- - id: customer_id
- type: attribute
- id: customers
- references: []
- tags:
- - Customers
- title: Customers
- - aggregatedFacts: []
- attributes:
- - description: Order id
- id: order_id
- labels: []
- sourceColumn: order_id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order id
- - description: Order line id
- id: order_line_id
- labels: []
- sourceColumn: order_line_id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order line id
- - description: Order status
- id: order_status
- labels: []
- sourceColumn: order_status
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order status
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: order_lines
- path:
- - demo
- - order_lines
- type: dataSource
- description: Order lines
- facts:
- - description: Price
- id: price
- sourceColumn: price
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- title: Price
- - description: Quantity
- id: quantity
- sourceColumn: quantity
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- title: Quantity
- grain:
- - id: order_line_id
- type: attribute
- id: order_lines
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- dataType: INT
- target:
- id: campaign_id
- type: attribute
- - identifier:
- id: customers
- type: dataset
- multivalue: false
- sources:
- - column: customer_id
- dataType: INT
- target:
- id: customer_id
- type: attribute
- - identifier:
- id: date
- type: dataset
- multivalue: false
- sources:
- - column: date
- dataType: DATE
- target:
- id: date
- type: date
- - identifier:
- id: products
- type: dataset
- multivalue: false
- sources:
- - column: product_id
- dataType: INT
- target:
- id: product_id
- type: attribute
- tags:
- - Order lines
- title: Order lines
- workspaceDataFilterColumns:
- - dataType: STRING
- name: wdf__region
- - dataType: STRING
- name: wdf__state
- workspaceDataFilterReferences:
- - filterColumn: wdf__region
- filterColumnDataType: STRING
- filterId:
- id: wdf__region
- type: workspaceDataFilter
- - aggregatedFacts: []
- attributes:
- - description: Product id
- id: product_id
- labels: []
- sourceColumn: product_id
- sourceColumnDataType: INT
- tags:
- - Products
- title: Product id
- - description: Product name
- id: product_name
- labels: []
- sourceColumn: product_name
- sourceColumnDataType: STRING
- tags:
- - Products
- title: Product name
- - description: Category
- id: products.category
- labels: []
- sourceColumn: category
- sourceColumnDataType: STRING
- tags:
- - Products
- title: Category
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: products
- path:
- - demo
- - products
- type: dataSource
- description: Products
- facts: []
- grain:
- - id: product_id
- type: attribute
- id: products
- references: []
- tags:
- - Products
- title: Products
- dateInstances:
- - description: ''
- granularities:
- - DAY
- - WEEK
- - MONTH
- - QUARTER
- - 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: []
- userDataFilters: []
- - automations: []
- customApplicationSettings: []
- filterViews: []
- hierarchyPermissions: []
- id: demo_west
- model:
- analytics:
- analyticalDashboardExtensions:
- - id: campaign
- permissions:
- - assigneeRule:
- type: allWorkspaceUsers
- name: VIEW
- analyticalDashboards: []
- attributeHierarchies: []
- dashboardPlugins: []
- exportDefinitions: []
- filterContexts: []
- memoryItems: []
- metrics: []
- visualizationObjects: []
- ldm:
- datasetExtensions:
- - id: order_lines
- workspaceDataFilterReferences:
- - filterColumn: wdf__state
- filterColumnDataType: STRING
- filterId:
- id: wdf__state
- type: workspaceDataFilter
- datasets: []
- dateInstances: []
- name: Demo West
- parent:
- id: demo
- type: workspace
- permissions: []
- settings: []
- userDataFilters: []
- - automations: []
- customApplicationSettings: []
- filterViews: []
- hierarchyPermissions: []
- id: demo_west_california
- model:
- analytics:
- analyticalDashboardExtensions: []
- analyticalDashboards: []
- attributeHierarchies: []
- dashboardPlugins: []
- exportDefinitions: []
- filterContexts: []
- memoryItems: []
- metrics: []
- visualizationObjects: []
- ldm:
- datasets: []
- dateInstances: []
- name: Demo West California
- parent:
- id: demo_west
- type: workspace
- permissions: []
- settings: []
- userDataFilters: []
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_get_workspace.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_get_workspace.yaml
deleted file mode 100644
index e16e14488..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_get_workspace.yaml
+++ /dev/null
@@ -1,114 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo?include=workspaces
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - max-age=5, private
- Connection:
- - keep-alive
- Content-Length:
- - '199'
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- name: Demo
- id: demo
- type: workspace
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo?include=workspaces
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo_west?include=workspaces
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - max-age=5, private
- Connection:
- - keep-alive
- Content-Length:
- - '468'
- Content-Type:
- - application/json
- DATE: *id001
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- 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: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo
- type: workspace
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo_west?include=workspaces
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_load_and_put_declarative_user_data_filters.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_load_and_put_declarative_user_data_filters.yaml
deleted file mode 100644
index cdf4a1f4a..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_load_and_put_declarative_user_data_filters.yaml
+++ /dev/null
@@ -1,2191 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces/demo/userDataFilters
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '22'
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- userDataFilters: []
- - request:
- method: PUT
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces/demo/userDataFilters
- body:
- userDataFilters: []
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces/demo/userDataFilters
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '22'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- userDataFilters: []
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/organization
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 302
- message: Found
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '0'
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Location:
- - /api/v1/entities/admin/organizations/python-sdk-dex
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/admin/organizations/python-sdk-dex
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '564'
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- name: Python SDK Dex
- hostname: python-sdk-dex.dev-latest.stg11.panther.intgdc.com
- allowedOrigins: []
- earlyAccess: enableAlerting
- earlyAccessValues:
- - enableAlerting
- - enableSmtp
- - enablePreAggregationDatasets
- - enableScheduling
- - enableCompositeGrain
- - enableUserManagement
- - enableRawExports
- - enableFlexibleDashboardLayout
- region: ''
- dataCenter: ''
- id: python-sdk-dex
- type: organization
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/admin/organizations/python-sdk-dex
- - request:
- method: PUT
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces/demo/userDataFilters
- body:
- userDataFilters: []
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces/demo/userDataFilters
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '22'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- userDataFilters: []
- - request:
- method: PUT
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces
- body:
- 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:
- - id: demo
- name: Demo
- automations: []
- customApplicationSettings: []
- filterViews: []
- hierarchyPermissions:
- - assignee:
- id: demo2
- type: user
- name: MANAGE
- - assignee:
- id: demoGroup
- type: userGroup
- name: ANALYZE
- model:
- analytics:
- analyticalDashboardExtensions: []
- analyticalDashboards:
- - content:
- filterContextRef:
- identifier:
- id: campaign_name_filter
- type: filterContext
- layout:
- type: IDashboardLayout
- sections:
- - type: IDashboardLayoutSection
- header:
- title: Spend breakdown and Revenue
- description: The first insight shows a breakdown of
- spend by category and campaign. The second shows revenue
- per $ spend, for each campaign, to demonstrate, how
- campaigns are successful.
- 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: ''
- permissions:
- - assigneeRule:
- type: allWorkspaceUsers
- name: VIEW
- - 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: ''
- attributeHierarchies: []
- 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
- exportDefinitions: []
- 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
- memoryItems: []
- ldm:
- datasets:
- - grain:
- - id: campaign_channel_id
- type: attribute
- id: campaign_channels
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- target:
- id: campaign_id
- type: attribute
- dataType: INT
- title: Campaign channels
- aggregatedFacts: []
- attributes:
- - id: campaign_channel_id
- labels: []
- sourceColumn: campaign_channel_id
- title: Campaign channel id
- description: Campaign channel id
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- - id: campaign_channels.category
- labels: []
- sourceColumn: category
- title: Category
- description: Category
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- - id: type
- labels: []
- sourceColumn: type
- title: Type
- description: Type
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaign_channels
- type: dataSource
- path:
- - demo
- - campaign_channels
- description: Campaign channels
- facts:
- - id: budget
- sourceColumn: budget
- title: Budget
- description: Budget
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- - id: spend
- sourceColumn: spend
- title: Spend
- description: Spend
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- tags:
- - Campaign channels
- - grain: []
- id: campaign_channels_per_category
- references:
- - identifier:
- id: campaign_channels
- type: dataset
- multivalue: false
- sources:
- - column: campaign_channel_id
- target:
- id: campaign_channel_id
- type: attribute
- dataType: STRING
- title: Campaign channels per category
- aggregatedFacts:
- - id: budget_agg
- sourceColumn: budget
- sourceFactReference:
- operation: SUM
- reference:
- id: budget
- type: fact
- description: Budget Agg
- sourceColumnDataType: INT
- tags:
- - Campaign channels per category
- attributes: []
- description: Campaign channels per categories
- facts: []
- precedence: 1
- sql:
- dataSourceId: demo-test-ds
- statement: SELECT category, SUM(budget) FROM campaign_channels
- GROUP BY category
- tags:
- - Campaign channels per category
- - grain:
- - id: campaign_id
- type: attribute
- id: campaigns
- references: []
- title: Campaigns
- aggregatedFacts: []
- attributes:
- - id: campaign_id
- labels: []
- sourceColumn: campaign_id
- title: Campaign id
- description: Campaign id
- sourceColumnDataType: INT
- tags:
- - Campaigns
- - id: campaign_name
- labels: []
- sourceColumn: campaign_name
- title: Campaign name
- description: Campaign name
- sourceColumnDataType: STRING
- tags:
- - Campaigns
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaigns
- type: dataSource
- path:
- - demo
- - campaigns
- description: Campaigns
- facts: []
- tags:
- - Campaigns
- - grain:
- - id: customer_id
- type: attribute
- id: customers
- references: []
- title: Customers
- aggregatedFacts: []
- attributes:
- - id: customer_id
- labels: []
- sourceColumn: customer_id
- title: Customer id
- description: Customer id
- sourceColumnDataType: INT
- tags:
- - Customers
- - id: customer_name
- labels: []
- sourceColumn: customer_name
- title: Customer name
- description: Customer name
- sourceColumnDataType: STRING
- tags:
- - Customers
- - id: region
- labels: []
- sourceColumn: region
- title: Region
- description: Region
- sourceColumnDataType: STRING
- tags:
- - Customers
- - id: state
- labels:
- - id: geo__state__location
- sourceColumn: geo__state__location
- title: Location
- description: Location
- sourceColumnDataType: STRING
- tags:
- - Customers
- valueType: GEO
- sourceColumn: state
- title: State
- description: State
- sourceColumnDataType: STRING
- tags:
- - Customers
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: customers
- type: dataSource
- path:
- - demo
- - customers
- description: Customers
- facts: []
- tags:
- - Customers
- - grain:
- - id: order_line_id
- type: attribute
- id: order_lines
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- target:
- id: campaign_id
- type: attribute
- dataType: INT
- - identifier:
- id: customers
- type: dataset
- multivalue: false
- sources:
- - column: customer_id
- target:
- id: customer_id
- type: attribute
- dataType: INT
- - identifier:
- id: date
- type: dataset
- multivalue: false
- sources:
- - column: date
- target:
- id: date
- type: date
- dataType: DATE
- - identifier:
- id: products
- type: dataset
- multivalue: false
- sources:
- - column: product_id
- target:
- id: product_id
- type: attribute
- dataType: INT
- title: Order lines
- aggregatedFacts: []
- attributes:
- - id: order_id
- labels: []
- sourceColumn: order_id
- title: Order id
- description: Order id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- - id: order_line_id
- labels: []
- sourceColumn: order_line_id
- title: Order line id
- description: Order line id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- - id: order_status
- labels: []
- sourceColumn: order_status
- title: Order status
- description: Order status
- sourceColumnDataType: STRING
- tags:
- - Order lines
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: order_lines
- type: dataSource
- path:
- - demo
- - order_lines
- description: Order lines
- facts:
- - id: price
- sourceColumn: price
- title: Price
- description: Price
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- - id: quantity
- sourceColumn: quantity
- title: Quantity
- description: Quantity
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- tags:
- - Order lines
- workspaceDataFilterColumns:
- - dataType: STRING
- name: wdf__region
- - dataType: STRING
- name: wdf__state
- workspaceDataFilterReferences:
- - filterColumn: wdf__region
- filterColumnDataType: STRING
- filterId:
- id: wdf__region
- type: workspaceDataFilter
- - grain:
- - id: product_id
- type: attribute
- id: products
- references: []
- title: Products
- aggregatedFacts: []
- attributes:
- - id: product_id
- labels: []
- sourceColumn: product_id
- title: Product id
- description: Product id
- sourceColumnDataType: INT
- tags:
- - Products
- - id: product_name
- labels: []
- sourceColumn: product_name
- title: Product name
- description: Product name
- sourceColumnDataType: STRING
- tags:
- - Products
- - id: products.category
- labels: []
- sourceColumn: category
- title: Category
- description: Category
- sourceColumnDataType: STRING
- tags:
- - Products
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: products
- type: dataSource
- path:
- - demo
- - products
- description: Products
- facts: []
- tags:
- - Products
- dateInstances:
- - granularities:
- - DAY
- - WEEK
- - MONTH
- - QUARTER
- - YEAR
- granularitiesFormatting:
- titleBase: ''
- titlePattern: '%titleBase - %granularityTitle'
- id: date
- title: Date
- description: ''
- tags:
- - Date
- permissions:
- - assignee:
- id: demo2
- type: user
- name: ANALYZE
- - assignee:
- id: demoGroup
- type: userGroup
- name: VIEW
- settings: []
- userDataFilters: []
- - id: demo_west
- name: Demo West
- automations: []
- customApplicationSettings: []
- filterViews: []
- hierarchyPermissions: []
- model:
- analytics:
- analyticalDashboardExtensions:
- - id: campaign
- permissions:
- - assigneeRule:
- type: allWorkspaceUsers
- name: VIEW
- analyticalDashboards: []
- attributeHierarchies: []
- dashboardPlugins: []
- exportDefinitions: []
- filterContexts: []
- metrics: []
- visualizationObjects: []
- memoryItems: []
- ldm:
- datasetExtensions:
- - id: order_lines
- workspaceDataFilterReferences:
- - filterColumn: wdf__state
- filterColumnDataType: STRING
- filterId:
- id: wdf__state
- type: workspaceDataFilter
- datasets: []
- dateInstances: []
- parent:
- id: demo
- type: workspace
- permissions: []
- settings: []
- userDataFilters: []
- - id: demo_west_california
- name: Demo West California
- automations: []
- customApplicationSettings: []
- filterViews: []
- hierarchyPermissions: []
- model:
- analytics:
- analyticalDashboardExtensions: []
- analyticalDashboards: []
- attributeHierarchies: []
- dashboardPlugins: []
- exportDefinitions: []
- filterContexts: []
- metrics: []
- visualizationObjects: []
- memoryItems: []
- ldm:
- datasets: []
- dateInstances: []
- parent:
- id: demo_west
- type: workspace
- permissions: []
- settings: []
- userDataFilters: []
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_load_and_put_declarative_workspace.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_load_and_put_declarative_workspace.yaml
deleted file mode 100644
index 23f2fc020..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_load_and_put_declarative_workspace.yaml
+++ /dev/null
@@ -1,7259 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces/demo?exclude=ACTIVITY_INFO
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- analytics:
- analyticalDashboardExtensions: []
- analyticalDashboards:
- - content:
- filterContextRef:
- identifier:
- id: campaign_name_filter
- type: filterContext
- layout:
- type: IDashboardLayout
- sections:
- - type: IDashboardLayoutSection
- header:
- title: Spend breakdown and Revenue
- description: The first insight shows a breakdown of spend
- by category and campaign. The second shows revenue per
- $ spend, for each campaign, to demonstrate, how campaigns
- are successful.
- 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
- permissions:
- - assigneeRule:
- type: allWorkspaceUsers
- name: VIEW
- 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
- attributeHierarchies: []
- 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
- exportDefinitions: []
- 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
- memoryItems: []
- 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:
- - aggregatedFacts: []
- attributes:
- - description: Campaign channel id
- id: campaign_channel_id
- labels: []
- sourceColumn: campaign_channel_id
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Campaign channel id
- - description: Category
- id: campaign_channels.category
- labels: []
- sourceColumn: category
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Category
- - description: Type
- id: type
- labels: []
- sourceColumn: type
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Type
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaign_channels
- path:
- - demo
- - campaign_channels
- type: dataSource
- description: Campaign channels
- facts:
- - description: Budget
- id: budget
- sourceColumn: budget
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- title: Budget
- - description: Spend
- id: spend
- sourceColumn: spend
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- title: Spend
- grain:
- - id: campaign_channel_id
- type: attribute
- id: campaign_channels
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- dataType: INT
- target:
- id: campaign_id
- type: attribute
- tags:
- - Campaign channels
- title: Campaign channels
- - aggregatedFacts:
- - description: Budget Agg
- id: budget_agg
- sourceColumn: budget
- sourceColumnDataType: INT
- sourceFactReference:
- operation: SUM
- reference:
- id: budget
- type: fact
- tags:
- - Campaign channels per category
- attributes: []
- description: Campaign channels per categories
- facts: []
- grain: []
- id: campaign_channels_per_category
- precedence: 1
- references:
- - identifier:
- id: campaign_channels
- type: dataset
- multivalue: false
- sources:
- - column: campaign_channel_id
- dataType: STRING
- target:
- id: campaign_channel_id
- type: attribute
- sql:
- dataSourceId: demo-test-ds
- statement: SELECT category, SUM(budget) FROM campaign_channels GROUP
- BY category
- tags:
- - Campaign channels per category
- title: Campaign channels per category
- - aggregatedFacts: []
- attributes:
- - description: Campaign id
- id: campaign_id
- labels: []
- sourceColumn: campaign_id
- sourceColumnDataType: INT
- tags:
- - Campaigns
- title: Campaign id
- - description: Campaign name
- id: campaign_name
- labels: []
- sourceColumn: campaign_name
- sourceColumnDataType: STRING
- tags:
- - Campaigns
- title: Campaign name
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaigns
- path:
- - demo
- - campaigns
- type: dataSource
- description: Campaigns
- facts: []
- grain:
- - id: campaign_id
- type: attribute
- id: campaigns
- references: []
- tags:
- - Campaigns
- title: Campaigns
- - aggregatedFacts: []
- attributes:
- - description: Customer id
- id: customer_id
- labels: []
- sourceColumn: customer_id
- sourceColumnDataType: INT
- tags:
- - Customers
- title: Customer id
- - description: Customer name
- id: customer_name
- labels: []
- sourceColumn: customer_name
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Customer name
- - description: Region
- id: region
- labels: []
- sourceColumn: region
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Region
- - description: State
- id: state
- labels:
- - description: Location
- id: geo__state__location
- sourceColumn: geo__state__location
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Location
- valueType: GEO
- sourceColumn: state
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: State
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: customers
- path:
- - demo
- - customers
- type: dataSource
- description: Customers
- facts: []
- grain:
- - id: customer_id
- type: attribute
- id: customers
- references: []
- tags:
- - Customers
- title: Customers
- - aggregatedFacts: []
- attributes:
- - description: Order id
- id: order_id
- labels: []
- sourceColumn: order_id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order id
- - description: Order line id
- id: order_line_id
- labels: []
- sourceColumn: order_line_id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order line id
- - description: Order status
- id: order_status
- labels: []
- sourceColumn: order_status
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order status
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: order_lines
- path:
- - demo
- - order_lines
- type: dataSource
- description: Order lines
- facts:
- - description: Price
- id: price
- sourceColumn: price
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- title: Price
- - description: Quantity
- id: quantity
- sourceColumn: quantity
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- title: Quantity
- grain:
- - id: order_line_id
- type: attribute
- id: order_lines
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- dataType: INT
- target:
- id: campaign_id
- type: attribute
- - identifier:
- id: customers
- type: dataset
- multivalue: false
- sources:
- - column: customer_id
- dataType: INT
- target:
- id: customer_id
- type: attribute
- - identifier:
- id: date
- type: dataset
- multivalue: false
- sources:
- - column: date
- dataType: DATE
- target:
- id: date
- type: date
- - identifier:
- id: products
- type: dataset
- multivalue: false
- sources:
- - column: product_id
- dataType: INT
- target:
- id: product_id
- type: attribute
- tags:
- - Order lines
- title: Order lines
- workspaceDataFilterColumns:
- - dataType: STRING
- name: wdf__region
- - dataType: STRING
- name: wdf__state
- workspaceDataFilterReferences:
- - filterColumn: wdf__region
- filterColumnDataType: STRING
- filterId:
- id: wdf__region
- type: workspaceDataFilter
- - aggregatedFacts: []
- attributes:
- - description: Product id
- id: product_id
- labels: []
- sourceColumn: product_id
- sourceColumnDataType: INT
- tags:
- - Products
- title: Product id
- - description: Product name
- id: product_name
- labels: []
- sourceColumn: product_name
- sourceColumnDataType: STRING
- tags:
- - Products
- title: Product name
- - description: Category
- id: products.category
- labels: []
- sourceColumn: category
- sourceColumnDataType: STRING
- tags:
- - Products
- title: Category
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: products
- path:
- - demo
- - products
- type: dataSource
- description: Products
- facts: []
- grain:
- - id: product_id
- type: attribute
- id: products
- references: []
- tags:
- - Products
- title: Products
- dateInstances:
- - description: ''
- granularities:
- - DAY
- - WEEK
- - MONTH
- - QUARTER
- - YEAR
- granularitiesFormatting:
- titleBase: ''
- titlePattern: '%titleBase - %granularityTitle'
- id: date
- tags:
- - Date
- title: Date
- - request:
- method: PUT
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces/demo
- body: {}
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces/demo
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '264'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- analytics:
- analyticalDashboardExtensions: []
- analyticalDashboards: []
- attributeHierarchies: []
- dashboardPlugins: []
- exportDefinitions: []
- filterContexts: []
- memoryItems: []
- metrics: []
- visualizationObjects: []
- ldm:
- datasets: []
- dateInstances: []
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/organization
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 302
- message: Found
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '0'
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Location:
- - /api/v1/entities/admin/organizations/python-sdk-dex
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/admin/organizations/python-sdk-dex
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '564'
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- name: Python SDK Dex
- hostname: python-sdk-dex.dev-latest.stg11.panther.intgdc.com
- allowedOrigins: []
- earlyAccess: enableAlerting
- earlyAccessValues:
- - enableAlerting
- - enableSmtp
- - enablePreAggregationDatasets
- - enableScheduling
- - enableCompositeGrain
- - enableUserManagement
- - enableRawExports
- - enableFlexibleDashboardLayout
- region: ''
- dataCenter: ''
- id: python-sdk-dex
- type: organization
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/admin/organizations/python-sdk-dex
- - request:
- method: PUT
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/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
- sources:
- - column: campaign_id
- target:
- id: campaign_id
- type: attribute
- dataType: INT
- title: Campaign channels
- description: Campaign channels
- attributes:
- - id: campaign_channel_id
- labels: []
- sourceColumn: campaign_channel_id
- title: Campaign channel id
- sourceColumnDataType: STRING
- description: Campaign channel id
- tags:
- - Campaign channels
- - id: campaign_channels.category
- labels: []
- sourceColumn: category
- title: Category
- sourceColumnDataType: STRING
- description: Category
- tags:
- - Campaign channels
- - id: type
- labels: []
- sourceColumn: type
- title: Type
- sourceColumnDataType: STRING
- description: Type
- tags:
- - Campaign channels
- facts:
- - id: budget
- sourceColumn: budget
- title: Budget
- sourceColumnDataType: NUMERIC
- description: Budget
- tags:
- - Campaign channels
- - id: spend
- sourceColumn: spend
- title: Spend
- sourceColumnDataType: NUMERIC
- description: Spend
- tags:
- - Campaign channels
- aggregatedFacts: []
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaign_channels
- type: dataSource
- path:
- - demo
- - campaign_channels
- tags:
- - Campaign channels
- - grain: []
- id: campaign_channels_per_category
- references:
- - identifier:
- id: campaign_channels
- type: dataset
- multivalue: false
- sources:
- - column: campaign_channel_id
- target:
- id: campaign_channel_id
- type: attribute
- dataType: STRING
- title: Campaign channels per category
- description: Campaign channels per categories
- attributes: []
- facts: []
- aggregatedFacts:
- - id: budget_agg
- sourceColumn: budget
- sourceFactReference:
- operation: SUM
- reference:
- id: budget
- type: fact
- sourceColumnDataType: INT
- description: Budget Agg
- tags:
- - Campaign channels per category
- precedence: 1
- sql:
- dataSourceId: demo-test-ds
- statement: SELECT category, SUM(budget) FROM campaign_channels GROUP
- BY category
- tags:
- - Campaign channels per category
- - grain:
- - id: campaign_id
- type: attribute
- id: campaigns
- references: []
- title: Campaigns
- description: Campaigns
- attributes:
- - id: campaign_id
- labels: []
- sourceColumn: campaign_id
- title: Campaign id
- sourceColumnDataType: INT
- description: Campaign id
- tags:
- - Campaigns
- - id: campaign_name
- labels: []
- sourceColumn: campaign_name
- title: Campaign name
- sourceColumnDataType: STRING
- description: Campaign name
- tags:
- - Campaigns
- facts: []
- aggregatedFacts: []
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaigns
- type: dataSource
- path:
- - demo
- - campaigns
- 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
- sourceColumnDataType: INT
- description: Customer id
- tags:
- - Customers
- - id: customer_name
- labels: []
- sourceColumn: customer_name
- title: Customer name
- sourceColumnDataType: STRING
- description: Customer name
- tags:
- - Customers
- - id: region
- labels: []
- sourceColumn: region
- title: Region
- sourceColumnDataType: STRING
- description: Region
- tags:
- - Customers
- - id: state
- labels:
- - id: geo__state__location
- sourceColumn: geo__state__location
- title: Location
- sourceColumnDataType: STRING
- description: Location
- tags:
- - Customers
- valueType: GEO
- sourceColumn: state
- title: State
- sourceColumnDataType: STRING
- description: State
- tags:
- - Customers
- facts: []
- aggregatedFacts: []
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: customers
- type: dataSource
- path:
- - demo
- - customers
- tags:
- - Customers
- - grain:
- - id: order_line_id
- type: attribute
- id: order_lines
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- target:
- id: campaign_id
- type: attribute
- dataType: INT
- - identifier:
- id: customers
- type: dataset
- multivalue: false
- sources:
- - column: customer_id
- target:
- id: customer_id
- type: attribute
- dataType: INT
- - identifier:
- id: date
- type: dataset
- multivalue: false
- sources:
- - column: date
- target:
- id: date
- type: date
- dataType: DATE
- - identifier:
- id: products
- type: dataset
- multivalue: false
- sources:
- - column: product_id
- target:
- id: product_id
- type: attribute
- dataType: INT
- title: Order lines
- description: Order lines
- attributes:
- - id: order_id
- labels: []
- sourceColumn: order_id
- title: Order id
- sourceColumnDataType: STRING
- description: Order id
- tags:
- - Order lines
- - id: order_line_id
- labels: []
- sourceColumn: order_line_id
- title: Order line id
- sourceColumnDataType: STRING
- description: Order line id
- tags:
- - Order lines
- - id: order_status
- labels: []
- sourceColumn: order_status
- title: Order status
- sourceColumnDataType: STRING
- description: Order status
- tags:
- - Order lines
- facts:
- - id: price
- sourceColumn: price
- title: Price
- sourceColumnDataType: NUMERIC
- description: Price
- tags:
- - Order lines
- - id: quantity
- sourceColumn: quantity
- title: Quantity
- sourceColumnDataType: NUMERIC
- description: Quantity
- tags:
- - Order lines
- aggregatedFacts: []
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: order_lines
- type: dataSource
- path:
- - demo
- - order_lines
- tags:
- - Order lines
- workspaceDataFilterColumns:
- - dataType: STRING
- name: wdf__region
- - dataType: STRING
- name: wdf__state
- workspaceDataFilterReferences:
- - filterColumn: wdf__region
- filterColumnDataType: STRING
- filterId:
- id: wdf__region
- type: workspaceDataFilter
- - grain:
- - id: product_id
- type: attribute
- id: products
- references: []
- title: Products
- description: Products
- attributes:
- - id: product_id
- labels: []
- sourceColumn: product_id
- title: Product id
- sourceColumnDataType: INT
- description: Product id
- tags:
- - Products
- - id: product_name
- labels: []
- sourceColumn: product_name
- title: Product name
- sourceColumnDataType: STRING
- description: Product name
- tags:
- - Products
- - id: products.category
- labels: []
- sourceColumn: category
- title: Category
- sourceColumnDataType: STRING
- description: Category
- tags:
- - Products
- facts: []
- aggregatedFacts: []
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: products
- type: dataSource
- path:
- - demo
- - products
- tags:
- - Products
- dateInstances:
- - granularities:
- - DAY
- - WEEK
- - MONTH
- - QUARTER
- - 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:
- - header:
- description: The first insight shows a breakdown of spend
- by category and campaign. The second shows revenue per $
- spend, for each campaign, to demonstrate, how campaigns
- are successful.
- title: Spend breakdown and Revenue
- 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: ''
- permissions:
- - name: VIEW
- assigneeRule:
- type: allWorkspaceUsers
- - 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: ''
- analyticalDashboardExtensions: []
- attributeHierarchies: []
- 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
- exportDefinitions: []
- memoryItems: []
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces/demo?exclude=ACTIVITY_INFO
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- analytics:
- analyticalDashboardExtensions: []
- analyticalDashboards:
- - content:
- filterContextRef:
- identifier:
- id: campaign_name_filter
- type: filterContext
- layout:
- sections:
- - header:
- description: The first insight shows a breakdown of spend
- by category and campaign. The second shows revenue per
- $ spend, for each campaign, to demonstrate, how campaigns
- are successful.
- title: Spend breakdown and Revenue
- 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
- permissions:
- - assigneeRule:
- type: allWorkspaceUsers
- name: VIEW
- 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
- attributeHierarchies: []
- 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
- exportDefinitions: []
- 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
- memoryItems: []
- 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:
- - aggregatedFacts: []
- attributes:
- - description: Campaign channel id
- id: campaign_channel_id
- labels: []
- sourceColumn: campaign_channel_id
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Campaign channel id
- - description: Category
- id: campaign_channels.category
- labels: []
- sourceColumn: category
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Category
- - description: Type
- id: type
- labels: []
- sourceColumn: type
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Type
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaign_channels
- path:
- - demo
- - campaign_channels
- type: dataSource
- description: Campaign channels
- facts:
- - description: Budget
- id: budget
- sourceColumn: budget
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- title: Budget
- - description: Spend
- id: spend
- sourceColumn: spend
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- title: Spend
- grain:
- - id: campaign_channel_id
- type: attribute
- id: campaign_channels
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- dataType: INT
- target:
- id: campaign_id
- type: attribute
- tags:
- - Campaign channels
- title: Campaign channels
- - aggregatedFacts:
- - description: Budget Agg
- id: budget_agg
- sourceColumn: budget
- sourceColumnDataType: INT
- sourceFactReference:
- operation: SUM
- reference:
- id: budget
- type: fact
- tags:
- - Campaign channels per category
- attributes: []
- description: Campaign channels per categories
- facts: []
- grain: []
- id: campaign_channels_per_category
- precedence: 1
- references:
- - identifier:
- id: campaign_channels
- type: dataset
- multivalue: false
- sources:
- - column: campaign_channel_id
- dataType: STRING
- target:
- id: campaign_channel_id
- type: attribute
- sql:
- dataSourceId: demo-test-ds
- statement: SELECT category, SUM(budget) FROM campaign_channels GROUP
- BY category
- tags:
- - Campaign channels per category
- title: Campaign channels per category
- - aggregatedFacts: []
- attributes:
- - description: Campaign id
- id: campaign_id
- labels: []
- sourceColumn: campaign_id
- sourceColumnDataType: INT
- tags:
- - Campaigns
- title: Campaign id
- - description: Campaign name
- id: campaign_name
- labels: []
- sourceColumn: campaign_name
- sourceColumnDataType: STRING
- tags:
- - Campaigns
- title: Campaign name
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaigns
- path:
- - demo
- - campaigns
- type: dataSource
- description: Campaigns
- facts: []
- grain:
- - id: campaign_id
- type: attribute
- id: campaigns
- references: []
- tags:
- - Campaigns
- title: Campaigns
- - aggregatedFacts: []
- attributes:
- - description: Customer id
- id: customer_id
- labels: []
- sourceColumn: customer_id
- sourceColumnDataType: INT
- tags:
- - Customers
- title: Customer id
- - description: Customer name
- id: customer_name
- labels: []
- sourceColumn: customer_name
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Customer name
- - description: Region
- id: region
- labels: []
- sourceColumn: region
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Region
- - description: State
- id: state
- labels:
- - description: Location
- id: geo__state__location
- sourceColumn: geo__state__location
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Location
- valueType: GEO
- sourceColumn: state
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: State
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: customers
- path:
- - demo
- - customers
- type: dataSource
- description: Customers
- facts: []
- grain:
- - id: customer_id
- type: attribute
- id: customers
- references: []
- tags:
- - Customers
- title: Customers
- - aggregatedFacts: []
- attributes:
- - description: Order id
- id: order_id
- labels: []
- sourceColumn: order_id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order id
- - description: Order line id
- id: order_line_id
- labels: []
- sourceColumn: order_line_id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order line id
- - description: Order status
- id: order_status
- labels: []
- sourceColumn: order_status
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order status
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: order_lines
- path:
- - demo
- - order_lines
- type: dataSource
- description: Order lines
- facts:
- - description: Price
- id: price
- sourceColumn: price
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- title: Price
- - description: Quantity
- id: quantity
- sourceColumn: quantity
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- title: Quantity
- grain:
- - id: order_line_id
- type: attribute
- id: order_lines
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- dataType: INT
- target:
- id: campaign_id
- type: attribute
- - identifier:
- id: customers
- type: dataset
- multivalue: false
- sources:
- - column: customer_id
- dataType: INT
- target:
- id: customer_id
- type: attribute
- - identifier:
- id: date
- type: dataset
- multivalue: false
- sources:
- - column: date
- dataType: DATE
- target:
- id: date
- type: date
- - identifier:
- id: products
- type: dataset
- multivalue: false
- sources:
- - column: product_id
- dataType: INT
- target:
- id: product_id
- type: attribute
- tags:
- - Order lines
- title: Order lines
- workspaceDataFilterColumns:
- - dataType: STRING
- name: wdf__region
- - dataType: STRING
- name: wdf__state
- workspaceDataFilterReferences:
- - filterColumn: wdf__region
- filterColumnDataType: STRING
- filterId:
- id: wdf__region
- type: workspaceDataFilter
- - aggregatedFacts: []
- attributes:
- - description: Product id
- id: product_id
- labels: []
- sourceColumn: product_id
- sourceColumnDataType: INT
- tags:
- - Products
- title: Product id
- - description: Product name
- id: product_name
- labels: []
- sourceColumn: product_name
- sourceColumnDataType: STRING
- tags:
- - Products
- title: Product name
- - description: Category
- id: products.category
- labels: []
- sourceColumn: category
- sourceColumnDataType: STRING
- tags:
- - Products
- title: Category
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: products
- path:
- - demo
- - products
- type: dataSource
- description: Products
- facts: []
- grain:
- - id: product_id
- type: attribute
- id: products
- references: []
- tags:
- - Products
- title: Products
- dateInstances:
- - description: ''
- granularities:
- - DAY
- - WEEK
- - MONTH
- - QUARTER
- - YEAR
- granularitiesFormatting:
- titleBase: ''
- titlePattern: '%titleBase - %granularityTitle'
- id: date
- tags:
- - Date
- title: Date
- - request:
- method: PUT
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces
- body:
- 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:
- - id: demo
- name: Demo
- automations: []
- customApplicationSettings: []
- filterViews: []
- hierarchyPermissions:
- - assignee:
- id: demo2
- type: user
- name: MANAGE
- - assignee:
- id: demoGroup
- type: userGroup
- name: ANALYZE
- model:
- analytics:
- analyticalDashboardExtensions: []
- analyticalDashboards:
- - content:
- filterContextRef:
- identifier:
- id: campaign_name_filter
- type: filterContext
- layout:
- type: IDashboardLayout
- sections:
- - type: IDashboardLayoutSection
- header:
- title: Spend breakdown and Revenue
- description: The first insight shows a breakdown of
- spend by category and campaign. The second shows revenue
- per $ spend, for each campaign, to demonstrate, how
- campaigns are successful.
- 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: ''
- permissions:
- - assigneeRule:
- type: allWorkspaceUsers
- name: VIEW
- - 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: ''
- attributeHierarchies: []
- 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
- exportDefinitions: []
- 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
- memoryItems: []
- ldm:
- datasets:
- - grain:
- - id: campaign_channel_id
- type: attribute
- id: campaign_channels
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- target:
- id: campaign_id
- type: attribute
- dataType: INT
- title: Campaign channels
- aggregatedFacts: []
- attributes:
- - id: campaign_channel_id
- labels: []
- sourceColumn: campaign_channel_id
- title: Campaign channel id
- description: Campaign channel id
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- - id: campaign_channels.category
- labels: []
- sourceColumn: category
- title: Category
- description: Category
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- - id: type
- labels: []
- sourceColumn: type
- title: Type
- description: Type
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaign_channels
- type: dataSource
- path:
- - demo
- - campaign_channels
- description: Campaign channels
- facts:
- - id: budget
- sourceColumn: budget
- title: Budget
- description: Budget
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- - id: spend
- sourceColumn: spend
- title: Spend
- description: Spend
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- tags:
- - Campaign channels
- - grain: []
- id: campaign_channels_per_category
- references:
- - identifier:
- id: campaign_channels
- type: dataset
- multivalue: false
- sources:
- - column: campaign_channel_id
- target:
- id: campaign_channel_id
- type: attribute
- dataType: STRING
- title: Campaign channels per category
- aggregatedFacts:
- - id: budget_agg
- sourceColumn: budget
- sourceFactReference:
- operation: SUM
- reference:
- id: budget
- type: fact
- description: Budget Agg
- sourceColumnDataType: INT
- tags:
- - Campaign channels per category
- attributes: []
- description: Campaign channels per categories
- facts: []
- precedence: 1
- sql:
- dataSourceId: demo-test-ds
- statement: SELECT category, SUM(budget) FROM campaign_channels
- GROUP BY category
- tags:
- - Campaign channels per category
- - grain:
- - id: campaign_id
- type: attribute
- id: campaigns
- references: []
- title: Campaigns
- aggregatedFacts: []
- attributes:
- - id: campaign_id
- labels: []
- sourceColumn: campaign_id
- title: Campaign id
- description: Campaign id
- sourceColumnDataType: INT
- tags:
- - Campaigns
- - id: campaign_name
- labels: []
- sourceColumn: campaign_name
- title: Campaign name
- description: Campaign name
- sourceColumnDataType: STRING
- tags:
- - Campaigns
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaigns
- type: dataSource
- path:
- - demo
- - campaigns
- description: Campaigns
- facts: []
- tags:
- - Campaigns
- - grain:
- - id: customer_id
- type: attribute
- id: customers
- references: []
- title: Customers
- aggregatedFacts: []
- attributes:
- - id: customer_id
- labels: []
- sourceColumn: customer_id
- title: Customer id
- description: Customer id
- sourceColumnDataType: INT
- tags:
- - Customers
- - id: customer_name
- labels: []
- sourceColumn: customer_name
- title: Customer name
- description: Customer name
- sourceColumnDataType: STRING
- tags:
- - Customers
- - id: region
- labels: []
- sourceColumn: region
- title: Region
- description: Region
- sourceColumnDataType: STRING
- tags:
- - Customers
- - id: state
- labels:
- - id: geo__state__location
- sourceColumn: geo__state__location
- title: Location
- description: Location
- sourceColumnDataType: STRING
- tags:
- - Customers
- valueType: GEO
- sourceColumn: state
- title: State
- description: State
- sourceColumnDataType: STRING
- tags:
- - Customers
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: customers
- type: dataSource
- path:
- - demo
- - customers
- description: Customers
- facts: []
- tags:
- - Customers
- - grain:
- - id: order_line_id
- type: attribute
- id: order_lines
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- target:
- id: campaign_id
- type: attribute
- dataType: INT
- - identifier:
- id: customers
- type: dataset
- multivalue: false
- sources:
- - column: customer_id
- target:
- id: customer_id
- type: attribute
- dataType: INT
- - identifier:
- id: date
- type: dataset
- multivalue: false
- sources:
- - column: date
- target:
- id: date
- type: date
- dataType: DATE
- - identifier:
- id: products
- type: dataset
- multivalue: false
- sources:
- - column: product_id
- target:
- id: product_id
- type: attribute
- dataType: INT
- title: Order lines
- aggregatedFacts: []
- attributes:
- - id: order_id
- labels: []
- sourceColumn: order_id
- title: Order id
- description: Order id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- - id: order_line_id
- labels: []
- sourceColumn: order_line_id
- title: Order line id
- description: Order line id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- - id: order_status
- labels: []
- sourceColumn: order_status
- title: Order status
- description: Order status
- sourceColumnDataType: STRING
- tags:
- - Order lines
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: order_lines
- type: dataSource
- path:
- - demo
- - order_lines
- description: Order lines
- facts:
- - id: price
- sourceColumn: price
- title: Price
- description: Price
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- - id: quantity
- sourceColumn: quantity
- title: Quantity
- description: Quantity
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- tags:
- - Order lines
- workspaceDataFilterColumns:
- - dataType: STRING
- name: wdf__region
- - dataType: STRING
- name: wdf__state
- workspaceDataFilterReferences:
- - filterColumn: wdf__region
- filterColumnDataType: STRING
- filterId:
- id: wdf__region
- type: workspaceDataFilter
- - grain:
- - id: product_id
- type: attribute
- id: products
- references: []
- title: Products
- aggregatedFacts: []
- attributes:
- - id: product_id
- labels: []
- sourceColumn: product_id
- title: Product id
- description: Product id
- sourceColumnDataType: INT
- tags:
- - Products
- - id: product_name
- labels: []
- sourceColumn: product_name
- title: Product name
- description: Product name
- sourceColumnDataType: STRING
- tags:
- - Products
- - id: products.category
- labels: []
- sourceColumn: category
- title: Category
- description: Category
- sourceColumnDataType: STRING
- tags:
- - Products
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: products
- type: dataSource
- path:
- - demo
- - products
- description: Products
- facts: []
- tags:
- - Products
- dateInstances:
- - granularities:
- - DAY
- - WEEK
- - MONTH
- - QUARTER
- - YEAR
- granularitiesFormatting:
- titleBase: ''
- titlePattern: '%titleBase - %granularityTitle'
- id: date
- title: Date
- description: ''
- tags:
- - Date
- permissions:
- - assignee:
- id: demo2
- type: user
- name: ANALYZE
- - assignee:
- id: demoGroup
- type: userGroup
- name: VIEW
- settings: []
- userDataFilters: []
- - id: demo_west
- name: Demo West
- automations: []
- customApplicationSettings: []
- filterViews: []
- hierarchyPermissions: []
- model:
- analytics:
- analyticalDashboardExtensions:
- - id: campaign
- permissions:
- - assigneeRule:
- type: allWorkspaceUsers
- name: VIEW
- analyticalDashboards: []
- attributeHierarchies: []
- dashboardPlugins: []
- exportDefinitions: []
- filterContexts: []
- metrics: []
- visualizationObjects: []
- memoryItems: []
- ldm:
- datasetExtensions:
- - id: order_lines
- workspaceDataFilterReferences:
- - filterColumn: wdf__state
- filterColumnDataType: STRING
- filterId:
- id: wdf__state
- type: workspaceDataFilter
- datasets: []
- dateInstances: []
- parent:
- id: demo
- type: workspace
- permissions: []
- settings: []
- userDataFilters: []
- - id: demo_west_california
- name: Demo West California
- automations: []
- customApplicationSettings: []
- filterViews: []
- hierarchyPermissions: []
- model:
- analytics:
- analyticalDashboardExtensions: []
- analyticalDashboards: []
- attributeHierarchies: []
- dashboardPlugins: []
- exportDefinitions: []
- filterContexts: []
- metrics: []
- visualizationObjects: []
- memoryItems: []
- ldm:
- datasets: []
- dateInstances: []
- parent:
- id: demo_west
- type: workspace
- permissions: []
- settings: []
- userDataFilters: []
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_load_and_put_declarative_workspace_data_filters.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_load_and_put_declarative_workspace_data_filters.yaml
deleted file mode 100644
index 555d3e747..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_load_and_put_declarative_workspace_data_filters.yaml
+++ /dev/null
@@ -1,2275 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaceDataFilters
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '603'
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- 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: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaceDataFilters
- body:
- workspaceDataFilters: []
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaceDataFilters
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '27'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- workspaceDataFilters: []
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/organization
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 302
- message: Found
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '0'
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Location:
- - /api/v1/entities/admin/organizations/python-sdk-dex
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/admin/organizations/python-sdk-dex
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '564'
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- name: Python SDK Dex
- hostname: python-sdk-dex.dev-latest.stg11.panther.intgdc.com
- allowedOrigins: []
- earlyAccess: enableAlerting
- earlyAccessValues:
- - enableAlerting
- - enableSmtp
- - enablePreAggregationDatasets
- - enableScheduling
- - enableCompositeGrain
- - enableUserManagement
- - enableRawExports
- - enableFlexibleDashboardLayout
- region: ''
- dataCenter: ''
- id: python-sdk-dex
- type: organization
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/admin/organizations/python-sdk-dex
- - request:
- method: PUT
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaceDataFilters
- body:
- 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
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaceDataFilters
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '603'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- 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: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces
- body:
- 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:
- - id: demo
- name: Demo
- automations: []
- customApplicationSettings: []
- filterViews: []
- hierarchyPermissions:
- - assignee:
- id: demo2
- type: user
- name: MANAGE
- - assignee:
- id: demoGroup
- type: userGroup
- name: ANALYZE
- model:
- analytics:
- analyticalDashboardExtensions: []
- analyticalDashboards:
- - content:
- filterContextRef:
- identifier:
- id: campaign_name_filter
- type: filterContext
- layout:
- type: IDashboardLayout
- sections:
- - type: IDashboardLayoutSection
- header:
- title: Spend breakdown and Revenue
- description: The first insight shows a breakdown of
- spend by category and campaign. The second shows revenue
- per $ spend, for each campaign, to demonstrate, how
- campaigns are successful.
- 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: ''
- permissions:
- - assigneeRule:
- type: allWorkspaceUsers
- name: VIEW
- - 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: ''
- attributeHierarchies: []
- 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
- exportDefinitions: []
- 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
- memoryItems: []
- ldm:
- datasets:
- - grain:
- - id: campaign_channel_id
- type: attribute
- id: campaign_channels
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- target:
- id: campaign_id
- type: attribute
- dataType: INT
- title: Campaign channels
- aggregatedFacts: []
- attributes:
- - id: campaign_channel_id
- labels: []
- sourceColumn: campaign_channel_id
- title: Campaign channel id
- description: Campaign channel id
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- - id: campaign_channels.category
- labels: []
- sourceColumn: category
- title: Category
- description: Category
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- - id: type
- labels: []
- sourceColumn: type
- title: Type
- description: Type
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaign_channels
- type: dataSource
- path:
- - demo
- - campaign_channels
- description: Campaign channels
- facts:
- - id: budget
- sourceColumn: budget
- title: Budget
- description: Budget
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- - id: spend
- sourceColumn: spend
- title: Spend
- description: Spend
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- tags:
- - Campaign channels
- - grain: []
- id: campaign_channels_per_category
- references:
- - identifier:
- id: campaign_channels
- type: dataset
- multivalue: false
- sources:
- - column: campaign_channel_id
- target:
- id: campaign_channel_id
- type: attribute
- dataType: STRING
- title: Campaign channels per category
- aggregatedFacts:
- - id: budget_agg
- sourceColumn: budget
- sourceFactReference:
- operation: SUM
- reference:
- id: budget
- type: fact
- description: Budget Agg
- sourceColumnDataType: INT
- tags:
- - Campaign channels per category
- attributes: []
- description: Campaign channels per categories
- facts: []
- precedence: 1
- sql:
- dataSourceId: demo-test-ds
- statement: SELECT category, SUM(budget) FROM campaign_channels
- GROUP BY category
- tags:
- - Campaign channels per category
- - grain:
- - id: campaign_id
- type: attribute
- id: campaigns
- references: []
- title: Campaigns
- aggregatedFacts: []
- attributes:
- - id: campaign_id
- labels: []
- sourceColumn: campaign_id
- title: Campaign id
- description: Campaign id
- sourceColumnDataType: INT
- tags:
- - Campaigns
- - id: campaign_name
- labels: []
- sourceColumn: campaign_name
- title: Campaign name
- description: Campaign name
- sourceColumnDataType: STRING
- tags:
- - Campaigns
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaigns
- type: dataSource
- path:
- - demo
- - campaigns
- description: Campaigns
- facts: []
- tags:
- - Campaigns
- - grain:
- - id: customer_id
- type: attribute
- id: customers
- references: []
- title: Customers
- aggregatedFacts: []
- attributes:
- - id: customer_id
- labels: []
- sourceColumn: customer_id
- title: Customer id
- description: Customer id
- sourceColumnDataType: INT
- tags:
- - Customers
- - id: customer_name
- labels: []
- sourceColumn: customer_name
- title: Customer name
- description: Customer name
- sourceColumnDataType: STRING
- tags:
- - Customers
- - id: region
- labels: []
- sourceColumn: region
- title: Region
- description: Region
- sourceColumnDataType: STRING
- tags:
- - Customers
- - id: state
- labels:
- - id: geo__state__location
- sourceColumn: geo__state__location
- title: Location
- description: Location
- sourceColumnDataType: STRING
- tags:
- - Customers
- valueType: GEO
- sourceColumn: state
- title: State
- description: State
- sourceColumnDataType: STRING
- tags:
- - Customers
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: customers
- type: dataSource
- path:
- - demo
- - customers
- description: Customers
- facts: []
- tags:
- - Customers
- - grain:
- - id: order_line_id
- type: attribute
- id: order_lines
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- target:
- id: campaign_id
- type: attribute
- dataType: INT
- - identifier:
- id: customers
- type: dataset
- multivalue: false
- sources:
- - column: customer_id
- target:
- id: customer_id
- type: attribute
- dataType: INT
- - identifier:
- id: date
- type: dataset
- multivalue: false
- sources:
- - column: date
- target:
- id: date
- type: date
- dataType: DATE
- - identifier:
- id: products
- type: dataset
- multivalue: false
- sources:
- - column: product_id
- target:
- id: product_id
- type: attribute
- dataType: INT
- title: Order lines
- aggregatedFacts: []
- attributes:
- - id: order_id
- labels: []
- sourceColumn: order_id
- title: Order id
- description: Order id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- - id: order_line_id
- labels: []
- sourceColumn: order_line_id
- title: Order line id
- description: Order line id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- - id: order_status
- labels: []
- sourceColumn: order_status
- title: Order status
- description: Order status
- sourceColumnDataType: STRING
- tags:
- - Order lines
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: order_lines
- type: dataSource
- path:
- - demo
- - order_lines
- description: Order lines
- facts:
- - id: price
- sourceColumn: price
- title: Price
- description: Price
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- - id: quantity
- sourceColumn: quantity
- title: Quantity
- description: Quantity
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- tags:
- - Order lines
- workspaceDataFilterColumns:
- - dataType: STRING
- name: wdf__region
- - dataType: STRING
- name: wdf__state
- workspaceDataFilterReferences:
- - filterColumn: wdf__region
- filterColumnDataType: STRING
- filterId:
- id: wdf__region
- type: workspaceDataFilter
- - grain:
- - id: product_id
- type: attribute
- id: products
- references: []
- title: Products
- aggregatedFacts: []
- attributes:
- - id: product_id
- labels: []
- sourceColumn: product_id
- title: Product id
- description: Product id
- sourceColumnDataType: INT
- tags:
- - Products
- - id: product_name
- labels: []
- sourceColumn: product_name
- title: Product name
- description: Product name
- sourceColumnDataType: STRING
- tags:
- - Products
- - id: products.category
- labels: []
- sourceColumn: category
- title: Category
- description: Category
- sourceColumnDataType: STRING
- tags:
- - Products
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: products
- type: dataSource
- path:
- - demo
- - products
- description: Products
- facts: []
- tags:
- - Products
- dateInstances:
- - granularities:
- - DAY
- - WEEK
- - MONTH
- - QUARTER
- - YEAR
- granularitiesFormatting:
- titleBase: ''
- titlePattern: '%titleBase - %granularityTitle'
- id: date
- title: Date
- description: ''
- tags:
- - Date
- permissions:
- - assignee:
- id: demo2
- type: user
- name: ANALYZE
- - assignee:
- id: demoGroup
- type: userGroup
- name: VIEW
- settings: []
- userDataFilters: []
- - id: demo_west
- name: Demo West
- automations: []
- customApplicationSettings: []
- filterViews: []
- hierarchyPermissions: []
- model:
- analytics:
- analyticalDashboardExtensions:
- - id: campaign
- permissions:
- - assigneeRule:
- type: allWorkspaceUsers
- name: VIEW
- analyticalDashboards: []
- attributeHierarchies: []
- dashboardPlugins: []
- exportDefinitions: []
- filterContexts: []
- metrics: []
- visualizationObjects: []
- memoryItems: []
- ldm:
- datasetExtensions:
- - id: order_lines
- workspaceDataFilterReferences:
- - filterColumn: wdf__state
- filterColumnDataType: STRING
- filterId:
- id: wdf__state
- type: workspaceDataFilter
- datasets: []
- dateInstances: []
- parent:
- id: demo
- type: workspace
- permissions: []
- settings: []
- userDataFilters: []
- - id: demo_west_california
- name: Demo West California
- automations: []
- customApplicationSettings: []
- filterViews: []
- hierarchyPermissions: []
- model:
- analytics:
- analyticalDashboardExtensions: []
- analyticalDashboards: []
- attributeHierarchies: []
- dashboardPlugins: []
- exportDefinitions: []
- filterContexts: []
- metrics: []
- visualizationObjects: []
- memoryItems: []
- ldm:
- datasets: []
- dateInstances: []
- parent:
- id: demo_west
- type: workspace
- permissions: []
- settings: []
- userDataFilters: []
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_load_and_put_declarative_workspaces.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_load_and_put_declarative_workspaces.yaml
deleted file mode 100644
index c07156e2b..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_load_and_put_declarative_workspaces.yaml
+++ /dev/null
@@ -1,5770 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: PUT
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces
- body:
- workspaceDataFilters: []
- workspaces: []
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '43'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- workspaceDataFilters: []
- workspaces: []
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/organization
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 302
- message: Found
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '0'
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Location:
- - /api/v1/entities/admin/organizations/python-sdk-dex
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/admin/organizations/python-sdk-dex
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '564'
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- name: Python SDK Dex
- hostname: python-sdk-dex.dev-latest.stg11.panther.intgdc.com
- allowedOrigins: []
- earlyAccess: enableAlerting
- earlyAccessValues:
- - enableAlerting
- - enableSmtp
- - enablePreAggregationDatasets
- - enableScheduling
- - enableCompositeGrain
- - enableUserManagement
- - enableRawExports
- - enableFlexibleDashboardLayout
- region: ''
- dataCenter: ''
- id: python-sdk-dex
- type: organization
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/admin/organizations/python-sdk-dex
- - request:
- method: PUT
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces
- body:
- 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:
- - 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
- sources:
- - column: campaign_id
- target:
- id: campaign_id
- type: attribute
- dataType: INT
- title: Campaign channels
- description: Campaign channels
- attributes:
- - id: campaign_channel_id
- labels: []
- sourceColumn: campaign_channel_id
- title: Campaign channel id
- sourceColumnDataType: STRING
- description: Campaign channel id
- tags:
- - Campaign channels
- - id: campaign_channels.category
- labels: []
- sourceColumn: category
- title: Category
- sourceColumnDataType: STRING
- description: Category
- tags:
- - Campaign channels
- - id: type
- labels: []
- sourceColumn: type
- title: Type
- sourceColumnDataType: STRING
- description: Type
- tags:
- - Campaign channels
- facts:
- - id: budget
- sourceColumn: budget
- title: Budget
- sourceColumnDataType: NUMERIC
- description: Budget
- tags:
- - Campaign channels
- - id: spend
- sourceColumn: spend
- title: Spend
- sourceColumnDataType: NUMERIC
- description: Spend
- tags:
- - Campaign channels
- aggregatedFacts: []
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaign_channels
- type: dataSource
- path:
- - demo
- - campaign_channels
- tags:
- - Campaign channels
- - grain: []
- id: campaign_channels_per_category
- references:
- - identifier:
- id: campaign_channels
- type: dataset
- multivalue: false
- sources:
- - column: campaign_channel_id
- target:
- id: campaign_channel_id
- type: attribute
- dataType: STRING
- title: Campaign channels per category
- description: Campaign channels per categories
- attributes: []
- facts: []
- aggregatedFacts:
- - id: budget_agg
- sourceColumn: budget
- sourceFactReference:
- operation: SUM
- reference:
- id: budget
- type: fact
- sourceColumnDataType: INT
- description: Budget Agg
- tags:
- - Campaign channels per category
- precedence: 1
- sql:
- dataSourceId: demo-test-ds
- statement: SELECT category, SUM(budget) FROM campaign_channels
- GROUP BY category
- tags:
- - Campaign channels per category
- - grain:
- - id: campaign_id
- type: attribute
- id: campaigns
- references: []
- title: Campaigns
- description: Campaigns
- attributes:
- - id: campaign_id
- labels: []
- sourceColumn: campaign_id
- title: Campaign id
- sourceColumnDataType: INT
- description: Campaign id
- tags:
- - Campaigns
- - id: campaign_name
- labels: []
- sourceColumn: campaign_name
- title: Campaign name
- sourceColumnDataType: STRING
- description: Campaign name
- tags:
- - Campaigns
- facts: []
- aggregatedFacts: []
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaigns
- type: dataSource
- path:
- - demo
- - campaigns
- 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
- sourceColumnDataType: INT
- description: Customer id
- tags:
- - Customers
- - id: customer_name
- labels: []
- sourceColumn: customer_name
- title: Customer name
- sourceColumnDataType: STRING
- description: Customer name
- tags:
- - Customers
- - id: region
- labels: []
- sourceColumn: region
- title: Region
- sourceColumnDataType: STRING
- description: Region
- tags:
- - Customers
- - id: state
- labels:
- - id: geo__state__location
- sourceColumn: geo__state__location
- title: Location
- sourceColumnDataType: STRING
- description: Location
- tags:
- - Customers
- valueType: GEO
- locale: en-US
- translations:
- - locale: cs-CZ
- sourceColumn: geo__state__location_cz
- sourceColumn: state
- title: State
- sourceColumnDataType: STRING
- description: State
- tags:
- - Customers
- facts: []
- aggregatedFacts: []
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: customers
- type: dataSource
- path:
- - demo
- - customers
- tags:
- - Customers
- - grain:
- - id: order_line_id
- type: attribute
- id: order_lines
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- target:
- id: campaign_id
- type: attribute
- dataType: INT
- - identifier:
- id: customers
- type: dataset
- multivalue: false
- sources:
- - column: customer_id
- target:
- id: customer_id
- type: attribute
- dataType: INT
- - identifier:
- id: date
- type: dataset
- multivalue: false
- sources:
- - column: date
- target:
- id: date
- type: date
- dataType: DATE
- - identifier:
- id: products
- type: dataset
- multivalue: false
- sources:
- - column: product_id
- target:
- id: product_id
- type: attribute
- dataType: INT
- title: Order lines
- description: Order lines
- attributes:
- - id: order_id
- labels: []
- sourceColumn: order_id
- title: Order id
- sourceColumnDataType: STRING
- description: Order id
- tags:
- - Order lines
- - id: order_line_id
- labels: []
- sourceColumn: order_line_id
- title: Order line id
- sourceColumnDataType: STRING
- description: Order line id
- tags:
- - Order lines
- - id: order_status
- labels: []
- sourceColumn: order_status
- title: Order status
- sourceColumnDataType: STRING
- description: Order status
- tags:
- - Order lines
- facts:
- - id: price
- sourceColumn: price
- title: Price
- sourceColumnDataType: NUMERIC
- description: Price
- tags:
- - Order lines
- - id: quantity
- sourceColumn: quantity
- title: Quantity
- sourceColumnDataType: NUMERIC
- description: Quantity
- tags:
- - Order lines
- aggregatedFacts: []
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: order_lines
- type: dataSource
- path:
- - demo
- - order_lines
- tags:
- - Order lines
- workspaceDataFilterColumns:
- - dataType: STRING
- name: wdf__region
- - dataType: STRING
- name: wdf__state
- workspaceDataFilterReferences:
- - filterColumn: wdf__region
- filterColumnDataType: STRING
- filterId:
- id: wdf__region
- type: workspaceDataFilter
- - grain:
- - id: product_id
- type: attribute
- id: products
- references: []
- title: Products
- description: Products
- attributes:
- - id: product_id
- labels: []
- sourceColumn: product_id
- title: Product id
- sourceColumnDataType: INT
- description: Product id
- tags:
- - Products
- - id: product_name
- labels: []
- sourceColumn: product_name
- title: Product name
- sourceColumnDataType: STRING
- description: Product name
- tags:
- - Products
- - id: products.category
- labels: []
- sourceColumn: category
- title: Category
- sourceColumnDataType: STRING
- description: Category
- tags:
- - Products
- facts: []
- aggregatedFacts: []
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: products
- type: dataSource
- path:
- - demo
- - products
- tags:
- - Products
- dateInstances:
- - granularities:
- - DAY
- - WEEK
- - MONTH
- - QUARTER
- - 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:
- - header:
- description: The first insight shows a breakdown of
- spend by category and campaign. The second shows revenue
- per $ spend, for each campaign, to demonstrate, how
- campaigns are successful.
- title: Spend breakdown and Revenue
- 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: ''
- permissions:
- - name: VIEW
- assigneeRule:
- type: allWorkspaceUsers
- - 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: ''
- analyticalDashboardExtensions: []
- attributeHierarchies: []
- 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
- exportDefinitions: []
- memoryItems: []
- 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: []
- userDataFilters: []
- customApplicationSettings: []
- automations: []
- filterViews: []
- - id: demo_west
- name: Demo West
- model:
- ldm:
- datasets: []
- dateInstances: []
- datasetExtensions:
- - id: order_lines
- workspaceDataFilterReferences:
- - filterColumn: wdf__state
- filterColumnDataType: STRING
- filterId:
- id: wdf__state
- type: workspaceDataFilter
- analytics:
- analyticalDashboards: []
- analyticalDashboardExtensions:
- - id: campaign
- permissions:
- - name: VIEW
- assigneeRule:
- type: allWorkspaceUsers
- attributeHierarchies: []
- dashboardPlugins: []
- filterContexts: []
- metrics: []
- visualizationObjects: []
- exportDefinitions: []
- memoryItems: []
- parent:
- id: demo
- type: workspace
- permissions: []
- hierarchyPermissions: []
- settings: []
- userDataFilters: []
- customApplicationSettings: []
- automations: []
- filterViews: []
- - id: demo_west_california
- name: Demo West California
- model:
- ldm:
- datasets: []
- dateInstances: []
- analytics:
- analyticalDashboards: []
- analyticalDashboardExtensions: []
- attributeHierarchies: []
- dashboardPlugins: []
- filterContexts: []
- metrics: []
- visualizationObjects: []
- exportDefinitions: []
- memoryItems: []
- parent:
- id: demo_west
- type: workspace
- permissions: []
- hierarchyPermissions: []
- settings: []
- userDataFilters: []
- customApplicationSettings: []
- automations: []
- filterViews: []
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces?exclude=ACTIVITY_INFO
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- 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:
- - automations: []
- customApplicationSettings: []
- filterViews: []
- hierarchyPermissions:
- - assignee:
- id: demo2
- type: user
- name: MANAGE
- - assignee:
- id: demoGroup
- type: userGroup
- name: ANALYZE
- id: demo
- model:
- analytics:
- analyticalDashboardExtensions: []
- analyticalDashboards:
- - content:
- filterContextRef:
- identifier:
- id: campaign_name_filter
- type: filterContext
- layout:
- sections:
- - header:
- description: The first insight shows a breakdown of
- spend by category and campaign. The second shows
- revenue per $ spend, for each campaign, to demonstrate,
- how campaigns are successful.
- title: Spend breakdown and Revenue
- 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
- permissions:
- - assigneeRule:
- type: allWorkspaceUsers
- name: VIEW
- 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
- attributeHierarchies: []
- 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
- exportDefinitions: []
- 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
- memoryItems: []
- 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:
- - aggregatedFacts: []
- attributes:
- - description: Campaign channel id
- id: campaign_channel_id
- labels: []
- sourceColumn: campaign_channel_id
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Campaign channel id
- - description: Category
- id: campaign_channels.category
- labels: []
- sourceColumn: category
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Category
- - description: Type
- id: type
- labels: []
- sourceColumn: type
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Type
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaign_channels
- path:
- - demo
- - campaign_channels
- type: dataSource
- description: Campaign channels
- facts:
- - description: Budget
- id: budget
- sourceColumn: budget
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- title: Budget
- - description: Spend
- id: spend
- sourceColumn: spend
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- title: Spend
- grain:
- - id: campaign_channel_id
- type: attribute
- id: campaign_channels
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- dataType: INT
- target:
- id: campaign_id
- type: attribute
- tags:
- - Campaign channels
- title: Campaign channels
- - aggregatedFacts:
- - description: Budget Agg
- id: budget_agg
- sourceColumn: budget
- sourceColumnDataType: INT
- sourceFactReference:
- operation: SUM
- reference:
- id: budget
- type: fact
- tags:
- - Campaign channels per category
- attributes: []
- description: Campaign channels per categories
- facts: []
- grain: []
- id: campaign_channels_per_category
- precedence: 1
- references:
- - identifier:
- id: campaign_channels
- type: dataset
- multivalue: false
- sources:
- - column: campaign_channel_id
- dataType: STRING
- target:
- id: campaign_channel_id
- type: attribute
- sql:
- dataSourceId: demo-test-ds
- statement: SELECT category, SUM(budget) FROM campaign_channels
- GROUP BY category
- tags:
- - Campaign channels per category
- title: Campaign channels per category
- - aggregatedFacts: []
- attributes:
- - description: Campaign id
- id: campaign_id
- labels: []
- sourceColumn: campaign_id
- sourceColumnDataType: INT
- tags:
- - Campaigns
- title: Campaign id
- - description: Campaign name
- id: campaign_name
- labels: []
- sourceColumn: campaign_name
- sourceColumnDataType: STRING
- tags:
- - Campaigns
- title: Campaign name
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaigns
- path:
- - demo
- - campaigns
- type: dataSource
- description: Campaigns
- facts: []
- grain:
- - id: campaign_id
- type: attribute
- id: campaigns
- references: []
- tags:
- - Campaigns
- title: Campaigns
- - aggregatedFacts: []
- attributes:
- - description: Customer id
- id: customer_id
- labels: []
- sourceColumn: customer_id
- sourceColumnDataType: INT
- tags:
- - Customers
- title: Customer id
- - description: Customer name
- id: customer_name
- labels: []
- sourceColumn: customer_name
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Customer name
- - description: Region
- id: region
- labels: []
- sourceColumn: region
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Region
- - description: State
- id: state
- labels:
- - description: Location
- id: geo__state__location
- locale: en-US
- sourceColumn: geo__state__location
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Location
- translations:
- - locale: cs-CZ
- sourceColumn: geo__state__location_cz
- valueType: GEO
- sourceColumn: state
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: State
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: customers
- path:
- - demo
- - customers
- type: dataSource
- description: Customers
- facts: []
- grain:
- - id: customer_id
- type: attribute
- id: customers
- references: []
- tags:
- - Customers
- title: Customers
- - aggregatedFacts: []
- attributes:
- - description: Order id
- id: order_id
- labels: []
- sourceColumn: order_id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order id
- - description: Order line id
- id: order_line_id
- labels: []
- sourceColumn: order_line_id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order line id
- - description: Order status
- id: order_status
- labels: []
- sourceColumn: order_status
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order status
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: order_lines
- path:
- - demo
- - order_lines
- type: dataSource
- description: Order lines
- facts:
- - description: Price
- id: price
- sourceColumn: price
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- title: Price
- - description: Quantity
- id: quantity
- sourceColumn: quantity
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- title: Quantity
- grain:
- - id: order_line_id
- type: attribute
- id: order_lines
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- dataType: INT
- target:
- id: campaign_id
- type: attribute
- - identifier:
- id: customers
- type: dataset
- multivalue: false
- sources:
- - column: customer_id
- dataType: INT
- target:
- id: customer_id
- type: attribute
- - identifier:
- id: date
- type: dataset
- multivalue: false
- sources:
- - column: date
- dataType: DATE
- target:
- id: date
- type: date
- - identifier:
- id: products
- type: dataset
- multivalue: false
- sources:
- - column: product_id
- dataType: INT
- target:
- id: product_id
- type: attribute
- tags:
- - Order lines
- title: Order lines
- workspaceDataFilterColumns:
- - dataType: STRING
- name: wdf__region
- - dataType: STRING
- name: wdf__state
- workspaceDataFilterReferences:
- - filterColumn: wdf__region
- filterColumnDataType: STRING
- filterId:
- id: wdf__region
- type: workspaceDataFilter
- - aggregatedFacts: []
- attributes:
- - description: Product id
- id: product_id
- labels: []
- sourceColumn: product_id
- sourceColumnDataType: INT
- tags:
- - Products
- title: Product id
- - description: Product name
- id: product_name
- labels: []
- sourceColumn: product_name
- sourceColumnDataType: STRING
- tags:
- - Products
- title: Product name
- - description: Category
- id: products.category
- labels: []
- sourceColumn: category
- sourceColumnDataType: STRING
- tags:
- - Products
- title: Category
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: products
- path:
- - demo
- - products
- type: dataSource
- description: Products
- facts: []
- grain:
- - id: product_id
- type: attribute
- id: products
- references: []
- tags:
- - Products
- title: Products
- dateInstances:
- - description: ''
- granularities:
- - DAY
- - WEEK
- - MONTH
- - QUARTER
- - 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: []
- userDataFilters: []
- - automations: []
- customApplicationSettings: []
- filterViews: []
- hierarchyPermissions: []
- id: demo_west
- model:
- analytics:
- analyticalDashboardExtensions:
- - id: campaign
- permissions:
- - assigneeRule:
- type: allWorkspaceUsers
- name: VIEW
- analyticalDashboards: []
- attributeHierarchies: []
- dashboardPlugins: []
- exportDefinitions: []
- filterContexts: []
- memoryItems: []
- metrics: []
- visualizationObjects: []
- ldm:
- datasetExtensions:
- - id: order_lines
- workspaceDataFilterReferences:
- - filterColumn: wdf__state
- filterColumnDataType: STRING
- filterId:
- id: wdf__state
- type: workspaceDataFilter
- datasets: []
- dateInstances: []
- name: Demo West
- parent:
- id: demo
- type: workspace
- permissions: []
- settings: []
- userDataFilters: []
- - automations: []
- customApplicationSettings: []
- filterViews: []
- hierarchyPermissions: []
- id: demo_west_california
- model:
- analytics:
- analyticalDashboardExtensions: []
- analyticalDashboards: []
- attributeHierarchies: []
- dashboardPlugins: []
- exportDefinitions: []
- filterContexts: []
- memoryItems: []
- metrics: []
- visualizationObjects: []
- ldm:
- datasets: []
- dateInstances: []
- name: Demo West California
- parent:
- id: demo_west
- type: workspace
- permissions: []
- settings: []
- userDataFilters: []
- - request:
- method: PUT
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces
- body:
- 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:
- - id: demo
- name: Demo
- automations: []
- customApplicationSettings: []
- filterViews: []
- hierarchyPermissions:
- - assignee:
- id: demo2
- type: user
- name: MANAGE
- - assignee:
- id: demoGroup
- type: userGroup
- name: ANALYZE
- model:
- analytics:
- analyticalDashboardExtensions: []
- analyticalDashboards:
- - content:
- filterContextRef:
- identifier:
- id: campaign_name_filter
- type: filterContext
- layout:
- type: IDashboardLayout
- sections:
- - type: IDashboardLayoutSection
- header:
- title: Spend breakdown and Revenue
- description: The first insight shows a breakdown of
- spend by category and campaign. The second shows revenue
- per $ spend, for each campaign, to demonstrate, how
- campaigns are successful.
- 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: ''
- permissions:
- - assigneeRule:
- type: allWorkspaceUsers
- name: VIEW
- - 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: ''
- attributeHierarchies: []
- 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
- exportDefinitions: []
- 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
- memoryItems: []
- ldm:
- datasets:
- - grain:
- - id: campaign_channel_id
- type: attribute
- id: campaign_channels
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- target:
- id: campaign_id
- type: attribute
- dataType: INT
- title: Campaign channels
- aggregatedFacts: []
- attributes:
- - id: campaign_channel_id
- labels: []
- sourceColumn: campaign_channel_id
- title: Campaign channel id
- description: Campaign channel id
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- - id: campaign_channels.category
- labels: []
- sourceColumn: category
- title: Category
- description: Category
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- - id: type
- labels: []
- sourceColumn: type
- title: Type
- description: Type
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaign_channels
- type: dataSource
- path:
- - demo
- - campaign_channels
- description: Campaign channels
- facts:
- - id: budget
- sourceColumn: budget
- title: Budget
- description: Budget
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- - id: spend
- sourceColumn: spend
- title: Spend
- description: Spend
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- tags:
- - Campaign channels
- - grain: []
- id: campaign_channels_per_category
- references:
- - identifier:
- id: campaign_channels
- type: dataset
- multivalue: false
- sources:
- - column: campaign_channel_id
- target:
- id: campaign_channel_id
- type: attribute
- dataType: STRING
- title: Campaign channels per category
- aggregatedFacts:
- - id: budget_agg
- sourceColumn: budget
- sourceFactReference:
- operation: SUM
- reference:
- id: budget
- type: fact
- description: Budget Agg
- sourceColumnDataType: INT
- tags:
- - Campaign channels per category
- attributes: []
- description: Campaign channels per categories
- facts: []
- precedence: 1
- sql:
- dataSourceId: demo-test-ds
- statement: SELECT category, SUM(budget) FROM campaign_channels
- GROUP BY category
- tags:
- - Campaign channels per category
- - grain:
- - id: campaign_id
- type: attribute
- id: campaigns
- references: []
- title: Campaigns
- aggregatedFacts: []
- attributes:
- - id: campaign_id
- labels: []
- sourceColumn: campaign_id
- title: Campaign id
- description: Campaign id
- sourceColumnDataType: INT
- tags:
- - Campaigns
- - id: campaign_name
- labels: []
- sourceColumn: campaign_name
- title: Campaign name
- description: Campaign name
- sourceColumnDataType: STRING
- tags:
- - Campaigns
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaigns
- type: dataSource
- path:
- - demo
- - campaigns
- description: Campaigns
- facts: []
- tags:
- - Campaigns
- - grain:
- - id: customer_id
- type: attribute
- id: customers
- references: []
- title: Customers
- aggregatedFacts: []
- attributes:
- - id: customer_id
- labels: []
- sourceColumn: customer_id
- title: Customer id
- description: Customer id
- sourceColumnDataType: INT
- tags:
- - Customers
- - id: customer_name
- labels: []
- sourceColumn: customer_name
- title: Customer name
- description: Customer name
- sourceColumnDataType: STRING
- tags:
- - Customers
- - id: region
- labels: []
- sourceColumn: region
- title: Region
- description: Region
- sourceColumnDataType: STRING
- tags:
- - Customers
- - id: state
- labels:
- - id: geo__state__location
- sourceColumn: geo__state__location
- title: Location
- description: Location
- sourceColumnDataType: STRING
- tags:
- - Customers
- valueType: GEO
- sourceColumn: state
- title: State
- description: State
- sourceColumnDataType: STRING
- tags:
- - Customers
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: customers
- type: dataSource
- path:
- - demo
- - customers
- description: Customers
- facts: []
- tags:
- - Customers
- - grain:
- - id: order_line_id
- type: attribute
- id: order_lines
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- target:
- id: campaign_id
- type: attribute
- dataType: INT
- - identifier:
- id: customers
- type: dataset
- multivalue: false
- sources:
- - column: customer_id
- target:
- id: customer_id
- type: attribute
- dataType: INT
- - identifier:
- id: date
- type: dataset
- multivalue: false
- sources:
- - column: date
- target:
- id: date
- type: date
- dataType: DATE
- - identifier:
- id: products
- type: dataset
- multivalue: false
- sources:
- - column: product_id
- target:
- id: product_id
- type: attribute
- dataType: INT
- title: Order lines
- aggregatedFacts: []
- attributes:
- - id: order_id
- labels: []
- sourceColumn: order_id
- title: Order id
- description: Order id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- - id: order_line_id
- labels: []
- sourceColumn: order_line_id
- title: Order line id
- description: Order line id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- - id: order_status
- labels: []
- sourceColumn: order_status
- title: Order status
- description: Order status
- sourceColumnDataType: STRING
- tags:
- - Order lines
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: order_lines
- type: dataSource
- path:
- - demo
- - order_lines
- description: Order lines
- facts:
- - id: price
- sourceColumn: price
- title: Price
- description: Price
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- - id: quantity
- sourceColumn: quantity
- title: Quantity
- description: Quantity
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- tags:
- - Order lines
- workspaceDataFilterColumns:
- - dataType: STRING
- name: wdf__region
- - dataType: STRING
- name: wdf__state
- workspaceDataFilterReferences:
- - filterColumn: wdf__region
- filterColumnDataType: STRING
- filterId:
- id: wdf__region
- type: workspaceDataFilter
- - grain:
- - id: product_id
- type: attribute
- id: products
- references: []
- title: Products
- aggregatedFacts: []
- attributes:
- - id: product_id
- labels: []
- sourceColumn: product_id
- title: Product id
- description: Product id
- sourceColumnDataType: INT
- tags:
- - Products
- - id: product_name
- labels: []
- sourceColumn: product_name
- title: Product name
- description: Product name
- sourceColumnDataType: STRING
- tags:
- - Products
- - id: products.category
- labels: []
- sourceColumn: category
- title: Category
- description: Category
- sourceColumnDataType: STRING
- tags:
- - Products
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: products
- type: dataSource
- path:
- - demo
- - products
- description: Products
- facts: []
- tags:
- - Products
- dateInstances:
- - granularities:
- - DAY
- - WEEK
- - MONTH
- - QUARTER
- - YEAR
- granularitiesFormatting:
- titleBase: ''
- titlePattern: '%titleBase - %granularityTitle'
- id: date
- title: Date
- description: ''
- tags:
- - Date
- permissions:
- - assignee:
- id: demo2
- type: user
- name: ANALYZE
- - assignee:
- id: demoGroup
- type: userGroup
- name: VIEW
- settings: []
- userDataFilters: []
- - id: demo_west
- name: Demo West
- automations: []
- customApplicationSettings: []
- filterViews: []
- hierarchyPermissions: []
- model:
- analytics:
- analyticalDashboardExtensions:
- - id: campaign
- permissions:
- - assigneeRule:
- type: allWorkspaceUsers
- name: VIEW
- analyticalDashboards: []
- attributeHierarchies: []
- dashboardPlugins: []
- exportDefinitions: []
- filterContexts: []
- metrics: []
- visualizationObjects: []
- memoryItems: []
- ldm:
- datasetExtensions:
- - id: order_lines
- workspaceDataFilterReferences:
- - filterColumn: wdf__state
- filterColumnDataType: STRING
- filterId:
- id: wdf__state
- type: workspaceDataFilter
- datasets: []
- dateInstances: []
- parent:
- id: demo
- type: workspace
- permissions: []
- settings: []
- userDataFilters: []
- - id: demo_west_california
- name: Demo West California
- automations: []
- customApplicationSettings: []
- filterViews: []
- hierarchyPermissions: []
- model:
- analytics:
- analyticalDashboardExtensions: []
- analyticalDashboards: []
- attributeHierarchies: []
- dashboardPlugins: []
- exportDefinitions: []
- filterContexts: []
- metrics: []
- visualizationObjects: []
- memoryItems: []
- ldm:
- datasets: []
- dateInstances: []
- parent:
- id: demo_west
- type: workspace
- permissions: []
- settings: []
- userDataFilters: []
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_put_declarative_user_data_filters.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_put_declarative_user_data_filters.yaml
deleted file mode 100644
index 2459869c2..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_put_declarative_user_data_filters.yaml
+++ /dev/null
@@ -1,1955 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: PUT
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces/demo/userDataFilters
- body:
- userDataFilters:
- - id: user_data_filter
- maql: 'FALSE'
- title: youwillnotsee
- user:
- id: demo
- type: user
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces/demo/userDataFilters
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '121'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- userDataFilters:
- - id: user_data_filter
- maql: 'FALSE'
- title: youwillnotsee
- user:
- id: demo
- type: user
- - request:
- method: PUT
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces
- body:
- 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:
- - id: demo
- name: Demo
- automations: []
- customApplicationSettings: []
- filterViews: []
- hierarchyPermissions:
- - assignee:
- id: demo2
- type: user
- name: MANAGE
- - assignee:
- id: demoGroup
- type: userGroup
- name: ANALYZE
- model:
- analytics:
- analyticalDashboardExtensions: []
- analyticalDashboards:
- - content:
- filterContextRef:
- identifier:
- id: campaign_name_filter
- type: filterContext
- layout:
- type: IDashboardLayout
- sections:
- - type: IDashboardLayoutSection
- header:
- title: Spend breakdown and Revenue
- description: The first insight shows a breakdown of
- spend by category and campaign. The second shows revenue
- per $ spend, for each campaign, to demonstrate, how
- campaigns are successful.
- 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: ''
- permissions:
- - assigneeRule:
- type: allWorkspaceUsers
- name: VIEW
- - 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: ''
- attributeHierarchies: []
- 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
- exportDefinitions: []
- 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
- memoryItems: []
- ldm:
- datasets:
- - grain:
- - id: campaign_channel_id
- type: attribute
- id: campaign_channels
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- target:
- id: campaign_id
- type: attribute
- dataType: INT
- title: Campaign channels
- aggregatedFacts: []
- attributes:
- - id: campaign_channel_id
- labels: []
- sourceColumn: campaign_channel_id
- title: Campaign channel id
- description: Campaign channel id
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- - id: campaign_channels.category
- labels: []
- sourceColumn: category
- title: Category
- description: Category
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- - id: type
- labels: []
- sourceColumn: type
- title: Type
- description: Type
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaign_channels
- type: dataSource
- path:
- - demo
- - campaign_channels
- description: Campaign channels
- facts:
- - id: budget
- sourceColumn: budget
- title: Budget
- description: Budget
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- - id: spend
- sourceColumn: spend
- title: Spend
- description: Spend
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- tags:
- - Campaign channels
- - grain: []
- id: campaign_channels_per_category
- references:
- - identifier:
- id: campaign_channels
- type: dataset
- multivalue: false
- sources:
- - column: campaign_channel_id
- target:
- id: campaign_channel_id
- type: attribute
- dataType: STRING
- title: Campaign channels per category
- aggregatedFacts:
- - id: budget_agg
- sourceColumn: budget
- sourceFactReference:
- operation: SUM
- reference:
- id: budget
- type: fact
- description: Budget Agg
- sourceColumnDataType: INT
- tags:
- - Campaign channels per category
- attributes: []
- description: Campaign channels per categories
- facts: []
- precedence: 1
- sql:
- dataSourceId: demo-test-ds
- statement: SELECT category, SUM(budget) FROM campaign_channels
- GROUP BY category
- tags:
- - Campaign channels per category
- - grain:
- - id: campaign_id
- type: attribute
- id: campaigns
- references: []
- title: Campaigns
- aggregatedFacts: []
- attributes:
- - id: campaign_id
- labels: []
- sourceColumn: campaign_id
- title: Campaign id
- description: Campaign id
- sourceColumnDataType: INT
- tags:
- - Campaigns
- - id: campaign_name
- labels: []
- sourceColumn: campaign_name
- title: Campaign name
- description: Campaign name
- sourceColumnDataType: STRING
- tags:
- - Campaigns
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaigns
- type: dataSource
- path:
- - demo
- - campaigns
- description: Campaigns
- facts: []
- tags:
- - Campaigns
- - grain:
- - id: customer_id
- type: attribute
- id: customers
- references: []
- title: Customers
- aggregatedFacts: []
- attributes:
- - id: customer_id
- labels: []
- sourceColumn: customer_id
- title: Customer id
- description: Customer id
- sourceColumnDataType: INT
- tags:
- - Customers
- - id: customer_name
- labels: []
- sourceColumn: customer_name
- title: Customer name
- description: Customer name
- sourceColumnDataType: STRING
- tags:
- - Customers
- - id: region
- labels: []
- sourceColumn: region
- title: Region
- description: Region
- sourceColumnDataType: STRING
- tags:
- - Customers
- - id: state
- labels:
- - id: geo__state__location
- sourceColumn: geo__state__location
- title: Location
- description: Location
- sourceColumnDataType: STRING
- tags:
- - Customers
- valueType: GEO
- sourceColumn: state
- title: State
- description: State
- sourceColumnDataType: STRING
- tags:
- - Customers
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: customers
- type: dataSource
- path:
- - demo
- - customers
- description: Customers
- facts: []
- tags:
- - Customers
- - grain:
- - id: order_line_id
- type: attribute
- id: order_lines
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- target:
- id: campaign_id
- type: attribute
- dataType: INT
- - identifier:
- id: customers
- type: dataset
- multivalue: false
- sources:
- - column: customer_id
- target:
- id: customer_id
- type: attribute
- dataType: INT
- - identifier:
- id: date
- type: dataset
- multivalue: false
- sources:
- - column: date
- target:
- id: date
- type: date
- dataType: DATE
- - identifier:
- id: products
- type: dataset
- multivalue: false
- sources:
- - column: product_id
- target:
- id: product_id
- type: attribute
- dataType: INT
- title: Order lines
- aggregatedFacts: []
- attributes:
- - id: order_id
- labels: []
- sourceColumn: order_id
- title: Order id
- description: Order id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- - id: order_line_id
- labels: []
- sourceColumn: order_line_id
- title: Order line id
- description: Order line id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- - id: order_status
- labels: []
- sourceColumn: order_status
- title: Order status
- description: Order status
- sourceColumnDataType: STRING
- tags:
- - Order lines
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: order_lines
- type: dataSource
- path:
- - demo
- - order_lines
- description: Order lines
- facts:
- - id: price
- sourceColumn: price
- title: Price
- description: Price
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- - id: quantity
- sourceColumn: quantity
- title: Quantity
- description: Quantity
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- tags:
- - Order lines
- workspaceDataFilterColumns:
- - dataType: STRING
- name: wdf__region
- - dataType: STRING
- name: wdf__state
- workspaceDataFilterReferences:
- - filterColumn: wdf__region
- filterColumnDataType: STRING
- filterId:
- id: wdf__region
- type: workspaceDataFilter
- - grain:
- - id: product_id
- type: attribute
- id: products
- references: []
- title: Products
- aggregatedFacts: []
- attributes:
- - id: product_id
- labels: []
- sourceColumn: product_id
- title: Product id
- description: Product id
- sourceColumnDataType: INT
- tags:
- - Products
- - id: product_name
- labels: []
- sourceColumn: product_name
- title: Product name
- description: Product name
- sourceColumnDataType: STRING
- tags:
- - Products
- - id: products.category
- labels: []
- sourceColumn: category
- title: Category
- description: Category
- sourceColumnDataType: STRING
- tags:
- - Products
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: products
- type: dataSource
- path:
- - demo
- - products
- description: Products
- facts: []
- tags:
- - Products
- dateInstances:
- - granularities:
- - DAY
- - WEEK
- - MONTH
- - QUARTER
- - YEAR
- granularitiesFormatting:
- titleBase: ''
- titlePattern: '%titleBase - %granularityTitle'
- id: date
- title: Date
- description: ''
- tags:
- - Date
- permissions:
- - assignee:
- id: demo2
- type: user
- name: ANALYZE
- - assignee:
- id: demoGroup
- type: userGroup
- name: VIEW
- settings: []
- userDataFilters: []
- - id: demo_west
- name: Demo West
- automations: []
- customApplicationSettings: []
- filterViews: []
- hierarchyPermissions: []
- model:
- analytics:
- analyticalDashboardExtensions:
- - id: campaign
- permissions:
- - assigneeRule:
- type: allWorkspaceUsers
- name: VIEW
- analyticalDashboards: []
- attributeHierarchies: []
- dashboardPlugins: []
- exportDefinitions: []
- filterContexts: []
- metrics: []
- visualizationObjects: []
- memoryItems: []
- ldm:
- datasetExtensions:
- - id: order_lines
- workspaceDataFilterReferences:
- - filterColumn: wdf__state
- filterColumnDataType: STRING
- filterId:
- id: wdf__state
- type: workspaceDataFilter
- datasets: []
- dateInstances: []
- parent:
- id: demo
- type: workspace
- permissions: []
- settings: []
- userDataFilters: []
- - id: demo_west_california
- name: Demo West California
- automations: []
- customApplicationSettings: []
- filterViews: []
- hierarchyPermissions: []
- model:
- analytics:
- analyticalDashboardExtensions: []
- analyticalDashboards: []
- attributeHierarchies: []
- dashboardPlugins: []
- exportDefinitions: []
- filterContexts: []
- metrics: []
- visualizationObjects: []
- memoryItems: []
- ldm:
- datasets: []
- dateInstances: []
- parent:
- id: demo_west
- type: workspace
- permissions: []
- settings: []
- userDataFilters: []
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_put_declarative_workspace.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_put_declarative_workspace.yaml
deleted file mode 100644
index 03ff73b5e..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_put_declarative_workspace.yaml
+++ /dev/null
@@ -1,7142 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo_testing?include=workspaces
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 404
- message: Not Found
- headers:
- Cache-Control:
- - max-age=5, private
- Connection:
- - keep-alive
- Content-Length:
- - '172'
- Content-Type:
- - application/problem+json
- DATE: &id001
- - PLACEHOLDER
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- detail: The requested endpoint does not exist or you do not have permission
- to access it.
- status: 404
- title: Not Found
- traceId: 1b834e5b0dd18f6d06c23fd347ee7517
- - request:
- method: POST
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces
- body:
- data:
- id: demo_testing
- type: workspace
- attributes:
- name: demo_testing
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 201
- message: Created
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '204'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- name: demo_testing
- id: demo_testing
- type: workspace
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo_testing
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces/demo?exclude=ACTIVITY_INFO
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- analytics:
- analyticalDashboardExtensions: []
- analyticalDashboards:
- - content:
- filterContextRef:
- identifier:
- id: campaign_name_filter
- type: filterContext
- layout:
- type: IDashboardLayout
- sections:
- - type: IDashboardLayoutSection
- header:
- title: Spend breakdown and Revenue
- description: The first insight shows a breakdown of spend
- by category and campaign. The second shows revenue per
- $ spend, for each campaign, to demonstrate, how campaigns
- are successful.
- 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
- permissions:
- - assigneeRule:
- type: allWorkspaceUsers
- name: VIEW
- 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
- attributeHierarchies: []
- 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
- exportDefinitions: []
- 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
- memoryItems: []
- 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:
- - aggregatedFacts: []
- attributes:
- - description: Campaign channel id
- id: campaign_channel_id
- labels: []
- sourceColumn: campaign_channel_id
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Campaign channel id
- - description: Category
- id: campaign_channels.category
- labels: []
- sourceColumn: category
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Category
- - description: Type
- id: type
- labels: []
- sourceColumn: type
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Type
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaign_channels
- path:
- - demo
- - campaign_channels
- type: dataSource
- description: Campaign channels
- facts:
- - description: Budget
- id: budget
- sourceColumn: budget
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- title: Budget
- - description: Spend
- id: spend
- sourceColumn: spend
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- title: Spend
- grain:
- - id: campaign_channel_id
- type: attribute
- id: campaign_channels
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- dataType: INT
- target:
- id: campaign_id
- type: attribute
- tags:
- - Campaign channels
- title: Campaign channels
- - aggregatedFacts:
- - description: Budget Agg
- id: budget_agg
- sourceColumn: budget
- sourceColumnDataType: INT
- sourceFactReference:
- operation: SUM
- reference:
- id: budget
- type: fact
- tags:
- - Campaign channels per category
- attributes: []
- description: Campaign channels per categories
- facts: []
- grain: []
- id: campaign_channels_per_category
- precedence: 1
- references:
- - identifier:
- id: campaign_channels
- type: dataset
- multivalue: false
- sources:
- - column: campaign_channel_id
- dataType: STRING
- target:
- id: campaign_channel_id
- type: attribute
- sql:
- dataSourceId: demo-test-ds
- statement: SELECT category, SUM(budget) FROM campaign_channels GROUP
- BY category
- tags:
- - Campaign channels per category
- title: Campaign channels per category
- - aggregatedFacts: []
- attributes:
- - description: Campaign id
- id: campaign_id
- labels: []
- sourceColumn: campaign_id
- sourceColumnDataType: INT
- tags:
- - Campaigns
- title: Campaign id
- - description: Campaign name
- id: campaign_name
- labels: []
- sourceColumn: campaign_name
- sourceColumnDataType: STRING
- tags:
- - Campaigns
- title: Campaign name
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaigns
- path:
- - demo
- - campaigns
- type: dataSource
- description: Campaigns
- facts: []
- grain:
- - id: campaign_id
- type: attribute
- id: campaigns
- references: []
- tags:
- - Campaigns
- title: Campaigns
- - aggregatedFacts: []
- attributes:
- - description: Customer id
- id: customer_id
- labels: []
- sourceColumn: customer_id
- sourceColumnDataType: INT
- tags:
- - Customers
- title: Customer id
- - description: Customer name
- id: customer_name
- labels: []
- sourceColumn: customer_name
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Customer name
- - description: Region
- id: region
- labels: []
- sourceColumn: region
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Region
- - description: State
- id: state
- labels:
- - description: Location
- id: geo__state__location
- sourceColumn: geo__state__location
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Location
- valueType: GEO
- sourceColumn: state
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: State
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: customers
- path:
- - demo
- - customers
- type: dataSource
- description: Customers
- facts: []
- grain:
- - id: customer_id
- type: attribute
- id: customers
- references: []
- tags:
- - Customers
- title: Customers
- - aggregatedFacts: []
- attributes:
- - description: Order id
- id: order_id
- labels: []
- sourceColumn: order_id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order id
- - description: Order line id
- id: order_line_id
- labels: []
- sourceColumn: order_line_id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order line id
- - description: Order status
- id: order_status
- labels: []
- sourceColumn: order_status
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order status
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: order_lines
- path:
- - demo
- - order_lines
- type: dataSource
- description: Order lines
- facts:
- - description: Price
- id: price
- sourceColumn: price
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- title: Price
- - description: Quantity
- id: quantity
- sourceColumn: quantity
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- title: Quantity
- grain:
- - id: order_line_id
- type: attribute
- id: order_lines
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- dataType: INT
- target:
- id: campaign_id
- type: attribute
- - identifier:
- id: customers
- type: dataset
- multivalue: false
- sources:
- - column: customer_id
- dataType: INT
- target:
- id: customer_id
- type: attribute
- - identifier:
- id: date
- type: dataset
- multivalue: false
- sources:
- - column: date
- dataType: DATE
- target:
- id: date
- type: date
- - identifier:
- id: products
- type: dataset
- multivalue: false
- sources:
- - column: product_id
- dataType: INT
- target:
- id: product_id
- type: attribute
- tags:
- - Order lines
- title: Order lines
- workspaceDataFilterColumns:
- - dataType: STRING
- name: wdf__region
- - dataType: STRING
- name: wdf__state
- workspaceDataFilterReferences:
- - filterColumn: wdf__region
- filterColumnDataType: STRING
- filterId:
- id: wdf__region
- type: workspaceDataFilter
- - aggregatedFacts: []
- attributes:
- - description: Product id
- id: product_id
- labels: []
- sourceColumn: product_id
- sourceColumnDataType: INT
- tags:
- - Products
- title: Product id
- - description: Product name
- id: product_name
- labels: []
- sourceColumn: product_name
- sourceColumnDataType: STRING
- tags:
- - Products
- title: Product name
- - description: Category
- id: products.category
- labels: []
- sourceColumn: category
- sourceColumnDataType: STRING
- tags:
- - Products
- title: Category
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: products
- path:
- - demo
- - products
- type: dataSource
- description: Products
- facts: []
- grain:
- - id: product_id
- type: attribute
- id: products
- references: []
- tags:
- - Products
- title: Products
- dateInstances:
- - description: ''
- granularities:
- - DAY
- - WEEK
- - MONTH
- - QUARTER
- - YEAR
- granularitiesFormatting:
- titleBase: ''
- titlePattern: '%titleBase - %granularityTitle'
- id: date
- tags:
- - Date
- title: Date
- - request:
- method: PUT
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/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
- sources:
- - column: campaign_id
- target:
- id: campaign_id
- type: attribute
- dataType: INT
- title: Campaign channels
- description: Campaign channels
- attributes:
- - id: campaign_channel_id
- labels: []
- sourceColumn: campaign_channel_id
- title: Campaign channel id
- sourceColumnDataType: STRING
- description: Campaign channel id
- tags:
- - Campaign channels
- - id: campaign_channels.category
- labels: []
- sourceColumn: category
- title: Category
- sourceColumnDataType: STRING
- description: Category
- tags:
- - Campaign channels
- - id: type
- labels: []
- sourceColumn: type
- title: Type
- sourceColumnDataType: STRING
- description: Type
- tags:
- - Campaign channels
- facts:
- - id: budget
- sourceColumn: budget
- title: Budget
- sourceColumnDataType: NUMERIC
- description: Budget
- tags:
- - Campaign channels
- - id: spend
- sourceColumn: spend
- title: Spend
- sourceColumnDataType: NUMERIC
- description: Spend
- tags:
- - Campaign channels
- aggregatedFacts: []
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaign_channels
- type: dataSource
- path:
- - demo
- - campaign_channels
- tags:
- - Campaign channels
- - grain: []
- id: campaign_channels_per_category
- references:
- - identifier:
- id: campaign_channels
- type: dataset
- multivalue: false
- sources:
- - column: campaign_channel_id
- target:
- id: campaign_channel_id
- type: attribute
- dataType: STRING
- title: Campaign channels per category
- description: Campaign channels per categories
- attributes: []
- facts: []
- aggregatedFacts:
- - id: budget_agg
- sourceColumn: budget
- sourceFactReference:
- operation: SUM
- reference:
- id: budget
- type: fact
- sourceColumnDataType: INT
- description: Budget Agg
- tags:
- - Campaign channels per category
- precedence: 1
- sql:
- dataSourceId: demo-test-ds
- statement: SELECT category, SUM(budget) FROM campaign_channels GROUP
- BY category
- tags:
- - Campaign channels per category
- - grain:
- - id: campaign_id
- type: attribute
- id: campaigns
- references: []
- title: Campaigns
- description: Campaigns
- attributes:
- - id: campaign_id
- labels: []
- sourceColumn: campaign_id
- title: Campaign id
- sourceColumnDataType: INT
- description: Campaign id
- tags:
- - Campaigns
- - id: campaign_name
- labels: []
- sourceColumn: campaign_name
- title: Campaign name
- sourceColumnDataType: STRING
- description: Campaign name
- tags:
- - Campaigns
- facts: []
- aggregatedFacts: []
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaigns
- type: dataSource
- path:
- - demo
- - campaigns
- 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
- sourceColumnDataType: INT
- description: Customer id
- tags:
- - Customers
- - id: customer_name
- labels: []
- sourceColumn: customer_name
- title: Customer name
- sourceColumnDataType: STRING
- description: Customer name
- tags:
- - Customers
- - id: region
- labels: []
- sourceColumn: region
- title: Region
- sourceColumnDataType: STRING
- description: Region
- tags:
- - Customers
- - id: state
- labels:
- - id: geo__state__location
- sourceColumn: geo__state__location
- title: Location
- sourceColumnDataType: STRING
- description: Location
- tags:
- - Customers
- valueType: GEO
- sourceColumn: state
- title: State
- sourceColumnDataType: STRING
- description: State
- tags:
- - Customers
- facts: []
- aggregatedFacts: []
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: customers
- type: dataSource
- path:
- - demo
- - customers
- tags:
- - Customers
- - grain:
- - id: order_line_id
- type: attribute
- id: order_lines
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- target:
- id: campaign_id
- type: attribute
- dataType: INT
- - identifier:
- id: customers
- type: dataset
- multivalue: false
- sources:
- - column: customer_id
- target:
- id: customer_id
- type: attribute
- dataType: INT
- - identifier:
- id: date
- type: dataset
- multivalue: false
- sources:
- - column: date
- target:
- id: date
- type: date
- dataType: DATE
- - identifier:
- id: products
- type: dataset
- multivalue: false
- sources:
- - column: product_id
- target:
- id: product_id
- type: attribute
- dataType: INT
- title: Order lines
- description: Order lines
- attributes:
- - id: order_id
- labels: []
- sourceColumn: order_id
- title: Order id
- sourceColumnDataType: STRING
- description: Order id
- tags:
- - Order lines
- - id: order_line_id
- labels: []
- sourceColumn: order_line_id
- title: Order line id
- sourceColumnDataType: STRING
- description: Order line id
- tags:
- - Order lines
- - id: order_status
- labels: []
- sourceColumn: order_status
- title: Order status
- sourceColumnDataType: STRING
- description: Order status
- tags:
- - Order lines
- facts:
- - id: price
- sourceColumn: price
- title: Price
- sourceColumnDataType: NUMERIC
- description: Price
- tags:
- - Order lines
- - id: quantity
- sourceColumn: quantity
- title: Quantity
- sourceColumnDataType: NUMERIC
- description: Quantity
- tags:
- - Order lines
- aggregatedFacts: []
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: order_lines
- type: dataSource
- path:
- - demo
- - order_lines
- tags:
- - Order lines
- workspaceDataFilterColumns:
- - dataType: STRING
- name: wdf__region
- - dataType: STRING
- name: wdf__state
- - grain:
- - id: product_id
- type: attribute
- id: products
- references: []
- title: Products
- description: Products
- attributes:
- - id: product_id
- labels: []
- sourceColumn: product_id
- title: Product id
- sourceColumnDataType: INT
- description: Product id
- tags:
- - Products
- - id: product_name
- labels: []
- sourceColumn: product_name
- title: Product name
- sourceColumnDataType: STRING
- description: Product name
- tags:
- - Products
- - id: products.category
- labels: []
- sourceColumn: category
- title: Category
- sourceColumnDataType: STRING
- description: Category
- tags:
- - Products
- facts: []
- aggregatedFacts: []
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: products
- type: dataSource
- path:
- - demo
- - products
- tags:
- - Products
- dateInstances:
- - granularities:
- - DAY
- - WEEK
- - MONTH
- - QUARTER
- - 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
- header:
- title: Spend breakdown and Revenue
- description: The first insight shows a breakdown of spend
- by category and campaign. The second shows revenue per $
- spend, for each campaign, to demonstrate, how campaigns
- are successful.
- 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: ''
- permissions:
- - name: VIEW
- assigneeRule:
- type: allWorkspaceUsers
- - 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: ''
- analyticalDashboardExtensions: []
- attributeHierarchies: []
- 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
- exportDefinitions: []
- memoryItems: []
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces/demo_testing?exclude=ACTIVITY_INFO
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- analytics:
- analyticalDashboardExtensions: []
- analyticalDashboards:
- - content:
- filterContextRef:
- identifier:
- id: campaign_name_filter
- type: filterContext
- layout:
- type: IDashboardLayout
- sections:
- - type: IDashboardLayoutSection
- header:
- title: Spend breakdown and Revenue
- description: The first insight shows a breakdown of spend
- by category and campaign. The second shows revenue per
- $ spend, for each campaign, to demonstrate, how campaigns
- are successful.
- 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
- permissions:
- - assigneeRule:
- type: allWorkspaceUsers
- name: VIEW
- 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
- attributeHierarchies: []
- 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
- exportDefinitions: []
- 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
- memoryItems: []
- 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:
- - aggregatedFacts: []
- attributes:
- - description: Campaign channel id
- id: campaign_channel_id
- labels: []
- sourceColumn: campaign_channel_id
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Campaign channel id
- - description: Category
- id: campaign_channels.category
- labels: []
- sourceColumn: category
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Category
- - description: Type
- id: type
- labels: []
- sourceColumn: type
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Type
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaign_channels
- path:
- - demo
- - campaign_channels
- type: dataSource
- description: Campaign channels
- facts:
- - description: Budget
- id: budget
- sourceColumn: budget
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- title: Budget
- - description: Spend
- id: spend
- sourceColumn: spend
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- title: Spend
- grain:
- - id: campaign_channel_id
- type: attribute
- id: campaign_channels
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- dataType: INT
- target:
- id: campaign_id
- type: attribute
- tags:
- - Campaign channels
- title: Campaign channels
- - aggregatedFacts:
- - description: Budget Agg
- id: budget_agg
- sourceColumn: budget
- sourceColumnDataType: INT
- sourceFactReference:
- operation: SUM
- reference:
- id: budget
- type: fact
- tags:
- - Campaign channels per category
- attributes: []
- description: Campaign channels per categories
- facts: []
- grain: []
- id: campaign_channels_per_category
- precedence: 1
- references:
- - identifier:
- id: campaign_channels
- type: dataset
- multivalue: false
- sources:
- - column: campaign_channel_id
- dataType: STRING
- target:
- id: campaign_channel_id
- type: attribute
- sql:
- dataSourceId: demo-test-ds
- statement: SELECT category, SUM(budget) FROM campaign_channels GROUP
- BY category
- tags:
- - Campaign channels per category
- title: Campaign channels per category
- - aggregatedFacts: []
- attributes:
- - description: Campaign id
- id: campaign_id
- labels: []
- sourceColumn: campaign_id
- sourceColumnDataType: INT
- tags:
- - Campaigns
- title: Campaign id
- - description: Campaign name
- id: campaign_name
- labels: []
- sourceColumn: campaign_name
- sourceColumnDataType: STRING
- tags:
- - Campaigns
- title: Campaign name
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaigns
- path:
- - demo
- - campaigns
- type: dataSource
- description: Campaigns
- facts: []
- grain:
- - id: campaign_id
- type: attribute
- id: campaigns
- references: []
- tags:
- - Campaigns
- title: Campaigns
- - aggregatedFacts: []
- attributes:
- - description: Customer id
- id: customer_id
- labels: []
- sourceColumn: customer_id
- sourceColumnDataType: INT
- tags:
- - Customers
- title: Customer id
- - description: Customer name
- id: customer_name
- labels: []
- sourceColumn: customer_name
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Customer name
- - description: Region
- id: region
- labels: []
- sourceColumn: region
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Region
- - description: State
- id: state
- labels:
- - description: Location
- id: geo__state__location
- sourceColumn: geo__state__location
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Location
- valueType: GEO
- sourceColumn: state
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: State
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: customers
- path:
- - demo
- - customers
- type: dataSource
- description: Customers
- facts: []
- grain:
- - id: customer_id
- type: attribute
- id: customers
- references: []
- tags:
- - Customers
- title: Customers
- - aggregatedFacts: []
- attributes:
- - description: Order id
- id: order_id
- labels: []
- sourceColumn: order_id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order id
- - description: Order line id
- id: order_line_id
- labels: []
- sourceColumn: order_line_id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order line id
- - description: Order status
- id: order_status
- labels: []
- sourceColumn: order_status
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order status
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: order_lines
- path:
- - demo
- - order_lines
- type: dataSource
- description: Order lines
- facts:
- - description: Price
- id: price
- sourceColumn: price
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- title: Price
- - description: Quantity
- id: quantity
- sourceColumn: quantity
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- title: Quantity
- grain:
- - id: order_line_id
- type: attribute
- id: order_lines
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- dataType: INT
- target:
- id: campaign_id
- type: attribute
- - identifier:
- id: customers
- type: dataset
- multivalue: false
- sources:
- - column: customer_id
- dataType: INT
- target:
- id: customer_id
- type: attribute
- - identifier:
- id: date
- type: dataset
- multivalue: false
- sources:
- - column: date
- dataType: DATE
- target:
- id: date
- type: date
- - identifier:
- id: products
- type: dataset
- multivalue: false
- sources:
- - column: product_id
- dataType: INT
- target:
- id: product_id
- type: attribute
- tags:
- - Order lines
- title: Order lines
- workspaceDataFilterColumns:
- - dataType: STRING
- name: wdf__region
- - dataType: STRING
- name: wdf__state
- - aggregatedFacts: []
- attributes:
- - description: Product id
- id: product_id
- labels: []
- sourceColumn: product_id
- sourceColumnDataType: INT
- tags:
- - Products
- title: Product id
- - description: Product name
- id: product_name
- labels: []
- sourceColumn: product_name
- sourceColumnDataType: STRING
- tags:
- - Products
- title: Product name
- - description: Category
- id: products.category
- labels: []
- sourceColumn: category
- sourceColumnDataType: STRING
- tags:
- - Products
- title: Category
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: products
- path:
- - demo
- - products
- type: dataSource
- description: Products
- facts: []
- grain:
- - id: product_id
- type: attribute
- id: products
- references: []
- tags:
- - Products
- title: Products
- dateInstances:
- - description: ''
- granularities:
- - DAY
- - WEEK
- - MONTH
- - QUARTER
- - YEAR
- granularitiesFormatting:
- titleBase: ''
- titlePattern: '%titleBase - %granularityTitle'
- id: date
- tags:
- - Date
- title: Date
- - request:
- method: PUT
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces
- body:
- 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:
- - id: demo
- name: Demo
- automations: []
- customApplicationSettings: []
- filterViews: []
- hierarchyPermissions:
- - assignee:
- id: demo2
- type: user
- name: MANAGE
- - assignee:
- id: demoGroup
- type: userGroup
- name: ANALYZE
- model:
- analytics:
- analyticalDashboardExtensions: []
- analyticalDashboards:
- - content:
- filterContextRef:
- identifier:
- id: campaign_name_filter
- type: filterContext
- layout:
- type: IDashboardLayout
- sections:
- - type: IDashboardLayoutSection
- header:
- title: Spend breakdown and Revenue
- description: The first insight shows a breakdown of
- spend by category and campaign. The second shows revenue
- per $ spend, for each campaign, to demonstrate, how
- campaigns are successful.
- 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: ''
- permissions:
- - assigneeRule:
- type: allWorkspaceUsers
- name: VIEW
- - 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: ''
- attributeHierarchies: []
- 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
- exportDefinitions: []
- 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
- memoryItems: []
- ldm:
- datasets:
- - grain:
- - id: campaign_channel_id
- type: attribute
- id: campaign_channels
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- target:
- id: campaign_id
- type: attribute
- dataType: INT
- title: Campaign channels
- aggregatedFacts: []
- attributes:
- - id: campaign_channel_id
- labels: []
- sourceColumn: campaign_channel_id
- title: Campaign channel id
- description: Campaign channel id
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- - id: campaign_channels.category
- labels: []
- sourceColumn: category
- title: Category
- description: Category
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- - id: type
- labels: []
- sourceColumn: type
- title: Type
- description: Type
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaign_channels
- type: dataSource
- path:
- - demo
- - campaign_channels
- description: Campaign channels
- facts:
- - id: budget
- sourceColumn: budget
- title: Budget
- description: Budget
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- - id: spend
- sourceColumn: spend
- title: Spend
- description: Spend
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- tags:
- - Campaign channels
- - grain: []
- id: campaign_channels_per_category
- references:
- - identifier:
- id: campaign_channels
- type: dataset
- multivalue: false
- sources:
- - column: campaign_channel_id
- target:
- id: campaign_channel_id
- type: attribute
- dataType: STRING
- title: Campaign channels per category
- aggregatedFacts:
- - id: budget_agg
- sourceColumn: budget
- sourceFactReference:
- operation: SUM
- reference:
- id: budget
- type: fact
- description: Budget Agg
- sourceColumnDataType: INT
- tags:
- - Campaign channels per category
- attributes: []
- description: Campaign channels per categories
- facts: []
- precedence: 1
- sql:
- dataSourceId: demo-test-ds
- statement: SELECT category, SUM(budget) FROM campaign_channels
- GROUP BY category
- tags:
- - Campaign channels per category
- - grain:
- - id: campaign_id
- type: attribute
- id: campaigns
- references: []
- title: Campaigns
- aggregatedFacts: []
- attributes:
- - id: campaign_id
- labels: []
- sourceColumn: campaign_id
- title: Campaign id
- description: Campaign id
- sourceColumnDataType: INT
- tags:
- - Campaigns
- - id: campaign_name
- labels: []
- sourceColumn: campaign_name
- title: Campaign name
- description: Campaign name
- sourceColumnDataType: STRING
- tags:
- - Campaigns
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaigns
- type: dataSource
- path:
- - demo
- - campaigns
- description: Campaigns
- facts: []
- tags:
- - Campaigns
- - grain:
- - id: customer_id
- type: attribute
- id: customers
- references: []
- title: Customers
- aggregatedFacts: []
- attributes:
- - id: customer_id
- labels: []
- sourceColumn: customer_id
- title: Customer id
- description: Customer id
- sourceColumnDataType: INT
- tags:
- - Customers
- - id: customer_name
- labels: []
- sourceColumn: customer_name
- title: Customer name
- description: Customer name
- sourceColumnDataType: STRING
- tags:
- - Customers
- - id: region
- labels: []
- sourceColumn: region
- title: Region
- description: Region
- sourceColumnDataType: STRING
- tags:
- - Customers
- - id: state
- labels:
- - id: geo__state__location
- sourceColumn: geo__state__location
- title: Location
- description: Location
- sourceColumnDataType: STRING
- tags:
- - Customers
- valueType: GEO
- sourceColumn: state
- title: State
- description: State
- sourceColumnDataType: STRING
- tags:
- - Customers
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: customers
- type: dataSource
- path:
- - demo
- - customers
- description: Customers
- facts: []
- tags:
- - Customers
- - grain:
- - id: order_line_id
- type: attribute
- id: order_lines
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- target:
- id: campaign_id
- type: attribute
- dataType: INT
- - identifier:
- id: customers
- type: dataset
- multivalue: false
- sources:
- - column: customer_id
- target:
- id: customer_id
- type: attribute
- dataType: INT
- - identifier:
- id: date
- type: dataset
- multivalue: false
- sources:
- - column: date
- target:
- id: date
- type: date
- dataType: DATE
- - identifier:
- id: products
- type: dataset
- multivalue: false
- sources:
- - column: product_id
- target:
- id: product_id
- type: attribute
- dataType: INT
- title: Order lines
- aggregatedFacts: []
- attributes:
- - id: order_id
- labels: []
- sourceColumn: order_id
- title: Order id
- description: Order id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- - id: order_line_id
- labels: []
- sourceColumn: order_line_id
- title: Order line id
- description: Order line id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- - id: order_status
- labels: []
- sourceColumn: order_status
- title: Order status
- description: Order status
- sourceColumnDataType: STRING
- tags:
- - Order lines
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: order_lines
- type: dataSource
- path:
- - demo
- - order_lines
- description: Order lines
- facts:
- - id: price
- sourceColumn: price
- title: Price
- description: Price
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- - id: quantity
- sourceColumn: quantity
- title: Quantity
- description: Quantity
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- tags:
- - Order lines
- workspaceDataFilterColumns:
- - dataType: STRING
- name: wdf__region
- - dataType: STRING
- name: wdf__state
- workspaceDataFilterReferences:
- - filterColumn: wdf__region
- filterColumnDataType: STRING
- filterId:
- id: wdf__region
- type: workspaceDataFilter
- - grain:
- - id: product_id
- type: attribute
- id: products
- references: []
- title: Products
- aggregatedFacts: []
- attributes:
- - id: product_id
- labels: []
- sourceColumn: product_id
- title: Product id
- description: Product id
- sourceColumnDataType: INT
- tags:
- - Products
- - id: product_name
- labels: []
- sourceColumn: product_name
- title: Product name
- description: Product name
- sourceColumnDataType: STRING
- tags:
- - Products
- - id: products.category
- labels: []
- sourceColumn: category
- title: Category
- description: Category
- sourceColumnDataType: STRING
- tags:
- - Products
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: products
- type: dataSource
- path:
- - demo
- - products
- description: Products
- facts: []
- tags:
- - Products
- dateInstances:
- - granularities:
- - DAY
- - WEEK
- - MONTH
- - QUARTER
- - YEAR
- granularitiesFormatting:
- titleBase: ''
- titlePattern: '%titleBase - %granularityTitle'
- id: date
- title: Date
- description: ''
- tags:
- - Date
- permissions:
- - assignee:
- id: demo2
- type: user
- name: ANALYZE
- - assignee:
- id: demoGroup
- type: userGroup
- name: VIEW
- settings: []
- userDataFilters: []
- - id: demo_west
- name: Demo West
- automations: []
- customApplicationSettings: []
- filterViews: []
- hierarchyPermissions: []
- model:
- analytics:
- analyticalDashboardExtensions:
- - id: campaign
- permissions:
- - assigneeRule:
- type: allWorkspaceUsers
- name: VIEW
- analyticalDashboards: []
- attributeHierarchies: []
- dashboardPlugins: []
- exportDefinitions: []
- filterContexts: []
- metrics: []
- visualizationObjects: []
- memoryItems: []
- ldm:
- datasetExtensions:
- - id: order_lines
- workspaceDataFilterReferences:
- - filterColumn: wdf__state
- filterColumnDataType: STRING
- filterId:
- id: wdf__state
- type: workspaceDataFilter
- datasets: []
- dateInstances: []
- parent:
- id: demo
- type: workspace
- permissions: []
- settings: []
- userDataFilters: []
- - id: demo_west_california
- name: Demo West California
- automations: []
- customApplicationSettings: []
- filterViews: []
- hierarchyPermissions: []
- model:
- analytics:
- analyticalDashboardExtensions: []
- analyticalDashboards: []
- attributeHierarchies: []
- dashboardPlugins: []
- exportDefinitions: []
- filterContexts: []
- metrics: []
- visualizationObjects: []
- memoryItems: []
- ldm:
- datasets: []
- dateInstances: []
- parent:
- id: demo_west
- type: workspace
- permissions: []
- settings: []
- userDataFilters: []
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_put_declarative_workspace_data_filters.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_put_declarative_workspace_data_filters.yaml
deleted file mode 100644
index e624a55a6..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_put_declarative_workspace_data_filters.yaml
+++ /dev/null
@@ -1,2164 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaceDataFilters
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '603'
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- 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: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaceDataFilters
- body:
- workspaceDataFilters: []
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaceDataFilters
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '27'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- workspaceDataFilters: []
- - request:
- method: PUT
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaceDataFilters
- body:
- 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
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaceDataFilters
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '603'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- 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: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces
- body:
- 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:
- - id: demo
- name: Demo
- automations: []
- customApplicationSettings: []
- filterViews: []
- hierarchyPermissions:
- - assignee:
- id: demo2
- type: user
- name: MANAGE
- - assignee:
- id: demoGroup
- type: userGroup
- name: ANALYZE
- model:
- analytics:
- analyticalDashboardExtensions: []
- analyticalDashboards:
- - content:
- filterContextRef:
- identifier:
- id: campaign_name_filter
- type: filterContext
- layout:
- type: IDashboardLayout
- sections:
- - type: IDashboardLayoutSection
- header:
- title: Spend breakdown and Revenue
- description: The first insight shows a breakdown of
- spend by category and campaign. The second shows revenue
- per $ spend, for each campaign, to demonstrate, how
- campaigns are successful.
- 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: ''
- permissions:
- - assigneeRule:
- type: allWorkspaceUsers
- name: VIEW
- - 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: ''
- attributeHierarchies: []
- 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
- exportDefinitions: []
- 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
- memoryItems: []
- ldm:
- datasets:
- - grain:
- - id: campaign_channel_id
- type: attribute
- id: campaign_channels
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- target:
- id: campaign_id
- type: attribute
- dataType: INT
- title: Campaign channels
- aggregatedFacts: []
- attributes:
- - id: campaign_channel_id
- labels: []
- sourceColumn: campaign_channel_id
- title: Campaign channel id
- description: Campaign channel id
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- - id: campaign_channels.category
- labels: []
- sourceColumn: category
- title: Category
- description: Category
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- - id: type
- labels: []
- sourceColumn: type
- title: Type
- description: Type
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaign_channels
- type: dataSource
- path:
- - demo
- - campaign_channels
- description: Campaign channels
- facts:
- - id: budget
- sourceColumn: budget
- title: Budget
- description: Budget
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- - id: spend
- sourceColumn: spend
- title: Spend
- description: Spend
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- tags:
- - Campaign channels
- - grain: []
- id: campaign_channels_per_category
- references:
- - identifier:
- id: campaign_channels
- type: dataset
- multivalue: false
- sources:
- - column: campaign_channel_id
- target:
- id: campaign_channel_id
- type: attribute
- dataType: STRING
- title: Campaign channels per category
- aggregatedFacts:
- - id: budget_agg
- sourceColumn: budget
- sourceFactReference:
- operation: SUM
- reference:
- id: budget
- type: fact
- description: Budget Agg
- sourceColumnDataType: INT
- tags:
- - Campaign channels per category
- attributes: []
- description: Campaign channels per categories
- facts: []
- precedence: 1
- sql:
- dataSourceId: demo-test-ds
- statement: SELECT category, SUM(budget) FROM campaign_channels
- GROUP BY category
- tags:
- - Campaign channels per category
- - grain:
- - id: campaign_id
- type: attribute
- id: campaigns
- references: []
- title: Campaigns
- aggregatedFacts: []
- attributes:
- - id: campaign_id
- labels: []
- sourceColumn: campaign_id
- title: Campaign id
- description: Campaign id
- sourceColumnDataType: INT
- tags:
- - Campaigns
- - id: campaign_name
- labels: []
- sourceColumn: campaign_name
- title: Campaign name
- description: Campaign name
- sourceColumnDataType: STRING
- tags:
- - Campaigns
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaigns
- type: dataSource
- path:
- - demo
- - campaigns
- description: Campaigns
- facts: []
- tags:
- - Campaigns
- - grain:
- - id: customer_id
- type: attribute
- id: customers
- references: []
- title: Customers
- aggregatedFacts: []
- attributes:
- - id: customer_id
- labels: []
- sourceColumn: customer_id
- title: Customer id
- description: Customer id
- sourceColumnDataType: INT
- tags:
- - Customers
- - id: customer_name
- labels: []
- sourceColumn: customer_name
- title: Customer name
- description: Customer name
- sourceColumnDataType: STRING
- tags:
- - Customers
- - id: region
- labels: []
- sourceColumn: region
- title: Region
- description: Region
- sourceColumnDataType: STRING
- tags:
- - Customers
- - id: state
- labels:
- - id: geo__state__location
- sourceColumn: geo__state__location
- title: Location
- description: Location
- sourceColumnDataType: STRING
- tags:
- - Customers
- valueType: GEO
- sourceColumn: state
- title: State
- description: State
- sourceColumnDataType: STRING
- tags:
- - Customers
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: customers
- type: dataSource
- path:
- - demo
- - customers
- description: Customers
- facts: []
- tags:
- - Customers
- - grain:
- - id: order_line_id
- type: attribute
- id: order_lines
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- target:
- id: campaign_id
- type: attribute
- dataType: INT
- - identifier:
- id: customers
- type: dataset
- multivalue: false
- sources:
- - column: customer_id
- target:
- id: customer_id
- type: attribute
- dataType: INT
- - identifier:
- id: date
- type: dataset
- multivalue: false
- sources:
- - column: date
- target:
- id: date
- type: date
- dataType: DATE
- - identifier:
- id: products
- type: dataset
- multivalue: false
- sources:
- - column: product_id
- target:
- id: product_id
- type: attribute
- dataType: INT
- title: Order lines
- aggregatedFacts: []
- attributes:
- - id: order_id
- labels: []
- sourceColumn: order_id
- title: Order id
- description: Order id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- - id: order_line_id
- labels: []
- sourceColumn: order_line_id
- title: Order line id
- description: Order line id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- - id: order_status
- labels: []
- sourceColumn: order_status
- title: Order status
- description: Order status
- sourceColumnDataType: STRING
- tags:
- - Order lines
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: order_lines
- type: dataSource
- path:
- - demo
- - order_lines
- description: Order lines
- facts:
- - id: price
- sourceColumn: price
- title: Price
- description: Price
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- - id: quantity
- sourceColumn: quantity
- title: Quantity
- description: Quantity
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- tags:
- - Order lines
- workspaceDataFilterColumns:
- - dataType: STRING
- name: wdf__region
- - dataType: STRING
- name: wdf__state
- workspaceDataFilterReferences:
- - filterColumn: wdf__region
- filterColumnDataType: STRING
- filterId:
- id: wdf__region
- type: workspaceDataFilter
- - grain:
- - id: product_id
- type: attribute
- id: products
- references: []
- title: Products
- aggregatedFacts: []
- attributes:
- - id: product_id
- labels: []
- sourceColumn: product_id
- title: Product id
- description: Product id
- sourceColumnDataType: INT
- tags:
- - Products
- - id: product_name
- labels: []
- sourceColumn: product_name
- title: Product name
- description: Product name
- sourceColumnDataType: STRING
- tags:
- - Products
- - id: products.category
- labels: []
- sourceColumn: category
- title: Category
- description: Category
- sourceColumnDataType: STRING
- tags:
- - Products
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: products
- type: dataSource
- path:
- - demo
- - products
- description: Products
- facts: []
- tags:
- - Products
- dateInstances:
- - granularities:
- - DAY
- - WEEK
- - MONTH
- - QUARTER
- - YEAR
- granularitiesFormatting:
- titleBase: ''
- titlePattern: '%titleBase - %granularityTitle'
- id: date
- title: Date
- description: ''
- tags:
- - Date
- permissions:
- - assignee:
- id: demo2
- type: user
- name: ANALYZE
- - assignee:
- id: demoGroup
- type: userGroup
- name: VIEW
- settings: []
- userDataFilters: []
- - id: demo_west
- name: Demo West
- automations: []
- customApplicationSettings: []
- filterViews: []
- hierarchyPermissions: []
- model:
- analytics:
- analyticalDashboardExtensions:
- - id: campaign
- permissions:
- - assigneeRule:
- type: allWorkspaceUsers
- name: VIEW
- analyticalDashboards: []
- attributeHierarchies: []
- dashboardPlugins: []
- exportDefinitions: []
- filterContexts: []
- metrics: []
- visualizationObjects: []
- memoryItems: []
- ldm:
- datasetExtensions:
- - id: order_lines
- workspaceDataFilterReferences:
- - filterColumn: wdf__state
- filterColumnDataType: STRING
- filterId:
- id: wdf__state
- type: workspaceDataFilter
- datasets: []
- dateInstances: []
- parent:
- id: demo
- type: workspace
- permissions: []
- settings: []
- userDataFilters: []
- - id: demo_west_california
- name: Demo West California
- automations: []
- customApplicationSettings: []
- filterViews: []
- hierarchyPermissions: []
- model:
- analytics:
- analyticalDashboardExtensions: []
- analyticalDashboards: []
- attributeHierarchies: []
- dashboardPlugins: []
- exportDefinitions: []
- filterContexts: []
- metrics: []
- visualizationObjects: []
- memoryItems: []
- ldm:
- datasets: []
- dateInstances: []
- parent:
- id: demo_west
- type: workspace
- permissions: []
- settings: []
- userDataFilters: []
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_put_declarative_workspaces.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_put_declarative_workspaces.yaml
deleted file mode 100644
index 8c8c624a7..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_put_declarative_workspaces.yaml
+++ /dev/null
@@ -1,7508 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces?exclude=ACTIVITY_INFO
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- 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:
- - automations: []
- customApplicationSettings: []
- filterViews: []
- hierarchyPermissions:
- - assignee:
- id: demo2
- type: user
- name: MANAGE
- - assignee:
- id: demoGroup
- type: userGroup
- name: ANALYZE
- id: demo
- model:
- analytics:
- analyticalDashboardExtensions: []
- analyticalDashboards:
- - content:
- filterContextRef:
- identifier:
- id: campaign_name_filter
- type: filterContext
- layout:
- type: IDashboardLayout
- sections:
- - type: IDashboardLayoutSection
- header:
- title: Spend breakdown and Revenue
- description: The first insight shows a breakdown of
- spend by category and campaign. The second shows
- revenue per $ spend, for each campaign, to demonstrate,
- how campaigns are successful.
- 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
- permissions:
- - assigneeRule:
- type: allWorkspaceUsers
- name: VIEW
- 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
- attributeHierarchies: []
- 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
- exportDefinitions: []
- 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
- memoryItems: []
- 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:
- - aggregatedFacts: []
- attributes:
- - description: Campaign channel id
- id: campaign_channel_id
- labels: []
- sourceColumn: campaign_channel_id
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Campaign channel id
- - description: Category
- id: campaign_channels.category
- labels: []
- sourceColumn: category
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Category
- - description: Type
- id: type
- labels: []
- sourceColumn: type
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Type
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaign_channels
- path:
- - demo
- - campaign_channels
- type: dataSource
- description: Campaign channels
- facts:
- - description: Budget
- id: budget
- sourceColumn: budget
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- title: Budget
- - description: Spend
- id: spend
- sourceColumn: spend
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- title: Spend
- grain:
- - id: campaign_channel_id
- type: attribute
- id: campaign_channels
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- dataType: INT
- target:
- id: campaign_id
- type: attribute
- tags:
- - Campaign channels
- title: Campaign channels
- - aggregatedFacts:
- - description: Budget Agg
- id: budget_agg
- sourceColumn: budget
- sourceColumnDataType: INT
- sourceFactReference:
- operation: SUM
- reference:
- id: budget
- type: fact
- tags:
- - Campaign channels per category
- attributes: []
- description: Campaign channels per categories
- facts: []
- grain: []
- id: campaign_channels_per_category
- precedence: 1
- references:
- - identifier:
- id: campaign_channels
- type: dataset
- multivalue: false
- sources:
- - column: campaign_channel_id
- dataType: STRING
- target:
- id: campaign_channel_id
- type: attribute
- sql:
- dataSourceId: demo-test-ds
- statement: SELECT category, SUM(budget) FROM campaign_channels
- GROUP BY category
- tags:
- - Campaign channels per category
- title: Campaign channels per category
- - aggregatedFacts: []
- attributes:
- - description: Campaign id
- id: campaign_id
- labels: []
- sourceColumn: campaign_id
- sourceColumnDataType: INT
- tags:
- - Campaigns
- title: Campaign id
- - description: Campaign name
- id: campaign_name
- labels: []
- sourceColumn: campaign_name
- sourceColumnDataType: STRING
- tags:
- - Campaigns
- title: Campaign name
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaigns
- path:
- - demo
- - campaigns
- type: dataSource
- description: Campaigns
- facts: []
- grain:
- - id: campaign_id
- type: attribute
- id: campaigns
- references: []
- tags:
- - Campaigns
- title: Campaigns
- - aggregatedFacts: []
- attributes:
- - description: Customer id
- id: customer_id
- labels: []
- sourceColumn: customer_id
- sourceColumnDataType: INT
- tags:
- - Customers
- title: Customer id
- - description: Customer name
- id: customer_name
- labels: []
- sourceColumn: customer_name
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Customer name
- - description: Region
- id: region
- labels: []
- sourceColumn: region
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Region
- - description: State
- id: state
- labels:
- - description: Location
- id: geo__state__location
- sourceColumn: geo__state__location
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Location
- valueType: GEO
- sourceColumn: state
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: State
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: customers
- path:
- - demo
- - customers
- type: dataSource
- description: Customers
- facts: []
- grain:
- - id: customer_id
- type: attribute
- id: customers
- references: []
- tags:
- - Customers
- title: Customers
- - aggregatedFacts: []
- attributes:
- - description: Order id
- id: order_id
- labels: []
- sourceColumn: order_id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order id
- - description: Order line id
- id: order_line_id
- labels: []
- sourceColumn: order_line_id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order line id
- - description: Order status
- id: order_status
- labels: []
- sourceColumn: order_status
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order status
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: order_lines
- path:
- - demo
- - order_lines
- type: dataSource
- description: Order lines
- facts:
- - description: Price
- id: price
- sourceColumn: price
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- title: Price
- - description: Quantity
- id: quantity
- sourceColumn: quantity
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- title: Quantity
- grain:
- - id: order_line_id
- type: attribute
- id: order_lines
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- dataType: INT
- target:
- id: campaign_id
- type: attribute
- - identifier:
- id: customers
- type: dataset
- multivalue: false
- sources:
- - column: customer_id
- dataType: INT
- target:
- id: customer_id
- type: attribute
- - identifier:
- id: date
- type: dataset
- multivalue: false
- sources:
- - column: date
- dataType: DATE
- target:
- id: date
- type: date
- - identifier:
- id: products
- type: dataset
- multivalue: false
- sources:
- - column: product_id
- dataType: INT
- target:
- id: product_id
- type: attribute
- tags:
- - Order lines
- title: Order lines
- workspaceDataFilterColumns:
- - dataType: STRING
- name: wdf__region
- - dataType: STRING
- name: wdf__state
- workspaceDataFilterReferences:
- - filterColumn: wdf__region
- filterColumnDataType: STRING
- filterId:
- id: wdf__region
- type: workspaceDataFilter
- - aggregatedFacts: []
- attributes:
- - description: Product id
- id: product_id
- labels: []
- sourceColumn: product_id
- sourceColumnDataType: INT
- tags:
- - Products
- title: Product id
- - description: Product name
- id: product_name
- labels: []
- sourceColumn: product_name
- sourceColumnDataType: STRING
- tags:
- - Products
- title: Product name
- - description: Category
- id: products.category
- labels: []
- sourceColumn: category
- sourceColumnDataType: STRING
- tags:
- - Products
- title: Category
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: products
- path:
- - demo
- - products
- type: dataSource
- description: Products
- facts: []
- grain:
- - id: product_id
- type: attribute
- id: products
- references: []
- tags:
- - Products
- title: Products
- dateInstances:
- - description: ''
- granularities:
- - DAY
- - WEEK
- - MONTH
- - QUARTER
- - 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: []
- userDataFilters: []
- - automations: []
- customApplicationSettings: []
- filterViews: []
- hierarchyPermissions: []
- id: demo_west
- model:
- analytics:
- analyticalDashboardExtensions:
- - id: campaign
- permissions:
- - assigneeRule:
- type: allWorkspaceUsers
- name: VIEW
- analyticalDashboards: []
- attributeHierarchies: []
- dashboardPlugins: []
- exportDefinitions: []
- filterContexts: []
- memoryItems: []
- metrics: []
- visualizationObjects: []
- ldm:
- datasetExtensions:
- - id: order_lines
- workspaceDataFilterReferences:
- - filterColumn: wdf__state
- filterColumnDataType: STRING
- filterId:
- id: wdf__state
- type: workspaceDataFilter
- datasets: []
- dateInstances: []
- name: Demo West
- parent:
- id: demo
- type: workspace
- permissions: []
- settings: []
- userDataFilters: []
- - automations: []
- customApplicationSettings: []
- filterViews: []
- hierarchyPermissions: []
- id: demo_west_california
- model:
- analytics:
- analyticalDashboardExtensions: []
- analyticalDashboards: []
- attributeHierarchies: []
- dashboardPlugins: []
- exportDefinitions: []
- filterContexts: []
- memoryItems: []
- metrics: []
- visualizationObjects: []
- ldm:
- datasets: []
- dateInstances: []
- name: Demo West California
- parent:
- id: demo_west
- type: workspace
- permissions: []
- settings: []
- userDataFilters: []
- - request:
- method: PUT
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces
- body:
- workspaceDataFilters: []
- workspaces: []
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '43'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- workspaceDataFilters: []
- workspaces: []
- - request:
- method: PUT
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces
- body:
- 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:
- - 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
- sources:
- - column: campaign_id
- target:
- id: campaign_id
- type: attribute
- dataType: INT
- title: Campaign channels
- description: Campaign channels
- attributes:
- - id: campaign_channel_id
- labels: []
- sourceColumn: campaign_channel_id
- title: Campaign channel id
- sourceColumnDataType: STRING
- description: Campaign channel id
- tags:
- - Campaign channels
- - id: campaign_channels.category
- labels: []
- sourceColumn: category
- title: Category
- sourceColumnDataType: STRING
- description: Category
- tags:
- - Campaign channels
- - id: type
- labels: []
- sourceColumn: type
- title: Type
- sourceColumnDataType: STRING
- description: Type
- tags:
- - Campaign channels
- facts:
- - id: budget
- sourceColumn: budget
- title: Budget
- sourceColumnDataType: NUMERIC
- description: Budget
- tags:
- - Campaign channels
- - id: spend
- sourceColumn: spend
- title: Spend
- sourceColumnDataType: NUMERIC
- description: Spend
- tags:
- - Campaign channels
- aggregatedFacts: []
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaign_channels
- type: dataSource
- path:
- - demo
- - campaign_channels
- tags:
- - Campaign channels
- - grain: []
- id: campaign_channels_per_category
- references:
- - identifier:
- id: campaign_channels
- type: dataset
- multivalue: false
- sources:
- - column: campaign_channel_id
- target:
- id: campaign_channel_id
- type: attribute
- dataType: STRING
- title: Campaign channels per category
- description: Campaign channels per categories
- attributes: []
- facts: []
- aggregatedFacts:
- - id: budget_agg
- sourceColumn: budget
- sourceFactReference:
- operation: SUM
- reference:
- id: budget
- type: fact
- sourceColumnDataType: INT
- description: Budget Agg
- tags:
- - Campaign channels per category
- precedence: 1
- sql:
- dataSourceId: demo-test-ds
- statement: SELECT category, SUM(budget) FROM campaign_channels
- GROUP BY category
- tags:
- - Campaign channels per category
- - grain:
- - id: campaign_id
- type: attribute
- id: campaigns
- references: []
- title: Campaigns
- description: Campaigns
- attributes:
- - id: campaign_id
- labels: []
- sourceColumn: campaign_id
- title: Campaign id
- sourceColumnDataType: INT
- description: Campaign id
- tags:
- - Campaigns
- - id: campaign_name
- labels: []
- sourceColumn: campaign_name
- title: Campaign name
- sourceColumnDataType: STRING
- description: Campaign name
- tags:
- - Campaigns
- facts: []
- aggregatedFacts: []
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaigns
- type: dataSource
- path:
- - demo
- - campaigns
- 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
- sourceColumnDataType: INT
- description: Customer id
- tags:
- - Customers
- - id: customer_name
- labels: []
- sourceColumn: customer_name
- title: Customer name
- sourceColumnDataType: STRING
- description: Customer name
- tags:
- - Customers
- - id: region
- labels: []
- sourceColumn: region
- title: Region
- sourceColumnDataType: STRING
- description: Region
- tags:
- - Customers
- - id: state
- labels:
- - id: geo__state__location
- sourceColumn: geo__state__location
- title: Location
- sourceColumnDataType: STRING
- description: Location
- tags:
- - Customers
- valueType: GEO
- sourceColumn: state
- title: State
- sourceColumnDataType: STRING
- description: State
- tags:
- - Customers
- facts: []
- aggregatedFacts: []
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: customers
- type: dataSource
- path:
- - demo
- - customers
- tags:
- - Customers
- - grain:
- - id: order_line_id
- type: attribute
- id: order_lines
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- target:
- id: campaign_id
- type: attribute
- dataType: INT
- - identifier:
- id: customers
- type: dataset
- multivalue: false
- sources:
- - column: customer_id
- target:
- id: customer_id
- type: attribute
- dataType: INT
- - identifier:
- id: date
- type: dataset
- multivalue: false
- sources:
- - column: date
- target:
- id: date
- type: date
- dataType: DATE
- - identifier:
- id: products
- type: dataset
- multivalue: false
- sources:
- - column: product_id
- target:
- id: product_id
- type: attribute
- dataType: INT
- title: Order lines
- description: Order lines
- attributes:
- - id: order_id
- labels: []
- sourceColumn: order_id
- title: Order id
- sourceColumnDataType: STRING
- description: Order id
- tags:
- - Order lines
- - id: order_line_id
- labels: []
- sourceColumn: order_line_id
- title: Order line id
- sourceColumnDataType: STRING
- description: Order line id
- tags:
- - Order lines
- - id: order_status
- labels: []
- sourceColumn: order_status
- title: Order status
- sourceColumnDataType: STRING
- description: Order status
- tags:
- - Order lines
- facts:
- - id: price
- sourceColumn: price
- title: Price
- sourceColumnDataType: NUMERIC
- description: Price
- tags:
- - Order lines
- - id: quantity
- sourceColumn: quantity
- title: Quantity
- sourceColumnDataType: NUMERIC
- description: Quantity
- tags:
- - Order lines
- aggregatedFacts: []
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: order_lines
- type: dataSource
- path:
- - demo
- - order_lines
- tags:
- - Order lines
- workspaceDataFilterColumns:
- - dataType: STRING
- name: wdf__region
- - dataType: STRING
- name: wdf__state
- workspaceDataFilterReferences:
- - filterColumn: wdf__region
- filterColumnDataType: STRING
- filterId:
- id: wdf__region
- type: workspaceDataFilter
- - grain:
- - id: product_id
- type: attribute
- id: products
- references: []
- title: Products
- description: Products
- attributes:
- - id: product_id
- labels: []
- sourceColumn: product_id
- title: Product id
- sourceColumnDataType: INT
- description: Product id
- tags:
- - Products
- - id: product_name
- labels: []
- sourceColumn: product_name
- title: Product name
- sourceColumnDataType: STRING
- description: Product name
- tags:
- - Products
- - id: products.category
- labels: []
- sourceColumn: category
- title: Category
- sourceColumnDataType: STRING
- description: Category
- tags:
- - Products
- facts: []
- aggregatedFacts: []
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: products
- type: dataSource
- path:
- - demo
- - products
- tags:
- - Products
- dateInstances:
- - granularities:
- - DAY
- - WEEK
- - MONTH
- - QUARTER
- - 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
- header:
- title: Spend breakdown and Revenue
- description: The first insight shows a breakdown of
- spend by category and campaign. The second shows revenue
- per $ spend, for each campaign, to demonstrate, how
- campaigns are successful.
- 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: ''
- permissions:
- - name: VIEW
- assigneeRule:
- type: allWorkspaceUsers
- - 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: ''
- analyticalDashboardExtensions: []
- attributeHierarchies: []
- 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
- exportDefinitions: []
- memoryItems: []
- 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: []
- userDataFilters: []
- customApplicationSettings: []
- automations: []
- filterViews: []
- - id: demo_west
- name: Demo West
- model:
- ldm:
- datasets: []
- dateInstances: []
- datasetExtensions:
- - id: order_lines
- workspaceDataFilterReferences:
- - filterColumn: wdf__state
- filterColumnDataType: STRING
- filterId:
- id: wdf__state
- type: workspaceDataFilter
- analytics:
- analyticalDashboards: []
- analyticalDashboardExtensions:
- - id: campaign
- permissions:
- - name: VIEW
- assigneeRule:
- type: allWorkspaceUsers
- attributeHierarchies: []
- dashboardPlugins: []
- filterContexts: []
- metrics: []
- visualizationObjects: []
- exportDefinitions: []
- memoryItems: []
- parent:
- id: demo
- type: workspace
- permissions: []
- hierarchyPermissions: []
- settings: []
- userDataFilters: []
- customApplicationSettings: []
- automations: []
- filterViews: []
- - id: demo_west_california
- name: Demo West California
- model:
- ldm:
- datasets: []
- dateInstances: []
- analytics:
- analyticalDashboards: []
- analyticalDashboardExtensions: []
- attributeHierarchies: []
- dashboardPlugins: []
- filterContexts: []
- metrics: []
- visualizationObjects: []
- exportDefinitions: []
- memoryItems: []
- parent:
- id: demo_west
- type: workspace
- permissions: []
- hierarchyPermissions: []
- settings: []
- userDataFilters: []
- customApplicationSettings: []
- automations: []
- filterViews: []
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces?exclude=ACTIVITY_INFO
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- 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:
- - automations: []
- customApplicationSettings: []
- filterViews: []
- hierarchyPermissions:
- - assignee:
- id: demo2
- type: user
- name: MANAGE
- - assignee:
- id: demoGroup
- type: userGroup
- name: ANALYZE
- id: demo
- model:
- analytics:
- analyticalDashboardExtensions: []
- analyticalDashboards:
- - content:
- filterContextRef:
- identifier:
- id: campaign_name_filter
- type: filterContext
- layout:
- type: IDashboardLayout
- sections:
- - type: IDashboardLayoutSection
- header:
- title: Spend breakdown and Revenue
- description: The first insight shows a breakdown of
- spend by category and campaign. The second shows
- revenue per $ spend, for each campaign, to demonstrate,
- how campaigns are successful.
- 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
- permissions:
- - assigneeRule:
- type: allWorkspaceUsers
- name: VIEW
- 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
- attributeHierarchies: []
- 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
- exportDefinitions: []
- 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
- memoryItems: []
- 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:
- - aggregatedFacts: []
- attributes:
- - description: Campaign channel id
- id: campaign_channel_id
- labels: []
- sourceColumn: campaign_channel_id
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Campaign channel id
- - description: Category
- id: campaign_channels.category
- labels: []
- sourceColumn: category
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Category
- - description: Type
- id: type
- labels: []
- sourceColumn: type
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Type
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaign_channels
- path:
- - demo
- - campaign_channels
- type: dataSource
- description: Campaign channels
- facts:
- - description: Budget
- id: budget
- sourceColumn: budget
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- title: Budget
- - description: Spend
- id: spend
- sourceColumn: spend
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- title: Spend
- grain:
- - id: campaign_channel_id
- type: attribute
- id: campaign_channels
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- dataType: INT
- target:
- id: campaign_id
- type: attribute
- tags:
- - Campaign channels
- title: Campaign channels
- - aggregatedFacts:
- - description: Budget Agg
- id: budget_agg
- sourceColumn: budget
- sourceColumnDataType: INT
- sourceFactReference:
- operation: SUM
- reference:
- id: budget
- type: fact
- tags:
- - Campaign channels per category
- attributes: []
- description: Campaign channels per categories
- facts: []
- grain: []
- id: campaign_channels_per_category
- precedence: 1
- references:
- - identifier:
- id: campaign_channels
- type: dataset
- multivalue: false
- sources:
- - column: campaign_channel_id
- dataType: STRING
- target:
- id: campaign_channel_id
- type: attribute
- sql:
- dataSourceId: demo-test-ds
- statement: SELECT category, SUM(budget) FROM campaign_channels
- GROUP BY category
- tags:
- - Campaign channels per category
- title: Campaign channels per category
- - aggregatedFacts: []
- attributes:
- - description: Campaign id
- id: campaign_id
- labels: []
- sourceColumn: campaign_id
- sourceColumnDataType: INT
- tags:
- - Campaigns
- title: Campaign id
- - description: Campaign name
- id: campaign_name
- labels: []
- sourceColumn: campaign_name
- sourceColumnDataType: STRING
- tags:
- - Campaigns
- title: Campaign name
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaigns
- path:
- - demo
- - campaigns
- type: dataSource
- description: Campaigns
- facts: []
- grain:
- - id: campaign_id
- type: attribute
- id: campaigns
- references: []
- tags:
- - Campaigns
- title: Campaigns
- - aggregatedFacts: []
- attributes:
- - description: Customer id
- id: customer_id
- labels: []
- sourceColumn: customer_id
- sourceColumnDataType: INT
- tags:
- - Customers
- title: Customer id
- - description: Customer name
- id: customer_name
- labels: []
- sourceColumn: customer_name
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Customer name
- - description: Region
- id: region
- labels: []
- sourceColumn: region
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Region
- - description: State
- id: state
- labels:
- - description: Location
- id: geo__state__location
- sourceColumn: geo__state__location
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Location
- valueType: GEO
- sourceColumn: state
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: State
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: customers
- path:
- - demo
- - customers
- type: dataSource
- description: Customers
- facts: []
- grain:
- - id: customer_id
- type: attribute
- id: customers
- references: []
- tags:
- - Customers
- title: Customers
- - aggregatedFacts: []
- attributes:
- - description: Order id
- id: order_id
- labels: []
- sourceColumn: order_id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order id
- - description: Order line id
- id: order_line_id
- labels: []
- sourceColumn: order_line_id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order line id
- - description: Order status
- id: order_status
- labels: []
- sourceColumn: order_status
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order status
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: order_lines
- path:
- - demo
- - order_lines
- type: dataSource
- description: Order lines
- facts:
- - description: Price
- id: price
- sourceColumn: price
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- title: Price
- - description: Quantity
- id: quantity
- sourceColumn: quantity
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- title: Quantity
- grain:
- - id: order_line_id
- type: attribute
- id: order_lines
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- dataType: INT
- target:
- id: campaign_id
- type: attribute
- - identifier:
- id: customers
- type: dataset
- multivalue: false
- sources:
- - column: customer_id
- dataType: INT
- target:
- id: customer_id
- type: attribute
- - identifier:
- id: date
- type: dataset
- multivalue: false
- sources:
- - column: date
- dataType: DATE
- target:
- id: date
- type: date
- - identifier:
- id: products
- type: dataset
- multivalue: false
- sources:
- - column: product_id
- dataType: INT
- target:
- id: product_id
- type: attribute
- tags:
- - Order lines
- title: Order lines
- workspaceDataFilterColumns:
- - dataType: STRING
- name: wdf__region
- - dataType: STRING
- name: wdf__state
- workspaceDataFilterReferences:
- - filterColumn: wdf__region
- filterColumnDataType: STRING
- filterId:
- id: wdf__region
- type: workspaceDataFilter
- - aggregatedFacts: []
- attributes:
- - description: Product id
- id: product_id
- labels: []
- sourceColumn: product_id
- sourceColumnDataType: INT
- tags:
- - Products
- title: Product id
- - description: Product name
- id: product_name
- labels: []
- sourceColumn: product_name
- sourceColumnDataType: STRING
- tags:
- - Products
- title: Product name
- - description: Category
- id: products.category
- labels: []
- sourceColumn: category
- sourceColumnDataType: STRING
- tags:
- - Products
- title: Category
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: products
- path:
- - demo
- - products
- type: dataSource
- description: Products
- facts: []
- grain:
- - id: product_id
- type: attribute
- id: products
- references: []
- tags:
- - Products
- title: Products
- dateInstances:
- - description: ''
- granularities:
- - DAY
- - WEEK
- - MONTH
- - QUARTER
- - 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: []
- userDataFilters: []
- - automations: []
- customApplicationSettings: []
- filterViews: []
- hierarchyPermissions: []
- id: demo_west
- model:
- analytics:
- analyticalDashboardExtensions:
- - id: campaign
- permissions:
- - assigneeRule:
- type: allWorkspaceUsers
- name: VIEW
- analyticalDashboards: []
- attributeHierarchies: []
- dashboardPlugins: []
- exportDefinitions: []
- filterContexts: []
- memoryItems: []
- metrics: []
- visualizationObjects: []
- ldm:
- datasetExtensions:
- - id: order_lines
- workspaceDataFilterReferences:
- - filterColumn: wdf__state
- filterColumnDataType: STRING
- filterId:
- id: wdf__state
- type: workspaceDataFilter
- datasets: []
- dateInstances: []
- name: Demo West
- parent:
- id: demo
- type: workspace
- permissions: []
- settings: []
- userDataFilters: []
- - automations: []
- customApplicationSettings: []
- filterViews: []
- hierarchyPermissions: []
- id: demo_west_california
- model:
- analytics:
- analyticalDashboardExtensions: []
- analyticalDashboards: []
- attributeHierarchies: []
- dashboardPlugins: []
- exportDefinitions: []
- filterContexts: []
- memoryItems: []
- metrics: []
- visualizationObjects: []
- ldm:
- datasets: []
- dateInstances: []
- name: Demo West California
- parent:
- id: demo_west
- type: workspace
- permissions: []
- settings: []
- userDataFilters: []
- - request:
- method: PUT
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces
- body:
- 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:
- - id: demo
- name: Demo
- automations: []
- customApplicationSettings: []
- filterViews: []
- hierarchyPermissions:
- - assignee:
- id: demo2
- type: user
- name: MANAGE
- - assignee:
- id: demoGroup
- type: userGroup
- name: ANALYZE
- model:
- analytics:
- analyticalDashboardExtensions: []
- analyticalDashboards:
- - content:
- filterContextRef:
- identifier:
- id: campaign_name_filter
- type: filterContext
- layout:
- type: IDashboardLayout
- sections:
- - type: IDashboardLayoutSection
- header:
- title: Spend breakdown and Revenue
- description: The first insight shows a breakdown of
- spend by category and campaign. The second shows revenue
- per $ spend, for each campaign, to demonstrate, how
- campaigns are successful.
- 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: ''
- permissions:
- - assigneeRule:
- type: allWorkspaceUsers
- name: VIEW
- - 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: ''
- attributeHierarchies: []
- 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
- exportDefinitions: []
- 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
- memoryItems: []
- ldm:
- datasets:
- - grain:
- - id: campaign_channel_id
- type: attribute
- id: campaign_channels
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- target:
- id: campaign_id
- type: attribute
- dataType: INT
- title: Campaign channels
- aggregatedFacts: []
- attributes:
- - id: campaign_channel_id
- labels: []
- sourceColumn: campaign_channel_id
- title: Campaign channel id
- description: Campaign channel id
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- - id: campaign_channels.category
- labels: []
- sourceColumn: category
- title: Category
- description: Category
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- - id: type
- labels: []
- sourceColumn: type
- title: Type
- description: Type
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaign_channels
- type: dataSource
- path:
- - demo
- - campaign_channels
- description: Campaign channels
- facts:
- - id: budget
- sourceColumn: budget
- title: Budget
- description: Budget
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- - id: spend
- sourceColumn: spend
- title: Spend
- description: Spend
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- tags:
- - Campaign channels
- - grain: []
- id: campaign_channels_per_category
- references:
- - identifier:
- id: campaign_channels
- type: dataset
- multivalue: false
- sources:
- - column: campaign_channel_id
- target:
- id: campaign_channel_id
- type: attribute
- dataType: STRING
- title: Campaign channels per category
- aggregatedFacts:
- - id: budget_agg
- sourceColumn: budget
- sourceFactReference:
- operation: SUM
- reference:
- id: budget
- type: fact
- description: Budget Agg
- sourceColumnDataType: INT
- tags:
- - Campaign channels per category
- attributes: []
- description: Campaign channels per categories
- facts: []
- precedence: 1
- sql:
- dataSourceId: demo-test-ds
- statement: SELECT category, SUM(budget) FROM campaign_channels
- GROUP BY category
- tags:
- - Campaign channels per category
- - grain:
- - id: campaign_id
- type: attribute
- id: campaigns
- references: []
- title: Campaigns
- aggregatedFacts: []
- attributes:
- - id: campaign_id
- labels: []
- sourceColumn: campaign_id
- title: Campaign id
- description: Campaign id
- sourceColumnDataType: INT
- tags:
- - Campaigns
- - id: campaign_name
- labels: []
- sourceColumn: campaign_name
- title: Campaign name
- description: Campaign name
- sourceColumnDataType: STRING
- tags:
- - Campaigns
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaigns
- type: dataSource
- path:
- - demo
- - campaigns
- description: Campaigns
- facts: []
- tags:
- - Campaigns
- - grain:
- - id: customer_id
- type: attribute
- id: customers
- references: []
- title: Customers
- aggregatedFacts: []
- attributes:
- - id: customer_id
- labels: []
- sourceColumn: customer_id
- title: Customer id
- description: Customer id
- sourceColumnDataType: INT
- tags:
- - Customers
- - id: customer_name
- labels: []
- sourceColumn: customer_name
- title: Customer name
- description: Customer name
- sourceColumnDataType: STRING
- tags:
- - Customers
- - id: region
- labels: []
- sourceColumn: region
- title: Region
- description: Region
- sourceColumnDataType: STRING
- tags:
- - Customers
- - id: state
- labels:
- - id: geo__state__location
- sourceColumn: geo__state__location
- title: Location
- description: Location
- sourceColumnDataType: STRING
- tags:
- - Customers
- valueType: GEO
- sourceColumn: state
- title: State
- description: State
- sourceColumnDataType: STRING
- tags:
- - Customers
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: customers
- type: dataSource
- path:
- - demo
- - customers
- description: Customers
- facts: []
- tags:
- - Customers
- - grain:
- - id: order_line_id
- type: attribute
- id: order_lines
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- target:
- id: campaign_id
- type: attribute
- dataType: INT
- - identifier:
- id: customers
- type: dataset
- multivalue: false
- sources:
- - column: customer_id
- target:
- id: customer_id
- type: attribute
- dataType: INT
- - identifier:
- id: date
- type: dataset
- multivalue: false
- sources:
- - column: date
- target:
- id: date
- type: date
- dataType: DATE
- - identifier:
- id: products
- type: dataset
- multivalue: false
- sources:
- - column: product_id
- target:
- id: product_id
- type: attribute
- dataType: INT
- title: Order lines
- aggregatedFacts: []
- attributes:
- - id: order_id
- labels: []
- sourceColumn: order_id
- title: Order id
- description: Order id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- - id: order_line_id
- labels: []
- sourceColumn: order_line_id
- title: Order line id
- description: Order line id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- - id: order_status
- labels: []
- sourceColumn: order_status
- title: Order status
- description: Order status
- sourceColumnDataType: STRING
- tags:
- - Order lines
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: order_lines
- type: dataSource
- path:
- - demo
- - order_lines
- description: Order lines
- facts:
- - id: price
- sourceColumn: price
- title: Price
- description: Price
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- - id: quantity
- sourceColumn: quantity
- title: Quantity
- description: Quantity
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- tags:
- - Order lines
- workspaceDataFilterColumns:
- - dataType: STRING
- name: wdf__region
- - dataType: STRING
- name: wdf__state
- workspaceDataFilterReferences:
- - filterColumn: wdf__region
- filterColumnDataType: STRING
- filterId:
- id: wdf__region
- type: workspaceDataFilter
- - grain:
- - id: product_id
- type: attribute
- id: products
- references: []
- title: Products
- aggregatedFacts: []
- attributes:
- - id: product_id
- labels: []
- sourceColumn: product_id
- title: Product id
- description: Product id
- sourceColumnDataType: INT
- tags:
- - Products
- - id: product_name
- labels: []
- sourceColumn: product_name
- title: Product name
- description: Product name
- sourceColumnDataType: STRING
- tags:
- - Products
- - id: products.category
- labels: []
- sourceColumn: category
- title: Category
- description: Category
- sourceColumnDataType: STRING
- tags:
- - Products
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: products
- type: dataSource
- path:
- - demo
- - products
- description: Products
- facts: []
- tags:
- - Products
- dateInstances:
- - granularities:
- - DAY
- - WEEK
- - MONTH
- - QUARTER
- - YEAR
- granularitiesFormatting:
- titleBase: ''
- titlePattern: '%titleBase - %granularityTitle'
- id: date
- title: Date
- description: ''
- tags:
- - Date
- permissions:
- - assignee:
- id: demo2
- type: user
- name: ANALYZE
- - assignee:
- id: demoGroup
- type: userGroup
- name: VIEW
- settings: []
- userDataFilters: []
- - id: demo_west
- name: Demo West
- automations: []
- customApplicationSettings: []
- filterViews: []
- hierarchyPermissions: []
- model:
- analytics:
- analyticalDashboardExtensions:
- - id: campaign
- permissions:
- - assigneeRule:
- type: allWorkspaceUsers
- name: VIEW
- analyticalDashboards: []
- attributeHierarchies: []
- dashboardPlugins: []
- exportDefinitions: []
- filterContexts: []
- metrics: []
- visualizationObjects: []
- memoryItems: []
- ldm:
- datasetExtensions:
- - id: order_lines
- workspaceDataFilterReferences:
- - filterColumn: wdf__state
- filterColumnDataType: STRING
- filterId:
- id: wdf__state
- type: workspaceDataFilter
- datasets: []
- dateInstances: []
- parent:
- id: demo
- type: workspace
- permissions: []
- settings: []
- userDataFilters: []
- - id: demo_west_california
- name: Demo West California
- automations: []
- customApplicationSettings: []
- filterViews: []
- hierarchyPermissions: []
- model:
- analytics:
- analyticalDashboardExtensions: []
- analyticalDashboards: []
- attributeHierarchies: []
- dashboardPlugins: []
- exportDefinitions: []
- filterContexts: []
- metrics: []
- visualizationObjects: []
- memoryItems: []
- ldm:
- datasets: []
- dateInstances: []
- parent:
- id: demo_west
- type: workspace
- permissions: []
- settings: []
- userDataFilters: []
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_store_declarative_user_data_filters.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_store_declarative_user_data_filters.yaml
deleted file mode 100644
index 2d7cd3c0d..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_store_declarative_user_data_filters.yaml
+++ /dev/null
@@ -1,320 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces/demo/userDataFilters
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '22'
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- userDataFilters: []
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces/demo/userDataFilters
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '22'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- userDataFilters: []
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/organization
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 302
- message: Found
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '0'
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Location:
- - /api/v1/entities/admin/organizations/python-sdk-dex
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/admin/organizations/python-sdk-dex
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '564'
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- name: Python SDK Dex
- hostname: python-sdk-dex.dev-latest.stg11.panther.intgdc.com
- allowedOrigins: []
- earlyAccess: enableAlerting
- earlyAccessValues:
- - enableAlerting
- - enableSmtp
- - enablePreAggregationDatasets
- - enableScheduling
- - enableCompositeGrain
- - enableUserManagement
- - enableRawExports
- - enableFlexibleDashboardLayout
- region: ''
- dataCenter: ''
- id: python-sdk-dex
- type: organization
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/admin/organizations/python-sdk-dex
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/organization
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 302
- message: Found
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '0'
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Location:
- - /api/v1/entities/admin/organizations/python-sdk-dex
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/admin/organizations/python-sdk-dex
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '564'
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- name: Python SDK Dex
- hostname: python-sdk-dex.dev-latest.stg11.panther.intgdc.com
- allowedOrigins: []
- earlyAccess: enableAlerting
- earlyAccessValues:
- - enableAlerting
- - enableSmtp
- - enablePreAggregationDatasets
- - enableScheduling
- - enableCompositeGrain
- - enableUserManagement
- - enableRawExports
- - enableFlexibleDashboardLayout
- region: ''
- dataCenter: ''
- id: python-sdk-dex
- type: organization
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/admin/organizations/python-sdk-dex
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_store_declarative_workspace.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_store_declarative_workspace.yaml
deleted file mode 100644
index d08fb1d41..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_store_declarative_workspace.yaml
+++ /dev/null
@@ -1,3696 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces/demo?exclude=ACTIVITY_INFO
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- analytics:
- analyticalDashboardExtensions: []
- analyticalDashboards:
- - content:
- filterContextRef:
- identifier:
- id: campaign_name_filter
- type: filterContext
- layout:
- type: IDashboardLayout
- sections:
- - type: IDashboardLayoutSection
- header:
- title: Spend breakdown and Revenue
- description: The first insight shows a breakdown of spend
- by category and campaign. The second shows revenue per
- $ spend, for each campaign, to demonstrate, how campaigns
- are successful.
- 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
- permissions:
- - assigneeRule:
- type: allWorkspaceUsers
- name: VIEW
- 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
- attributeHierarchies: []
- 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
- exportDefinitions: []
- 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
- memoryItems: []
- 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:
- - aggregatedFacts: []
- attributes:
- - description: Campaign channel id
- id: campaign_channel_id
- labels: []
- sourceColumn: campaign_channel_id
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Campaign channel id
- - description: Category
- id: campaign_channels.category
- labels: []
- sourceColumn: category
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Category
- - description: Type
- id: type
- labels: []
- sourceColumn: type
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Type
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaign_channels
- path:
- - demo
- - campaign_channels
- type: dataSource
- description: Campaign channels
- facts:
- - description: Budget
- id: budget
- sourceColumn: budget
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- title: Budget
- - description: Spend
- id: spend
- sourceColumn: spend
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- title: Spend
- grain:
- - id: campaign_channel_id
- type: attribute
- id: campaign_channels
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- dataType: INT
- target:
- id: campaign_id
- type: attribute
- tags:
- - Campaign channels
- title: Campaign channels
- - aggregatedFacts:
- - description: Budget Agg
- id: budget_agg
- sourceColumn: budget
- sourceColumnDataType: INT
- sourceFactReference:
- operation: SUM
- reference:
- id: budget
- type: fact
- tags:
- - Campaign channels per category
- attributes: []
- description: Campaign channels per categories
- facts: []
- grain: []
- id: campaign_channels_per_category
- precedence: 1
- references:
- - identifier:
- id: campaign_channels
- type: dataset
- multivalue: false
- sources:
- - column: campaign_channel_id
- dataType: STRING
- target:
- id: campaign_channel_id
- type: attribute
- sql:
- dataSourceId: demo-test-ds
- statement: SELECT category, SUM(budget) FROM campaign_channels GROUP
- BY category
- tags:
- - Campaign channels per category
- title: Campaign channels per category
- - aggregatedFacts: []
- attributes:
- - description: Campaign id
- id: campaign_id
- labels: []
- sourceColumn: campaign_id
- sourceColumnDataType: INT
- tags:
- - Campaigns
- title: Campaign id
- - description: Campaign name
- id: campaign_name
- labels: []
- sourceColumn: campaign_name
- sourceColumnDataType: STRING
- tags:
- - Campaigns
- title: Campaign name
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaigns
- path:
- - demo
- - campaigns
- type: dataSource
- description: Campaigns
- facts: []
- grain:
- - id: campaign_id
- type: attribute
- id: campaigns
- references: []
- tags:
- - Campaigns
- title: Campaigns
- - aggregatedFacts: []
- attributes:
- - description: Customer id
- id: customer_id
- labels: []
- sourceColumn: customer_id
- sourceColumnDataType: INT
- tags:
- - Customers
- title: Customer id
- - description: Customer name
- id: customer_name
- labels: []
- sourceColumn: customer_name
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Customer name
- - description: Region
- id: region
- labels: []
- sourceColumn: region
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Region
- - description: State
- id: state
- labels:
- - description: Location
- id: geo__state__location
- sourceColumn: geo__state__location
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Location
- valueType: GEO
- sourceColumn: state
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: State
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: customers
- path:
- - demo
- - customers
- type: dataSource
- description: Customers
- facts: []
- grain:
- - id: customer_id
- type: attribute
- id: customers
- references: []
- tags:
- - Customers
- title: Customers
- - aggregatedFacts: []
- attributes:
- - description: Order id
- id: order_id
- labels: []
- sourceColumn: order_id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order id
- - description: Order line id
- id: order_line_id
- labels: []
- sourceColumn: order_line_id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order line id
- - description: Order status
- id: order_status
- labels: []
- sourceColumn: order_status
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order status
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: order_lines
- path:
- - demo
- - order_lines
- type: dataSource
- description: Order lines
- facts:
- - description: Price
- id: price
- sourceColumn: price
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- title: Price
- - description: Quantity
- id: quantity
- sourceColumn: quantity
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- title: Quantity
- grain:
- - id: order_line_id
- type: attribute
- id: order_lines
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- dataType: INT
- target:
- id: campaign_id
- type: attribute
- - identifier:
- id: customers
- type: dataset
- multivalue: false
- sources:
- - column: customer_id
- dataType: INT
- target:
- id: customer_id
- type: attribute
- - identifier:
- id: date
- type: dataset
- multivalue: false
- sources:
- - column: date
- dataType: DATE
- target:
- id: date
- type: date
- - identifier:
- id: products
- type: dataset
- multivalue: false
- sources:
- - column: product_id
- dataType: INT
- target:
- id: product_id
- type: attribute
- tags:
- - Order lines
- title: Order lines
- workspaceDataFilterColumns:
- - dataType: STRING
- name: wdf__region
- - dataType: STRING
- name: wdf__state
- workspaceDataFilterReferences:
- - filterColumn: wdf__region
- filterColumnDataType: STRING
- filterId:
- id: wdf__region
- type: workspaceDataFilter
- - aggregatedFacts: []
- attributes:
- - description: Product id
- id: product_id
- labels: []
- sourceColumn: product_id
- sourceColumnDataType: INT
- tags:
- - Products
- title: Product id
- - description: Product name
- id: product_name
- labels: []
- sourceColumn: product_name
- sourceColumnDataType: STRING
- tags:
- - Products
- title: Product name
- - description: Category
- id: products.category
- labels: []
- sourceColumn: category
- sourceColumnDataType: STRING
- tags:
- - Products
- title: Category
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: products
- path:
- - demo
- - products
- type: dataSource
- description: Products
- facts: []
- grain:
- - id: product_id
- type: attribute
- id: products
- references: []
- tags:
- - Products
- title: Products
- dateInstances:
- - description: ''
- granularities:
- - DAY
- - WEEK
- - MONTH
- - QUARTER
- - YEAR
- granularitiesFormatting:
- titleBase: ''
- titlePattern: '%titleBase - %granularityTitle'
- id: date
- tags:
- - Date
- title: Date
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/organization
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 302
- message: Found
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '0'
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Location:
- - /api/v1/entities/admin/organizations/python-sdk-dex
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/admin/organizations/python-sdk-dex
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '564'
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- name: Python SDK Dex
- hostname: python-sdk-dex.dev-latest.stg11.panther.intgdc.com
- allowedOrigins: []
- earlyAccess: enableAlerting
- earlyAccessValues:
- - enableAlerting
- - enableSmtp
- - enablePreAggregationDatasets
- - enableScheduling
- - enableCompositeGrain
- - enableUserManagement
- - enableRawExports
- - enableFlexibleDashboardLayout
- region: ''
- dataCenter: ''
- id: python-sdk-dex
- type: organization
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/admin/organizations/python-sdk-dex
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces/demo?exclude=ACTIVITY_INFO
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- analytics:
- analyticalDashboardExtensions: []
- analyticalDashboards:
- - content:
- filterContextRef:
- identifier:
- id: campaign_name_filter
- type: filterContext
- layout:
- type: IDashboardLayout
- sections:
- - type: IDashboardLayoutSection
- header:
- title: Spend breakdown and Revenue
- description: The first insight shows a breakdown of spend
- by category and campaign. The second shows revenue per
- $ spend, for each campaign, to demonstrate, how campaigns
- are successful.
- 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
- permissions:
- - assigneeRule:
- type: allWorkspaceUsers
- name: VIEW
- 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
- attributeHierarchies: []
- 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
- exportDefinitions: []
- 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
- memoryItems: []
- 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:
- - aggregatedFacts: []
- attributes:
- - description: Campaign channel id
- id: campaign_channel_id
- labels: []
- sourceColumn: campaign_channel_id
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Campaign channel id
- - description: Category
- id: campaign_channels.category
- labels: []
- sourceColumn: category
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Category
- - description: Type
- id: type
- labels: []
- sourceColumn: type
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Type
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaign_channels
- path:
- - demo
- - campaign_channels
- type: dataSource
- description: Campaign channels
- facts:
- - description: Budget
- id: budget
- sourceColumn: budget
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- title: Budget
- - description: Spend
- id: spend
- sourceColumn: spend
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- title: Spend
- grain:
- - id: campaign_channel_id
- type: attribute
- id: campaign_channels
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- dataType: INT
- target:
- id: campaign_id
- type: attribute
- tags:
- - Campaign channels
- title: Campaign channels
- - aggregatedFacts:
- - description: Budget Agg
- id: budget_agg
- sourceColumn: budget
- sourceColumnDataType: INT
- sourceFactReference:
- operation: SUM
- reference:
- id: budget
- type: fact
- tags:
- - Campaign channels per category
- attributes: []
- description: Campaign channels per categories
- facts: []
- grain: []
- id: campaign_channels_per_category
- precedence: 1
- references:
- - identifier:
- id: campaign_channels
- type: dataset
- multivalue: false
- sources:
- - column: campaign_channel_id
- dataType: STRING
- target:
- id: campaign_channel_id
- type: attribute
- sql:
- dataSourceId: demo-test-ds
- statement: SELECT category, SUM(budget) FROM campaign_channels GROUP
- BY category
- tags:
- - Campaign channels per category
- title: Campaign channels per category
- - aggregatedFacts: []
- attributes:
- - description: Campaign id
- id: campaign_id
- labels: []
- sourceColumn: campaign_id
- sourceColumnDataType: INT
- tags:
- - Campaigns
- title: Campaign id
- - description: Campaign name
- id: campaign_name
- labels: []
- sourceColumn: campaign_name
- sourceColumnDataType: STRING
- tags:
- - Campaigns
- title: Campaign name
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaigns
- path:
- - demo
- - campaigns
- type: dataSource
- description: Campaigns
- facts: []
- grain:
- - id: campaign_id
- type: attribute
- id: campaigns
- references: []
- tags:
- - Campaigns
- title: Campaigns
- - aggregatedFacts: []
- attributes:
- - description: Customer id
- id: customer_id
- labels: []
- sourceColumn: customer_id
- sourceColumnDataType: INT
- tags:
- - Customers
- title: Customer id
- - description: Customer name
- id: customer_name
- labels: []
- sourceColumn: customer_name
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Customer name
- - description: Region
- id: region
- labels: []
- sourceColumn: region
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Region
- - description: State
- id: state
- labels:
- - description: Location
- id: geo__state__location
- sourceColumn: geo__state__location
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Location
- valueType: GEO
- sourceColumn: state
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: State
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: customers
- path:
- - demo
- - customers
- type: dataSource
- description: Customers
- facts: []
- grain:
- - id: customer_id
- type: attribute
- id: customers
- references: []
- tags:
- - Customers
- title: Customers
- - aggregatedFacts: []
- attributes:
- - description: Order id
- id: order_id
- labels: []
- sourceColumn: order_id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order id
- - description: Order line id
- id: order_line_id
- labels: []
- sourceColumn: order_line_id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order line id
- - description: Order status
- id: order_status
- labels: []
- sourceColumn: order_status
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order status
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: order_lines
- path:
- - demo
- - order_lines
- type: dataSource
- description: Order lines
- facts:
- - description: Price
- id: price
- sourceColumn: price
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- title: Price
- - description: Quantity
- id: quantity
- sourceColumn: quantity
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- title: Quantity
- grain:
- - id: order_line_id
- type: attribute
- id: order_lines
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- dataType: INT
- target:
- id: campaign_id
- type: attribute
- - identifier:
- id: customers
- type: dataset
- multivalue: false
- sources:
- - column: customer_id
- dataType: INT
- target:
- id: customer_id
- type: attribute
- - identifier:
- id: date
- type: dataset
- multivalue: false
- sources:
- - column: date
- dataType: DATE
- target:
- id: date
- type: date
- - identifier:
- id: products
- type: dataset
- multivalue: false
- sources:
- - column: product_id
- dataType: INT
- target:
- id: product_id
- type: attribute
- tags:
- - Order lines
- title: Order lines
- workspaceDataFilterColumns:
- - dataType: STRING
- name: wdf__region
- - dataType: STRING
- name: wdf__state
- workspaceDataFilterReferences:
- - filterColumn: wdf__region
- filterColumnDataType: STRING
- filterId:
- id: wdf__region
- type: workspaceDataFilter
- - aggregatedFacts: []
- attributes:
- - description: Product id
- id: product_id
- labels: []
- sourceColumn: product_id
- sourceColumnDataType: INT
- tags:
- - Products
- title: Product id
- - description: Product name
- id: product_name
- labels: []
- sourceColumn: product_name
- sourceColumnDataType: STRING
- tags:
- - Products
- title: Product name
- - description: Category
- id: products.category
- labels: []
- sourceColumn: category
- sourceColumnDataType: STRING
- tags:
- - Products
- title: Category
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: products
- path:
- - demo
- - products
- type: dataSource
- description: Products
- facts: []
- grain:
- - id: product_id
- type: attribute
- id: products
- references: []
- tags:
- - Products
- title: Products
- dateInstances:
- - description: ''
- granularities:
- - DAY
- - WEEK
- - MONTH
- - QUARTER
- - YEAR
- granularitiesFormatting:
- titleBase: ''
- titlePattern: '%titleBase - %granularityTitle'
- id: date
- tags:
- - Date
- title: Date
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/organization
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 302
- message: Found
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '0'
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Location:
- - /api/v1/entities/admin/organizations/python-sdk-dex
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/admin/organizations/python-sdk-dex
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '564'
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- name: Python SDK Dex
- hostname: python-sdk-dex.dev-latest.stg11.panther.intgdc.com
- allowedOrigins: []
- earlyAccess: enableAlerting
- earlyAccessValues:
- - enableAlerting
- - enableSmtp
- - enablePreAggregationDatasets
- - enableScheduling
- - enableCompositeGrain
- - enableUserManagement
- - enableRawExports
- - enableFlexibleDashboardLayout
- region: ''
- dataCenter: ''
- id: python-sdk-dex
- type: organization
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/admin/organizations/python-sdk-dex
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_store_declarative_workspace_data_filters.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_store_declarative_workspace_data_filters.yaml
deleted file mode 100644
index 56e71d4ca..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_store_declarative_workspace_data_filters.yaml
+++ /dev/null
@@ -1,376 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaceDataFilters
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '603'
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- 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: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaceDataFilters
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '603'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- 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: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/organization
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 302
- message: Found
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '0'
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Location:
- - /api/v1/entities/admin/organizations/python-sdk-dex
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/admin/organizations/python-sdk-dex
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '564'
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- name: Python SDK Dex
- hostname: python-sdk-dex.dev-latest.stg11.panther.intgdc.com
- allowedOrigins: []
- earlyAccess: enableAlerting
- earlyAccessValues:
- - enableAlerting
- - enableSmtp
- - enablePreAggregationDatasets
- - enableScheduling
- - enableCompositeGrain
- - enableUserManagement
- - enableRawExports
- - enableFlexibleDashboardLayout
- region: ''
- dataCenter: ''
- id: python-sdk-dex
- type: organization
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/admin/organizations/python-sdk-dex
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/organization
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 302
- message: Found
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '0'
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Location:
- - /api/v1/entities/admin/organizations/python-sdk-dex
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/admin/organizations/python-sdk-dex
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '564'
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- name: Python SDK Dex
- hostname: python-sdk-dex.dev-latest.stg11.panther.intgdc.com
- allowedOrigins: []
- earlyAccess: enableAlerting
- earlyAccessValues:
- - enableAlerting
- - enableSmtp
- - enablePreAggregationDatasets
- - enableScheduling
- - enableCompositeGrain
- - enableUserManagement
- - enableRawExports
- - enableFlexibleDashboardLayout
- region: ''
- dataCenter: ''
- id: python-sdk-dex
- type: organization
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/admin/organizations/python-sdk-dex
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_store_declarative_workspaces.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_store_declarative_workspaces.yaml
deleted file mode 100644
index bc8a79444..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_store_declarative_workspaces.yaml
+++ /dev/null
@@ -1,4292 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- 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:
- - automations: []
- customApplicationSettings: []
- filterViews: []
- hierarchyPermissions:
- - assignee:
- id: demo2
- type: user
- name: MANAGE
- - assignee:
- id: demoGroup
- type: userGroup
- name: ANALYZE
- id: demo
- model:
- analytics:
- analyticalDashboardExtensions: []
- analyticalDashboards:
- - content:
- filterContextRef:
- identifier:
- id: campaign_name_filter
- type: filterContext
- layout:
- type: IDashboardLayout
- sections:
- - type: IDashboardLayoutSection
- header:
- title: Spend breakdown and Revenue
- description: The first insight shows a breakdown of
- spend by category and campaign. The second shows
- revenue per $ spend, for each campaign, to demonstrate,
- how campaigns are successful.
- 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'
- createdAt: 2026-03-25 09:15
- createdBy:
- id: admin
- type: user
- description: ''
- id: campaign
- permissions:
- - assigneeRule:
- type: allWorkspaceUsers
- name: VIEW
- 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'
- createdAt: 2026-03-25 09:15
- createdBy:
- id: admin
- type: user
- 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'
- createdAt: 2026-03-25 09:15
- createdBy:
- id: admin
- type: user
- description: ''
- id: product_and_category
- title: Product & Category
- attributeHierarchies: []
- dashboardPlugins:
- - content:
- url: https://www.example.com
- version: '2'
- createdAt: 2026-03-25 09:15
- createdBy:
- id: admin
- type: user
- description: Testing record dashboard_plugin_1
- id: dashboard_plugin_1
- title: dashboard_plugin_1
- - content:
- url: https://www.example.com
- version: '2'
- createdAt: 2026-03-25 09:15
- createdBy:
- id: admin
- type: user
- description: Testing record dashboard_plugin_2
- id: dashboard_plugin_2
- title: dashboard_plugin_2
- exportDefinitions: []
- 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
- memoryItems: []
- metrics:
- - content:
- format: '#,##0'
- maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id})
- createdAt: 2026-03-25 09:15
- createdBy:
- id: admin
- type: user
- id: amount_of_active_customers
- title: '# of Active Customers'
- - content:
- format: '#,##0'
- maql: SELECT COUNT({attribute/order_id})
- createdAt: 2026-03-25 09:15
- createdBy:
- id: admin
- type: user
- 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 '
- createdAt: 2026-03-25 09:15
- createdBy:
- id: admin
- type: user
- 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"))
- createdAt: 2026-03-25 09:15
- createdBy:
- id: admin
- type: user
- description: ''
- id: amount_of_valid_orders
- title: '# of Valid Orders'
- - content:
- format: $#,##0
- maql: SELECT SUM({fact/spend})
- createdAt: 2026-03-25 09:15
- createdBy:
- id: admin
- type: user
- id: campaign_spend
- title: Campaign Spend
- - content:
- format: $#,##0
- maql: SELECT SUM({fact/price}*{fact/quantity})
- createdAt: 2026-03-25 09:15
- createdBy:
- id: admin
- type: user
- id: order_amount
- title: Order Amount
- - content:
- format: '#,##0.0%'
- maql: SELECT {metric/revenue} / {metric/total_revenue}
- createdAt: 2026-03-25 09:15
- createdBy:
- id: admin
- type: user
- 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}"
- createdAt: 2026-03-25 09:15
- createdBy:
- id: admin
- type: user
- 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}"
- createdAt: 2026-03-25 09:15
- createdBy:
- id: admin
- type: user
- 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}"
- createdAt: 2026-03-25 09:15
- createdBy:
- id: admin
- type: user
- 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}"
- createdAt: 2026-03-25 09:15
- createdBy:
- id: admin
- type: user
- 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)
- createdAt: 2026-03-25 09:15
- createdBy:
- id: admin
- type: user
- 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})
- createdAt: 2026-03-25 09:15
- createdBy:
- id: admin
- type: user
- 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"))
- createdAt: 2026-03-25 09:15
- createdBy:
- id: admin
- type: user
- description: ''
- id: revenue
- title: Revenue
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE {label/products.category}
- IN ("Clothing")
- createdAt: 2026-03-25 09:15
- createdBy:
- id: admin
- type: user
- id: revenue-clothing
- title: Revenue (Clothing)
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE {label/products.category}
- IN ( "Electronics")
- createdAt: 2026-03-25 09:15
- createdBy:
- id: admin
- type: user
- id: revenue-electronic
- title: Revenue (Electronic)
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE {label/products.category}
- IN ("Home")
- createdAt: 2026-03-25 09:15
- createdBy:
- id: admin
- type: user
- id: revenue-home
- title: Revenue (Home)
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE {label/products.category}
- IN ("Outdoor")
- createdAt: 2026-03-25 09:15
- createdBy:
- id: admin
- type: user
- id: revenue-outdoor
- title: Revenue (Outdoor)
- - content:
- format: $#,##0.0
- maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id})
- createdAt: 2026-03-25 09:15
- createdBy:
- id: admin
- type: user
- id: revenue_per_customer
- title: Revenue per Customer
- - content:
- format: $#,##0.0
- maql: SELECT {metric/revenue} / {metric/campaign_spend}
- createdAt: 2026-03-25 09:15
- createdBy:
- id: admin
- type: user
- id: revenue_per_dollar_spent
- title: Revenue per Dollar Spent
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue})
- createdAt: 2026-03-25 09:15
- createdBy:
- id: admin
- type: user
- id: revenue_top_10
- title: Revenue / Top 10
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue})
- createdAt: 2026-03-25 09:15
- createdBy:
- id: admin
- type: user
- id: revenue_top_10_percent
- title: Revenue / Top 10%
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} BY ALL OTHER
- createdAt: 2026-03-25 09:15
- createdBy:
- id: admin
- type: user
- id: total_revenue
- title: Total Revenue
- - content:
- format: $#,##0
- maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER
- createdAt: 2026-03-25 09:15
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:15
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:15
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:15
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:15
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:15
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:15
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:15
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:15
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:15
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:15
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:15
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:15
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:15
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:15
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:15
- createdBy:
- id: admin
- type: user
- id: top_10_products
- title: Top 10 Products
- ldm:
- datasets:
- - aggregatedFacts: []
- attributes:
- - description: Campaign channel id
- id: campaign_channel_id
- labels: []
- sourceColumn: campaign_channel_id
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Campaign channel id
- - description: Category
- id: campaign_channels.category
- labels: []
- sourceColumn: category
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Category
- - description: Type
- id: type
- labels: []
- sourceColumn: type
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Type
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaign_channels
- path:
- - demo
- - campaign_channels
- type: dataSource
- description: Campaign channels
- facts:
- - description: Budget
- id: budget
- sourceColumn: budget
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- title: Budget
- - description: Spend
- id: spend
- sourceColumn: spend
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- title: Spend
- grain:
- - id: campaign_channel_id
- type: attribute
- id: campaign_channels
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- dataType: INT
- target:
- id: campaign_id
- type: attribute
- tags:
- - Campaign channels
- title: Campaign channels
- - aggregatedFacts:
- - description: Budget Agg
- id: budget_agg
- sourceColumn: budget
- sourceColumnDataType: INT
- sourceFactReference:
- operation: SUM
- reference:
- id: budget
- type: fact
- tags:
- - Campaign channels per category
- attributes: []
- description: Campaign channels per categories
- facts: []
- grain: []
- id: campaign_channels_per_category
- precedence: 1
- references:
- - identifier:
- id: campaign_channels
- type: dataset
- multivalue: false
- sources:
- - column: campaign_channel_id
- dataType: STRING
- target:
- id: campaign_channel_id
- type: attribute
- sql:
- dataSourceId: demo-test-ds
- statement: SELECT category, SUM(budget) FROM campaign_channels
- GROUP BY category
- tags:
- - Campaign channels per category
- title: Campaign channels per category
- - aggregatedFacts: []
- attributes:
- - description: Campaign id
- id: campaign_id
- labels: []
- sourceColumn: campaign_id
- sourceColumnDataType: INT
- tags:
- - Campaigns
- title: Campaign id
- - description: Campaign name
- id: campaign_name
- labels: []
- sourceColumn: campaign_name
- sourceColumnDataType: STRING
- tags:
- - Campaigns
- title: Campaign name
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaigns
- path:
- - demo
- - campaigns
- type: dataSource
- description: Campaigns
- facts: []
- grain:
- - id: campaign_id
- type: attribute
- id: campaigns
- references: []
- tags:
- - Campaigns
- title: Campaigns
- - aggregatedFacts: []
- attributes:
- - description: Customer id
- id: customer_id
- labels: []
- sourceColumn: customer_id
- sourceColumnDataType: INT
- tags:
- - Customers
- title: Customer id
- - description: Customer name
- id: customer_name
- labels: []
- sourceColumn: customer_name
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Customer name
- - description: Region
- id: region
- labels: []
- sourceColumn: region
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Region
- - description: State
- id: state
- labels:
- - description: Location
- id: geo__state__location
- sourceColumn: geo__state__location
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Location
- valueType: GEO
- sourceColumn: state
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: State
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: customers
- path:
- - demo
- - customers
- type: dataSource
- description: Customers
- facts: []
- grain:
- - id: customer_id
- type: attribute
- id: customers
- references: []
- tags:
- - Customers
- title: Customers
- - aggregatedFacts: []
- attributes:
- - description: Order id
- id: order_id
- labels: []
- sourceColumn: order_id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order id
- - description: Order line id
- id: order_line_id
- labels: []
- sourceColumn: order_line_id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order line id
- - description: Order status
- id: order_status
- labels: []
- sourceColumn: order_status
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order status
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: order_lines
- path:
- - demo
- - order_lines
- type: dataSource
- description: Order lines
- facts:
- - description: Price
- id: price
- sourceColumn: price
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- title: Price
- - description: Quantity
- id: quantity
- sourceColumn: quantity
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- title: Quantity
- grain:
- - id: order_line_id
- type: attribute
- id: order_lines
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- dataType: INT
- target:
- id: campaign_id
- type: attribute
- - identifier:
- id: customers
- type: dataset
- multivalue: false
- sources:
- - column: customer_id
- dataType: INT
- target:
- id: customer_id
- type: attribute
- - identifier:
- id: date
- type: dataset
- multivalue: false
- sources:
- - column: date
- dataType: DATE
- target:
- id: date
- type: date
- - identifier:
- id: products
- type: dataset
- multivalue: false
- sources:
- - column: product_id
- dataType: INT
- target:
- id: product_id
- type: attribute
- tags:
- - Order lines
- title: Order lines
- workspaceDataFilterColumns:
- - dataType: STRING
- name: wdf__region
- - dataType: STRING
- name: wdf__state
- workspaceDataFilterReferences:
- - filterColumn: wdf__region
- filterColumnDataType: STRING
- filterId:
- id: wdf__region
- type: workspaceDataFilter
- - aggregatedFacts: []
- attributes:
- - description: Product id
- id: product_id
- labels: []
- sourceColumn: product_id
- sourceColumnDataType: INT
- tags:
- - Products
- title: Product id
- - description: Product name
- id: product_name
- labels: []
- sourceColumn: product_name
- sourceColumnDataType: STRING
- tags:
- - Products
- title: Product name
- - description: Category
- id: products.category
- labels: []
- sourceColumn: category
- sourceColumnDataType: STRING
- tags:
- - Products
- title: Category
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: products
- path:
- - demo
- - products
- type: dataSource
- description: Products
- facts: []
- grain:
- - id: product_id
- type: attribute
- id: products
- references: []
- tags:
- - Products
- title: Products
- dateInstances:
- - description: ''
- granularities:
- - DAY
- - WEEK
- - MONTH
- - QUARTER
- - 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: []
- userDataFilters: []
- - automations: []
- customApplicationSettings: []
- filterViews: []
- hierarchyPermissions: []
- id: demo_west
- model:
- analytics:
- analyticalDashboardExtensions:
- - id: campaign
- permissions:
- - assigneeRule:
- type: allWorkspaceUsers
- name: VIEW
- analyticalDashboards: []
- attributeHierarchies: []
- dashboardPlugins: []
- exportDefinitions: []
- filterContexts: []
- memoryItems: []
- metrics: []
- visualizationObjects: []
- ldm:
- datasetExtensions:
- - id: order_lines
- workspaceDataFilterReferences:
- - filterColumn: wdf__state
- filterColumnDataType: STRING
- filterId:
- id: wdf__state
- type: workspaceDataFilter
- datasets: []
- dateInstances: []
- name: Demo West
- parent:
- id: demo
- type: workspace
- permissions: []
- settings: []
- userDataFilters: []
- - automations: []
- customApplicationSettings: []
- filterViews: []
- hierarchyPermissions: []
- id: demo_west_california
- model:
- analytics:
- analyticalDashboardExtensions: []
- analyticalDashboards: []
- attributeHierarchies: []
- dashboardPlugins: []
- exportDefinitions: []
- filterContexts: []
- memoryItems: []
- metrics: []
- visualizationObjects: []
- ldm:
- datasets: []
- dateInstances: []
- name: Demo West California
- parent:
- id: demo_west
- type: workspace
- permissions: []
- settings: []
- userDataFilters: []
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- 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:
- - automations: []
- customApplicationSettings: []
- filterViews: []
- hierarchyPermissions:
- - assignee:
- id: demo2
- type: user
- name: MANAGE
- - assignee:
- id: demoGroup
- type: userGroup
- name: ANALYZE
- id: demo
- model:
- analytics:
- analyticalDashboardExtensions: []
- analyticalDashboards:
- - content:
- filterContextRef:
- identifier:
- id: campaign_name_filter
- type: filterContext
- layout:
- type: IDashboardLayout
- sections:
- - type: IDashboardLayoutSection
- header:
- title: Spend breakdown and Revenue
- description: The first insight shows a breakdown of
- spend by category and campaign. The second shows
- revenue per $ spend, for each campaign, to demonstrate,
- how campaigns are successful.
- 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'
- createdAt: 2026-03-25 09:15
- createdBy:
- id: admin
- type: user
- description: ''
- id: campaign
- permissions:
- - assigneeRule:
- type: allWorkspaceUsers
- name: VIEW
- 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'
- createdAt: 2026-03-25 09:15
- createdBy:
- id: admin
- type: user
- 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'
- createdAt: 2026-03-25 09:15
- createdBy:
- id: admin
- type: user
- description: ''
- id: product_and_category
- title: Product & Category
- attributeHierarchies: []
- dashboardPlugins:
- - content:
- url: https://www.example.com
- version: '2'
- createdAt: 2026-03-25 09:15
- createdBy:
- id: admin
- type: user
- description: Testing record dashboard_plugin_1
- id: dashboard_plugin_1
- title: dashboard_plugin_1
- - content:
- url: https://www.example.com
- version: '2'
- createdAt: 2026-03-25 09:15
- createdBy:
- id: admin
- type: user
- description: Testing record dashboard_plugin_2
- id: dashboard_plugin_2
- title: dashboard_plugin_2
- exportDefinitions: []
- 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
- memoryItems: []
- metrics:
- - content:
- format: '#,##0'
- maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id})
- createdAt: 2026-03-25 09:15
- createdBy:
- id: admin
- type: user
- id: amount_of_active_customers
- title: '# of Active Customers'
- - content:
- format: '#,##0'
- maql: SELECT COUNT({attribute/order_id})
- createdAt: 2026-03-25 09:15
- createdBy:
- id: admin
- type: user
- 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 '
- createdAt: 2026-03-25 09:15
- createdBy:
- id: admin
- type: user
- 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"))
- createdAt: 2026-03-25 09:15
- createdBy:
- id: admin
- type: user
- description: ''
- id: amount_of_valid_orders
- title: '# of Valid Orders'
- - content:
- format: $#,##0
- maql: SELECT SUM({fact/spend})
- createdAt: 2026-03-25 09:15
- createdBy:
- id: admin
- type: user
- id: campaign_spend
- title: Campaign Spend
- - content:
- format: $#,##0
- maql: SELECT SUM({fact/price}*{fact/quantity})
- createdAt: 2026-03-25 09:15
- createdBy:
- id: admin
- type: user
- id: order_amount
- title: Order Amount
- - content:
- format: '#,##0.0%'
- maql: SELECT {metric/revenue} / {metric/total_revenue}
- createdAt: 2026-03-25 09:15
- createdBy:
- id: admin
- type: user
- 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}"
- createdAt: 2026-03-25 09:15
- createdBy:
- id: admin
- type: user
- 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}"
- createdAt: 2026-03-25 09:15
- createdBy:
- id: admin
- type: user
- 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}"
- createdAt: 2026-03-25 09:15
- createdBy:
- id: admin
- type: user
- 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}"
- createdAt: 2026-03-25 09:15
- createdBy:
- id: admin
- type: user
- 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)
- createdAt: 2026-03-25 09:15
- createdBy:
- id: admin
- type: user
- 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})
- createdAt: 2026-03-25 09:15
- createdBy:
- id: admin
- type: user
- 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"))
- createdAt: 2026-03-25 09:15
- createdBy:
- id: admin
- type: user
- description: ''
- id: revenue
- title: Revenue
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE {label/products.category}
- IN ("Clothing")
- createdAt: 2026-03-25 09:15
- createdBy:
- id: admin
- type: user
- id: revenue-clothing
- title: Revenue (Clothing)
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE {label/products.category}
- IN ( "Electronics")
- createdAt: 2026-03-25 09:15
- createdBy:
- id: admin
- type: user
- id: revenue-electronic
- title: Revenue (Electronic)
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE {label/products.category}
- IN ("Home")
- createdAt: 2026-03-25 09:15
- createdBy:
- id: admin
- type: user
- id: revenue-home
- title: Revenue (Home)
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE {label/products.category}
- IN ("Outdoor")
- createdAt: 2026-03-25 09:15
- createdBy:
- id: admin
- type: user
- id: revenue-outdoor
- title: Revenue (Outdoor)
- - content:
- format: $#,##0.0
- maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id})
- createdAt: 2026-03-25 09:15
- createdBy:
- id: admin
- type: user
- id: revenue_per_customer
- title: Revenue per Customer
- - content:
- format: $#,##0.0
- maql: SELECT {metric/revenue} / {metric/campaign_spend}
- createdAt: 2026-03-25 09:15
- createdBy:
- id: admin
- type: user
- id: revenue_per_dollar_spent
- title: Revenue per Dollar Spent
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue})
- createdAt: 2026-03-25 09:15
- createdBy:
- id: admin
- type: user
- id: revenue_top_10
- title: Revenue / Top 10
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue})
- createdAt: 2026-03-25 09:15
- createdBy:
- id: admin
- type: user
- id: revenue_top_10_percent
- title: Revenue / Top 10%
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} BY ALL OTHER
- createdAt: 2026-03-25 09:15
- createdBy:
- id: admin
- type: user
- id: total_revenue
- title: Total Revenue
- - content:
- format: $#,##0
- maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER
- createdAt: 2026-03-25 09:15
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:15
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:15
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:15
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:15
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:15
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:15
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:15
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:15
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:15
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:15
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:15
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:15
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:15
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:15
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:15
- createdBy:
- id: admin
- type: user
- id: top_10_products
- title: Top 10 Products
- ldm:
- datasets:
- - aggregatedFacts: []
- attributes:
- - description: Campaign channel id
- id: campaign_channel_id
- labels: []
- sourceColumn: campaign_channel_id
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Campaign channel id
- - description: Category
- id: campaign_channels.category
- labels: []
- sourceColumn: category
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Category
- - description: Type
- id: type
- labels: []
- sourceColumn: type
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Type
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaign_channels
- path:
- - demo
- - campaign_channels
- type: dataSource
- description: Campaign channels
- facts:
- - description: Budget
- id: budget
- sourceColumn: budget
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- title: Budget
- - description: Spend
- id: spend
- sourceColumn: spend
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- title: Spend
- grain:
- - id: campaign_channel_id
- type: attribute
- id: campaign_channels
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- dataType: INT
- target:
- id: campaign_id
- type: attribute
- tags:
- - Campaign channels
- title: Campaign channels
- - aggregatedFacts:
- - description: Budget Agg
- id: budget_agg
- sourceColumn: budget
- sourceColumnDataType: INT
- sourceFactReference:
- operation: SUM
- reference:
- id: budget
- type: fact
- tags:
- - Campaign channels per category
- attributes: []
- description: Campaign channels per categories
- facts: []
- grain: []
- id: campaign_channels_per_category
- precedence: 1
- references:
- - identifier:
- id: campaign_channels
- type: dataset
- multivalue: false
- sources:
- - column: campaign_channel_id
- dataType: STRING
- target:
- id: campaign_channel_id
- type: attribute
- sql:
- dataSourceId: demo-test-ds
- statement: SELECT category, SUM(budget) FROM campaign_channels
- GROUP BY category
- tags:
- - Campaign channels per category
- title: Campaign channels per category
- - aggregatedFacts: []
- attributes:
- - description: Campaign id
- id: campaign_id
- labels: []
- sourceColumn: campaign_id
- sourceColumnDataType: INT
- tags:
- - Campaigns
- title: Campaign id
- - description: Campaign name
- id: campaign_name
- labels: []
- sourceColumn: campaign_name
- sourceColumnDataType: STRING
- tags:
- - Campaigns
- title: Campaign name
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaigns
- path:
- - demo
- - campaigns
- type: dataSource
- description: Campaigns
- facts: []
- grain:
- - id: campaign_id
- type: attribute
- id: campaigns
- references: []
- tags:
- - Campaigns
- title: Campaigns
- - aggregatedFacts: []
- attributes:
- - description: Customer id
- id: customer_id
- labels: []
- sourceColumn: customer_id
- sourceColumnDataType: INT
- tags:
- - Customers
- title: Customer id
- - description: Customer name
- id: customer_name
- labels: []
- sourceColumn: customer_name
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Customer name
- - description: Region
- id: region
- labels: []
- sourceColumn: region
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Region
- - description: State
- id: state
- labels:
- - description: Location
- id: geo__state__location
- sourceColumn: geo__state__location
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Location
- valueType: GEO
- sourceColumn: state
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: State
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: customers
- path:
- - demo
- - customers
- type: dataSource
- description: Customers
- facts: []
- grain:
- - id: customer_id
- type: attribute
- id: customers
- references: []
- tags:
- - Customers
- title: Customers
- - aggregatedFacts: []
- attributes:
- - description: Order id
- id: order_id
- labels: []
- sourceColumn: order_id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order id
- - description: Order line id
- id: order_line_id
- labels: []
- sourceColumn: order_line_id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order line id
- - description: Order status
- id: order_status
- labels: []
- sourceColumn: order_status
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order status
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: order_lines
- path:
- - demo
- - order_lines
- type: dataSource
- description: Order lines
- facts:
- - description: Price
- id: price
- sourceColumn: price
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- title: Price
- - description: Quantity
- id: quantity
- sourceColumn: quantity
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- title: Quantity
- grain:
- - id: order_line_id
- type: attribute
- id: order_lines
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- dataType: INT
- target:
- id: campaign_id
- type: attribute
- - identifier:
- id: customers
- type: dataset
- multivalue: false
- sources:
- - column: customer_id
- dataType: INT
- target:
- id: customer_id
- type: attribute
- - identifier:
- id: date
- type: dataset
- multivalue: false
- sources:
- - column: date
- dataType: DATE
- target:
- id: date
- type: date
- - identifier:
- id: products
- type: dataset
- multivalue: false
- sources:
- - column: product_id
- dataType: INT
- target:
- id: product_id
- type: attribute
- tags:
- - Order lines
- title: Order lines
- workspaceDataFilterColumns:
- - dataType: STRING
- name: wdf__region
- - dataType: STRING
- name: wdf__state
- workspaceDataFilterReferences:
- - filterColumn: wdf__region
- filterColumnDataType: STRING
- filterId:
- id: wdf__region
- type: workspaceDataFilter
- - aggregatedFacts: []
- attributes:
- - description: Product id
- id: product_id
- labels: []
- sourceColumn: product_id
- sourceColumnDataType: INT
- tags:
- - Products
- title: Product id
- - description: Product name
- id: product_name
- labels: []
- sourceColumn: product_name
- sourceColumnDataType: STRING
- tags:
- - Products
- title: Product name
- - description: Category
- id: products.category
- labels: []
- sourceColumn: category
- sourceColumnDataType: STRING
- tags:
- - Products
- title: Category
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: products
- path:
- - demo
- - products
- type: dataSource
- description: Products
- facts: []
- grain:
- - id: product_id
- type: attribute
- id: products
- references: []
- tags:
- - Products
- title: Products
- dateInstances:
- - description: ''
- granularities:
- - DAY
- - WEEK
- - MONTH
- - QUARTER
- - 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: []
- userDataFilters: []
- - automations: []
- customApplicationSettings: []
- filterViews: []
- hierarchyPermissions: []
- id: demo_west
- model:
- analytics:
- analyticalDashboardExtensions:
- - id: campaign
- permissions:
- - assigneeRule:
- type: allWorkspaceUsers
- name: VIEW
- analyticalDashboards: []
- attributeHierarchies: []
- dashboardPlugins: []
- exportDefinitions: []
- filterContexts: []
- memoryItems: []
- metrics: []
- visualizationObjects: []
- ldm:
- datasetExtensions:
- - id: order_lines
- workspaceDataFilterReferences:
- - filterColumn: wdf__state
- filterColumnDataType: STRING
- filterId:
- id: wdf__state
- type: workspaceDataFilter
- datasets: []
- dateInstances: []
- name: Demo West
- parent:
- id: demo
- type: workspace
- permissions: []
- settings: []
- userDataFilters: []
- - automations: []
- customApplicationSettings: []
- filterViews: []
- hierarchyPermissions: []
- id: demo_west_california
- model:
- analytics:
- analyticalDashboardExtensions: []
- analyticalDashboards: []
- attributeHierarchies: []
- dashboardPlugins: []
- exportDefinitions: []
- filterContexts: []
- memoryItems: []
- metrics: []
- visualizationObjects: []
- ldm:
- datasets: []
- dateInstances: []
- name: Demo West California
- parent:
- id: demo_west
- type: workspace
- permissions: []
- settings: []
- userDataFilters: []
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/organization
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 302
- message: Found
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '0'
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Location:
- - /api/v1/entities/admin/organizations/python-sdk-dex
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/admin/organizations/python-sdk-dex
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '564'
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- name: Python SDK Dex
- hostname: python-sdk-dex.dev-latest.stg11.panther.intgdc.com
- allowedOrigins: []
- earlyAccess: enableAlerting
- earlyAccessValues:
- - enableAlerting
- - enableSmtp
- - enablePreAggregationDatasets
- - enableScheduling
- - enableCompositeGrain
- - enableUserManagement
- - enableRawExports
- - enableFlexibleDashboardLayout
- region: ''
- dataCenter: ''
- id: python-sdk-dex
- type: organization
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/admin/organizations/python-sdk-dex
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/organization
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 302
- message: Found
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '0'
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Location:
- - /api/v1/entities/admin/organizations/python-sdk-dex
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/admin/organizations/python-sdk-dex
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '564'
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- name: Python SDK Dex
- hostname: python-sdk-dex.dev-latest.stg11.panther.intgdc.com
- allowedOrigins: []
- earlyAccess: enableAlerting
- earlyAccessValues:
- - enableAlerting
- - enableSmtp
- - enablePreAggregationDatasets
- - enableScheduling
- - enableCompositeGrain
- - enableUserManagement
- - enableRawExports
- - enableFlexibleDashboardLayout
- region: ''
- dataCenter: ''
- id: python-sdk-dex
- type: organization
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/admin/organizations/python-sdk-dex
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_translate_workspace.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_translate_workspace.yaml
deleted file mode 100644
index 58f8ac05c..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_translate_workspace.yaml
+++ /dev/null
@@ -1,8366 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo?include=workspaces
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - max-age=5, private
- Connection:
- - keep-alive
- Content-Length:
- - '199'
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- name: Demo
- id: demo
- type: workspace
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo?include=workspaces
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces/demo
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- analytics:
- analyticalDashboardExtensions: []
- analyticalDashboards:
- - content:
- filterContextRef:
- identifier:
- id: campaign_name_filter
- type: filterContext
- layout:
- type: IDashboardLayout
- sections:
- - type: IDashboardLayoutSection
- header:
- title: Spend breakdown and Revenue
- description: The first insight shows a breakdown of spend
- by category and campaign. The second shows revenue per
- $ spend, for each campaign, to demonstrate, how campaigns
- are successful.
- 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'
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- description: ''
- id: campaign
- permissions:
- - assigneeRule:
- type: allWorkspaceUsers
- name: VIEW
- 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'
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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'
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- description: ''
- id: product_and_category
- title: Product & Category
- attributeHierarchies: []
- dashboardPlugins:
- - content:
- url: https://www.example.com
- version: '2'
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- description: Testing record dashboard_plugin_1
- id: dashboard_plugin_1
- title: dashboard_plugin_1
- - content:
- url: https://www.example.com
- version: '2'
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- description: Testing record dashboard_plugin_2
- id: dashboard_plugin_2
- title: dashboard_plugin_2
- exportDefinitions: []
- 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
- memoryItems: []
- metrics:
- - content:
- format: '#,##0'
- maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id})
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- id: amount_of_active_customers
- title: '# of Active Customers'
- - content:
- format: '#,##0'
- maql: SELECT COUNT({attribute/order_id})
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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 '
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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"))
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- description: ''
- id: amount_of_valid_orders
- title: '# of Valid Orders'
- - content:
- format: $#,##0
- maql: SELECT SUM({fact/spend})
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- id: campaign_spend
- title: Campaign Spend
- - content:
- format: $#,##0
- maql: SELECT SUM({fact/price}*{fact/quantity})
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- id: order_amount
- title: Order Amount
- - content:
- format: '#,##0.0%'
- maql: SELECT {metric/revenue} / {metric/total_revenue}
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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}"
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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}"
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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}"
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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}"
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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)
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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})
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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"))
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- description: ''
- id: revenue
- title: Revenue
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE {label/products.category} IN
- ("Clothing")
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- id: revenue-clothing
- title: Revenue (Clothing)
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE {label/products.category} IN
- ( "Electronics")
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- id: revenue-electronic
- title: Revenue (Electronic)
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE {label/products.category} IN
- ("Home")
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- id: revenue-home
- title: Revenue (Home)
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE {label/products.category} IN
- ("Outdoor")
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- id: revenue-outdoor
- title: Revenue (Outdoor)
- - content:
- format: $#,##0.0
- maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id})
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- id: revenue_per_customer
- title: Revenue per Customer
- - content:
- format: $#,##0.0
- maql: SELECT {metric/revenue} / {metric/campaign_spend}
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- id: revenue_per_dollar_spent
- title: Revenue per Dollar Spent
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue})
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- id: revenue_top_10
- title: Revenue / Top 10
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue})
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- id: revenue_top_10_percent
- title: Revenue / Top 10%
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} BY ALL OTHER
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- id: total_revenue
- title: Total Revenue
- - content:
- format: $#,##0
- maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- id: top_10_products
- title: Top 10 Products
- ldm:
- datasets:
- - aggregatedFacts: []
- attributes:
- - description: Campaign channel id
- id: campaign_channel_id
- labels: []
- sourceColumn: campaign_channel_id
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Campaign channel id
- - description: Category
- id: campaign_channels.category
- labels: []
- sourceColumn: category
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Category
- - description: Type
- id: type
- labels: []
- sourceColumn: type
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Type
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaign_channels
- path:
- - demo
- - campaign_channels
- type: dataSource
- description: Campaign channels
- facts:
- - description: Budget
- id: budget
- sourceColumn: budget
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- title: Budget
- - description: Spend
- id: spend
- sourceColumn: spend
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- title: Spend
- grain:
- - id: campaign_channel_id
- type: attribute
- id: campaign_channels
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- dataType: INT
- target:
- id: campaign_id
- type: attribute
- tags:
- - Campaign channels
- title: Campaign channels
- - aggregatedFacts:
- - description: Budget Agg
- id: budget_agg
- sourceColumn: budget
- sourceColumnDataType: INT
- sourceFactReference:
- operation: SUM
- reference:
- id: budget
- type: fact
- tags:
- - Campaign channels per category
- attributes: []
- description: Campaign channels per categories
- facts: []
- grain: []
- id: campaign_channels_per_category
- precedence: 1
- references:
- - identifier:
- id: campaign_channels
- type: dataset
- multivalue: false
- sources:
- - column: campaign_channel_id
- dataType: STRING
- target:
- id: campaign_channel_id
- type: attribute
- sql:
- dataSourceId: demo-test-ds
- statement: SELECT category, SUM(budget) FROM campaign_channels GROUP
- BY category
- tags:
- - Campaign channels per category
- title: Campaign channels per category
- - aggregatedFacts: []
- attributes:
- - description: Campaign id
- id: campaign_id
- labels: []
- sourceColumn: campaign_id
- sourceColumnDataType: INT
- tags:
- - Campaigns
- title: Campaign id
- - description: Campaign name
- id: campaign_name
- labels: []
- sourceColumn: campaign_name
- sourceColumnDataType: STRING
- tags:
- - Campaigns
- title: Campaign name
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaigns
- path:
- - demo
- - campaigns
- type: dataSource
- description: Campaigns
- facts: []
- grain:
- - id: campaign_id
- type: attribute
- id: campaigns
- references: []
- tags:
- - Campaigns
- title: Campaigns
- - aggregatedFacts: []
- attributes:
- - description: Customer id
- id: customer_id
- labels: []
- sourceColumn: customer_id
- sourceColumnDataType: INT
- tags:
- - Customers
- title: Customer id
- - description: Customer name
- id: customer_name
- labels: []
- sourceColumn: customer_name
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Customer name
- - description: Region
- id: region
- labels: []
- sourceColumn: region
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Region
- - description: State
- id: state
- labels:
- - description: Location
- id: geo__state__location
- sourceColumn: geo__state__location
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Location
- valueType: GEO
- sourceColumn: state
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: State
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: customers
- path:
- - demo
- - customers
- type: dataSource
- description: Customers
- facts: []
- grain:
- - id: customer_id
- type: attribute
- id: customers
- references: []
- tags:
- - Customers
- title: Customers
- - aggregatedFacts: []
- attributes:
- - description: Order id
- id: order_id
- labels: []
- sourceColumn: order_id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order id
- - description: Order line id
- id: order_line_id
- labels: []
- sourceColumn: order_line_id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order line id
- - description: Order status
- id: order_status
- labels: []
- sourceColumn: order_status
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order status
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: order_lines
- path:
- - demo
- - order_lines
- type: dataSource
- description: Order lines
- facts:
- - description: Price
- id: price
- sourceColumn: price
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- title: Price
- - description: Quantity
- id: quantity
- sourceColumn: quantity
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- title: Quantity
- grain:
- - id: order_line_id
- type: attribute
- id: order_lines
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- dataType: INT
- target:
- id: campaign_id
- type: attribute
- - identifier:
- id: customers
- type: dataset
- multivalue: false
- sources:
- - column: customer_id
- dataType: INT
- target:
- id: customer_id
- type: attribute
- - identifier:
- id: date
- type: dataset
- multivalue: false
- sources:
- - column: date
- dataType: DATE
- target:
- id: date
- type: date
- - identifier:
- id: products
- type: dataset
- multivalue: false
- sources:
- - column: product_id
- dataType: INT
- target:
- id: product_id
- type: attribute
- tags:
- - Order lines
- title: Order lines
- workspaceDataFilterColumns:
- - dataType: STRING
- name: wdf__region
- - dataType: STRING
- name: wdf__state
- workspaceDataFilterReferences:
- - filterColumn: wdf__region
- filterColumnDataType: STRING
- filterId:
- id: wdf__region
- type: workspaceDataFilter
- - aggregatedFacts: []
- attributes:
- - description: Product id
- id: product_id
- labels: []
- sourceColumn: product_id
- sourceColumnDataType: INT
- tags:
- - Products
- title: Product id
- - description: Product name
- id: product_name
- labels: []
- sourceColumn: product_name
- sourceColumnDataType: STRING
- tags:
- - Products
- title: Product name
- - description: Category
- id: products.category
- labels: []
- sourceColumn: category
- sourceColumnDataType: STRING
- tags:
- - Products
- title: Category
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: products
- path:
- - demo
- - products
- type: dataSource
- description: Products
- facts: []
- grain:
- - id: product_id
- type: attribute
- id: products
- references: []
- tags:
- - Products
- title: Products
- dateInstances:
- - description: ''
- granularities:
- - DAY
- - WEEK
- - MONTH
- - QUARTER
- - YEAR
- granularitiesFormatting:
- titleBase: ''
- titlePattern: '%titleBase - %granularityTitle'
- id: date
- tags:
- - Date
- title: Date
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/organization
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 302
- message: Found
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '0'
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Location:
- - /api/v1/entities/admin/organizations/python-sdk-dex
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/admin/organizations/python-sdk-dex
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '564'
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- name: Python SDK Dex
- hostname: python-sdk-dex.dev-latest.stg11.panther.intgdc.com
- allowedOrigins: []
- earlyAccess: enableAlerting
- earlyAccessValues:
- - enableAlerting
- - enableSmtp
- - enablePreAggregationDatasets
- - enableScheduling
- - enableCompositeGrain
- - enableUserManagement
- - enableRawExports
- - enableFlexibleDashboardLayout
- region: ''
- dataCenter: ''
- id: python-sdk-dex
- type: organization
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/admin/organizations/python-sdk-dex
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo?include=workspaces
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - max-age=5, private
- Connection:
- - keep-alive
- Content-Length:
- - '199'
- Content-Type:
- - application/json
- DATE: *id001
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- name: Demo
- id: demo
- type: workspace
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo?include=workspaces
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces/demo
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- analytics:
- analyticalDashboardExtensions: []
- analyticalDashboards:
- - content:
- filterContextRef:
- identifier:
- id: campaign_name_filter
- type: filterContext
- layout:
- type: IDashboardLayout
- sections:
- - type: IDashboardLayoutSection
- header:
- title: Spend breakdown and Revenue
- description: The first insight shows a breakdown of spend
- by category and campaign. The second shows revenue per
- $ spend, for each campaign, to demonstrate, how campaigns
- are successful.
- 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'
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- description: ''
- id: campaign
- permissions:
- - assigneeRule:
- type: allWorkspaceUsers
- name: VIEW
- 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'
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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'
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- description: ''
- id: product_and_category
- title: Product & Category
- attributeHierarchies: []
- dashboardPlugins:
- - content:
- url: https://www.example.com
- version: '2'
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- description: Testing record dashboard_plugin_1
- id: dashboard_plugin_1
- title: dashboard_plugin_1
- - content:
- url: https://www.example.com
- version: '2'
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- description: Testing record dashboard_plugin_2
- id: dashboard_plugin_2
- title: dashboard_plugin_2
- exportDefinitions: []
- 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
- memoryItems: []
- metrics:
- - content:
- format: '#,##0'
- maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id})
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- id: amount_of_active_customers
- title: '# of Active Customers'
- - content:
- format: '#,##0'
- maql: SELECT COUNT({attribute/order_id})
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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 '
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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"))
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- description: ''
- id: amount_of_valid_orders
- title: '# of Valid Orders'
- - content:
- format: $#,##0
- maql: SELECT SUM({fact/spend})
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- id: campaign_spend
- title: Campaign Spend
- - content:
- format: $#,##0
- maql: SELECT SUM({fact/price}*{fact/quantity})
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- id: order_amount
- title: Order Amount
- - content:
- format: '#,##0.0%'
- maql: SELECT {metric/revenue} / {metric/total_revenue}
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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}"
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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}"
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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}"
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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}"
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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)
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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})
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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"))
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- description: ''
- id: revenue
- title: Revenue
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE {label/products.category} IN
- ("Clothing")
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- id: revenue-clothing
- title: Revenue (Clothing)
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE {label/products.category} IN
- ( "Electronics")
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- id: revenue-electronic
- title: Revenue (Electronic)
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE {label/products.category} IN
- ("Home")
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- id: revenue-home
- title: Revenue (Home)
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE {label/products.category} IN
- ("Outdoor")
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- id: revenue-outdoor
- title: Revenue (Outdoor)
- - content:
- format: $#,##0.0
- maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id})
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- id: revenue_per_customer
- title: Revenue per Customer
- - content:
- format: $#,##0.0
- maql: SELECT {metric/revenue} / {metric/campaign_spend}
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- id: revenue_per_dollar_spent
- title: Revenue per Dollar Spent
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue})
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- id: revenue_top_10
- title: Revenue / Top 10
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue})
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- id: revenue_top_10_percent
- title: Revenue / Top 10%
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} BY ALL OTHER
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- id: total_revenue
- title: Total Revenue
- - content:
- format: $#,##0
- maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- id: top_10_products
- title: Top 10 Products
- ldm:
- datasets:
- - aggregatedFacts: []
- attributes:
- - description: Campaign channel id
- id: campaign_channel_id
- labels: []
- sourceColumn: campaign_channel_id
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Campaign channel id
- - description: Category
- id: campaign_channels.category
- labels: []
- sourceColumn: category
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Category
- - description: Type
- id: type
- labels: []
- sourceColumn: type
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- title: Type
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaign_channels
- path:
- - demo
- - campaign_channels
- type: dataSource
- description: Campaign channels
- facts:
- - description: Budget
- id: budget
- sourceColumn: budget
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- title: Budget
- - description: Spend
- id: spend
- sourceColumn: spend
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- title: Spend
- grain:
- - id: campaign_channel_id
- type: attribute
- id: campaign_channels
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- dataType: INT
- target:
- id: campaign_id
- type: attribute
- tags:
- - Campaign channels
- title: Campaign channels
- - aggregatedFacts:
- - description: Budget Agg
- id: budget_agg
- sourceColumn: budget
- sourceColumnDataType: INT
- sourceFactReference:
- operation: SUM
- reference:
- id: budget
- type: fact
- tags:
- - Campaign channels per category
- attributes: []
- description: Campaign channels per categories
- facts: []
- grain: []
- id: campaign_channels_per_category
- precedence: 1
- references:
- - identifier:
- id: campaign_channels
- type: dataset
- multivalue: false
- sources:
- - column: campaign_channel_id
- dataType: STRING
- target:
- id: campaign_channel_id
- type: attribute
- sql:
- dataSourceId: demo-test-ds
- statement: SELECT category, SUM(budget) FROM campaign_channels GROUP
- BY category
- tags:
- - Campaign channels per category
- title: Campaign channels per category
- - aggregatedFacts: []
- attributes:
- - description: Campaign id
- id: campaign_id
- labels: []
- sourceColumn: campaign_id
- sourceColumnDataType: INT
- tags:
- - Campaigns
- title: Campaign id
- - description: Campaign name
- id: campaign_name
- labels: []
- sourceColumn: campaign_name
- sourceColumnDataType: STRING
- tags:
- - Campaigns
- title: Campaign name
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaigns
- path:
- - demo
- - campaigns
- type: dataSource
- description: Campaigns
- facts: []
- grain:
- - id: campaign_id
- type: attribute
- id: campaigns
- references: []
- tags:
- - Campaigns
- title: Campaigns
- - aggregatedFacts: []
- attributes:
- - description: Customer id
- id: customer_id
- labels: []
- sourceColumn: customer_id
- sourceColumnDataType: INT
- tags:
- - Customers
- title: Customer id
- - description: Customer name
- id: customer_name
- labels: []
- sourceColumn: customer_name
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Customer name
- - description: Region
- id: region
- labels: []
- sourceColumn: region
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Region
- - description: State
- id: state
- labels:
- - description: Location
- id: geo__state__location
- sourceColumn: geo__state__location
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: Location
- valueType: GEO
- sourceColumn: state
- sourceColumnDataType: STRING
- tags:
- - Customers
- title: State
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: customers
- path:
- - demo
- - customers
- type: dataSource
- description: Customers
- facts: []
- grain:
- - id: customer_id
- type: attribute
- id: customers
- references: []
- tags:
- - Customers
- title: Customers
- - aggregatedFacts: []
- attributes:
- - description: Order id
- id: order_id
- labels: []
- sourceColumn: order_id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order id
- - description: Order line id
- id: order_line_id
- labels: []
- sourceColumn: order_line_id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order line id
- - description: Order status
- id: order_status
- labels: []
- sourceColumn: order_status
- sourceColumnDataType: STRING
- tags:
- - Order lines
- title: Order status
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: order_lines
- path:
- - demo
- - order_lines
- type: dataSource
- description: Order lines
- facts:
- - description: Price
- id: price
- sourceColumn: price
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- title: Price
- - description: Quantity
- id: quantity
- sourceColumn: quantity
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- title: Quantity
- grain:
- - id: order_line_id
- type: attribute
- id: order_lines
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- dataType: INT
- target:
- id: campaign_id
- type: attribute
- - identifier:
- id: customers
- type: dataset
- multivalue: false
- sources:
- - column: customer_id
- dataType: INT
- target:
- id: customer_id
- type: attribute
- - identifier:
- id: date
- type: dataset
- multivalue: false
- sources:
- - column: date
- dataType: DATE
- target:
- id: date
- type: date
- - identifier:
- id: products
- type: dataset
- multivalue: false
- sources:
- - column: product_id
- dataType: INT
- target:
- id: product_id
- type: attribute
- tags:
- - Order lines
- title: Order lines
- workspaceDataFilterColumns:
- - dataType: STRING
- name: wdf__region
- - dataType: STRING
- name: wdf__state
- workspaceDataFilterReferences:
- - filterColumn: wdf__region
- filterColumnDataType: STRING
- filterId:
- id: wdf__region
- type: workspaceDataFilter
- - aggregatedFacts: []
- attributes:
- - description: Product id
- id: product_id
- labels: []
- sourceColumn: product_id
- sourceColumnDataType: INT
- tags:
- - Products
- title: Product id
- - description: Product name
- id: product_name
- labels: []
- sourceColumn: product_name
- sourceColumnDataType: STRING
- tags:
- - Products
- title: Product name
- - description: Category
- id: products.category
- labels: []
- sourceColumn: category
- sourceColumnDataType: STRING
- tags:
- - Products
- title: Category
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: products
- path:
- - demo
- - products
- type: dataSource
- description: Products
- facts: []
- grain:
- - id: product_id
- type: attribute
- id: products
- references: []
- tags:
- - Products
- title: Products
- dateInstances:
- - description: ''
- granularities:
- - DAY
- - WEEK
- - MONTH
- - QUARTER
- - YEAR
- granularitiesFormatting:
- titleBase: ''
- titlePattern: '%titleBase - %granularityTitle'
- id: date
- tags:
- - Date
- title: Date
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo_cs?include=workspaces
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 404
- message: Not Found
- headers:
- Cache-Control:
- - max-age=5, private
- Connection:
- - keep-alive
- Content-Length:
- - '172'
- Content-Type:
- - application/problem+json
- DATE: *id001
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- detail: The requested endpoint does not exist or you do not have permission
- to access it.
- status: 404
- title: Not Found
- traceId: 09c2f8924707104e197f09159c37f74a
- - request:
- method: POST
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces
- body:
- data:
- id: demo_cs
- type: workspace
- attributes:
- name: Demo (cs)
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 201
- message: Created
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '191'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- name: Demo (cs)
- id: demo_cs
- type: workspace
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo_cs
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaceDataFilters
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '603'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- 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: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaceDataFilters
- body:
- 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
- - columnName: wdf__region
- id: wdf__region_demo_cs
- title: Customer region
- workspace:
- id: demo_cs
- type: workspace
- workspaceDataFilterSettings: []
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: PUT
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces/demo_cs
- body:
- ldm:
- datasets:
- - grain:
- - id: campaign_channel_id
- type: attribute
- id: campaign_channels
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- target:
- id: campaign_id
- type: attribute
- dataType: INT
- title: Campaign channels
- description: Campaign channels
- attributes:
- - id: campaign_channel_id
- labels: []
- sourceColumn: campaign_channel_id
- title: Campaign channel id
- sourceColumnDataType: STRING
- description: Campaign channel id
- tags:
- - Campaign channels
- - id: campaign_channels.category
- labels: []
- sourceColumn: category
- title: Category
- sourceColumnDataType: STRING
- description: Category
- tags:
- - Campaign channels
- - id: type
- labels: []
- sourceColumn: type
- title: Type
- sourceColumnDataType: STRING
- description: Type
- tags:
- - Campaign channels
- facts:
- - id: budget
- sourceColumn: budget
- title: "Rozpo\u010Det"
- sourceColumnDataType: NUMERIC
- description: "Rozpo\u010Det"
- tags:
- - Campaign channels
- - id: spend
- sourceColumn: spend
- title: Spend
- sourceColumnDataType: NUMERIC
- description: Spend
- tags:
- - Campaign channels
- aggregatedFacts: []
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaign_channels
- type: dataSource
- path:
- - demo
- - campaign_channels
- tags:
- - Campaign channels
- - grain: []
- id: campaign_channels_per_category
- references:
- - identifier:
- id: campaign_channels
- type: dataset
- multivalue: false
- sources:
- - column: campaign_channel_id
- target:
- id: campaign_channel_id
- type: attribute
- dataType: STRING
- title: Campaign channels per category
- description: Campaign channels per categories
- attributes: []
- facts: []
- aggregatedFacts:
- - id: budget_agg
- sourceColumn: budget
- sourceFactReference:
- operation: SUM
- reference:
- id: budget
- type: fact
- sourceColumnDataType: INT
- description: Budget Agg
- tags:
- - Campaign channels per category
- precedence: 1
- sql:
- dataSourceId: demo-test-ds
- statement: SELECT category, SUM(budget) FROM campaign_channels GROUP
- BY category
- tags:
- - Campaign channels per category
- - grain:
- - id: campaign_id
- type: attribute
- id: campaigns
- references: []
- title: Campaigns
- description: Campaigns
- attributes:
- - id: campaign_id
- labels: []
- sourceColumn: campaign_id
- title: Campaign id
- sourceColumnDataType: INT
- description: Campaign id
- tags:
- - Campaigns
- - id: campaign_name
- labels: []
- sourceColumn: campaign_name
- title: Campaign name
- sourceColumnDataType: STRING
- description: Campaign name
- tags:
- - Campaigns
- facts: []
- aggregatedFacts: []
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaigns
- type: dataSource
- path:
- - demo
- - campaigns
- 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
- sourceColumnDataType: INT
- description: Customer id
- tags:
- - Customers
- - id: customer_name
- labels: []
- sourceColumn: customer_name
- title: Customer name
- sourceColumnDataType: STRING
- description: Customer name
- tags:
- - Customers
- - id: region
- labels: []
- sourceColumn: region
- title: Region
- sourceColumnDataType: STRING
- description: Region
- tags:
- - Customers
- - id: state
- labels:
- - id: geo__state__location
- sourceColumn: geo__state__location
- title: Location
- sourceColumnDataType: STRING
- description: Location
- tags:
- - Customers
- valueType: GEO
- sourceColumn: state
- title: State
- sourceColumnDataType: STRING
- description: State
- tags:
- - Customers
- facts: []
- aggregatedFacts: []
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: customers
- type: dataSource
- path:
- - demo
- - customers
- tags:
- - Customers
- - grain:
- - id: order_line_id
- type: attribute
- id: order_lines
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- target:
- id: campaign_id
- type: attribute
- dataType: INT
- - identifier:
- id: customers
- type: dataset
- multivalue: false
- sources:
- - column: customer_id
- target:
- id: customer_id
- type: attribute
- dataType: INT
- - identifier:
- id: date
- type: dataset
- multivalue: false
- sources:
- - column: date
- target:
- id: date
- type: date
- dataType: DATE
- - identifier:
- id: products
- type: dataset
- multivalue: false
- sources:
- - column: product_id
- target:
- id: product_id
- type: attribute
- dataType: INT
- title: Order lines
- description: Order lines
- attributes:
- - id: order_id
- labels: []
- sourceColumn: order_id
- title: Order id
- sourceColumnDataType: STRING
- description: Order id
- tags:
- - Order lines
- - id: order_line_id
- labels: []
- sourceColumn: order_line_id
- title: Order line id
- sourceColumnDataType: STRING
- description: Order line id
- tags:
- - Order lines
- - id: order_status
- labels: []
- sourceColumn: order_status
- title: Order status
- sourceColumnDataType: STRING
- description: Order status
- tags:
- - Order lines
- facts:
- - id: price
- sourceColumn: price
- title: Price
- sourceColumnDataType: NUMERIC
- description: Price
- tags:
- - Order lines
- - id: quantity
- sourceColumn: quantity
- title: Quantity
- sourceColumnDataType: NUMERIC
- description: Quantity
- tags:
- - Order lines
- aggregatedFacts: []
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: order_lines
- type: dataSource
- path:
- - demo
- - order_lines
- tags:
- - Order lines
- workspaceDataFilterColumns:
- - dataType: STRING
- name: wdf__region
- - dataType: STRING
- name: wdf__state
- workspaceDataFilterReferences:
- - filterColumn: wdf__region
- filterColumnDataType: STRING
- filterId:
- id: wdf__region_demo_cs
- type: workspaceDataFilter
- - grain:
- - id: product_id
- type: attribute
- id: products
- references: []
- title: Products
- description: Products
- attributes:
- - id: product_id
- labels: []
- sourceColumn: product_id
- title: Product id
- sourceColumnDataType: INT
- description: Product id
- tags:
- - Products
- - id: product_name
- labels: []
- sourceColumn: product_name
- title: Product name
- sourceColumnDataType: STRING
- description: Product name
- tags:
- - Products
- - id: products.category
- labels: []
- sourceColumn: category
- title: Category
- sourceColumnDataType: STRING
- description: Category
- tags:
- - Products
- facts: []
- aggregatedFacts: []
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: products
- type: dataSource
- path:
- - demo
- - products
- tags:
- - Products
- dateInstances:
- - granularities:
- - DAY
- - WEEK
- - MONTH
- - QUARTER
- - 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
- header:
- title: Spend breakdown and Revenue
- description: The first insight shows a breakdown of spend
- by category and campaign. The second shows revenue per $
- spend, for each campaign, to demonstrate, how campaigns
- are successful.
- items:
- - type: IDashboardLayoutItem
- size:
- xl:
- gridWidth: 6
- widget:
- type: insight
- title: Campaign Spend
- description: null
- 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: null
- ignoreDashboardFilters: []
- insight:
- identifier:
- id: revenue_per_usd_vs_spend_by_campaign
- type: visualizationObject
- drills: []
- properties: {}
- version: '2'
- id: campaign
- title: Campaign
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- description: ''
- permissions:
- - name: VIEW
- assigneeRule:
- type: allWorkspaceUsers
- - content:
- filterContextRef:
- identifier:
- id: campaign_name_filter
- type: filterContext
- layout:
- sections:
- - items:
- - size:
- xl:
- gridWidth: 12
- type: IDashboardLayoutItem
- widget:
- description: null
- 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - 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: null
- 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: null
- 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: null
- 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: null
- 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: null
- 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: null
- 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: null
- 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- description: ''
- analyticalDashboardExtensions: []
- attributeHierarchies: []
- dashboardPlugins:
- - content:
- url: https://www.example.com
- version: '2'
- id: dashboard_plugin_1
- title: dashboard_plugin_1
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- description: Testing record dashboard_plugin_1
- - content:
- url: https://www.example.com
- version: '2'
- id: dashboard_plugin_2
- title: dashboard_plugin_2
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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'
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - content:
- format: '#,##0'
- maql: SELECT COUNT({attribute/order_id})
- id: amount_of_orders
- title: '# of Orders'
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - 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'
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - 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'
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- description: ''
- - content:
- format: $#,##0
- maql: SELECT SUM({fact/spend})
- id: campaign_spend
- title: Campaign Spend
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - content:
- format: $#,##0
- maql: SELECT SUM({fact/price}*{fact/quantity})
- id: order_amount
- title: Order Amount
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - content:
- format: '#,##0.0%'
- maql: SELECT {metric/revenue} / {metric/total_revenue}
- id: percent_revenue
- title: '% Revenue'
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - 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'
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - 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'
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - 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'
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - 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'
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - 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'
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - 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'
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - content:
- format: $#,##0
- maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status}
- IN ("Returned", "Canceled"))
- id: revenue
- title: Revenue
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- description: ''
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Clothing")
- id: revenue-clothing
- title: Revenue (Clothing)
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE {label/products.category} IN (
- "Electronics")
- id: revenue-electronic
- title: Revenue (Electronic)
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Home")
- id: revenue-home
- title: Revenue (Home)
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Outdoor")
- id: revenue-outdoor
- title: Revenue (Outdoor)
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - content:
- format: $#,##0.0
- maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id})
- id: revenue_per_customer
- title: Revenue per Customer
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - content:
- format: $#,##0.0
- maql: SELECT {metric/revenue} / {metric/campaign_spend}
- id: revenue_per_dollar_spent
- title: Revenue per Dollar Spent
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue})
- id: revenue_top_10
- title: Revenue / Top 10
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue})
- id: revenue_top_10_percent
- title: Revenue / Top 10%
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - content:
- format: $#,##0
- maql: SELECT {metric/revenue} BY ALL OTHER
- id: total_revenue
- title: Total Revenue
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - content:
- format: $#,##0
- maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER
- id: total_revenue-no_filters
- title: Total Revenue (No Filters)
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - 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'
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - 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)
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- - 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
- createdAt: 2026-03-25 09:16
- createdBy:
- id: admin
- type: user
- exportDefinitions: []
- memoryItems: []
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: DELETE
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo_cs/workspaceSettings/locale
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: DELETE
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo_cs/workspaceSettings/formatLocale
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo_cs/workspaceSettings/locale
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 404
- message: Not Found
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '172'
- Content-Type:
- - application/problem+json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- detail: The requested endpoint does not exist or you do not have permission
- to access it.
- status: 404
- title: Not Found
- traceId: 8383fb8153ff6e4daa559d35616abc73
- - request:
- method: POST
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo_cs/workspaceSettings
- body:
- data:
- type: workspaceSetting
- id: locale
- attributes:
- content:
- value: cs-CZ
- type: LOCALE
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 201
- message: Created
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '310'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- content:
- value: cs-CZ
- type: LOCALE
- id: locale
- meta:
- origin:
- originId: demo_cs
- originType: NATIVE
- type: workspaceSetting
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo_cs/workspaceSettings/locale
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo_cs/workspaceSettings/formatLocale
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 404
- message: Not Found
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '172'
- Content-Type:
- - application/problem+json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- detail: The requested endpoint does not exist or you do not have permission
- to access it.
- status: 404
- title: Not Found
- traceId: 08689621d179032578075347fca6793c
- - request:
- method: POST
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo_cs/workspaceSettings
- body:
- data:
- type: workspaceSetting
- id: formatLocale
- attributes:
- content:
- value: cs-CZ
- type: FORMAT_LOCALE
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 201
- message: Created
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '329'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- content:
- value: cs-CZ
- type: FORMAT_LOCALE
- id: formatLocale
- meta:
- origin:
- originId: demo_cs
- originType: NATIVE
- type: workspaceSetting
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo_cs/workspaceSettings/formatLocale
- - request:
- method: PUT
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces
- body:
- 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:
- - id: demo
- name: Demo
- automations: []
- customApplicationSettings: []
- filterViews: []
- hierarchyPermissions:
- - assignee:
- id: demo2
- type: user
- name: MANAGE
- - assignee:
- id: demoGroup
- type: userGroup
- name: ANALYZE
- model:
- analytics:
- analyticalDashboardExtensions: []
- analyticalDashboards:
- - content:
- filterContextRef:
- identifier:
- id: campaign_name_filter
- type: filterContext
- layout:
- type: IDashboardLayout
- sections:
- - type: IDashboardLayoutSection
- header:
- title: Spend breakdown and Revenue
- description: The first insight shows a breakdown of
- spend by category and campaign. The second shows revenue
- per $ spend, for each campaign, to demonstrate, how
- campaigns are successful.
- 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: ''
- permissions:
- - assigneeRule:
- type: allWorkspaceUsers
- name: VIEW
- - 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: ''
- attributeHierarchies: []
- 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
- exportDefinitions: []
- 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
- memoryItems: []
- ldm:
- datasets:
- - grain:
- - id: campaign_channel_id
- type: attribute
- id: campaign_channels
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- target:
- id: campaign_id
- type: attribute
- dataType: INT
- title: Campaign channels
- aggregatedFacts: []
- attributes:
- - id: campaign_channel_id
- labels: []
- sourceColumn: campaign_channel_id
- title: Campaign channel id
- description: Campaign channel id
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- - id: campaign_channels.category
- labels: []
- sourceColumn: category
- title: Category
- description: Category
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- - id: type
- labels: []
- sourceColumn: type
- title: Type
- description: Type
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaign_channels
- type: dataSource
- path:
- - demo
- - campaign_channels
- description: Campaign channels
- facts:
- - id: budget
- sourceColumn: budget
- title: Budget
- description: Budget
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- - id: spend
- sourceColumn: spend
- title: Spend
- description: Spend
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- tags:
- - Campaign channels
- - grain: []
- id: campaign_channels_per_category
- references:
- - identifier:
- id: campaign_channels
- type: dataset
- multivalue: false
- sources:
- - column: campaign_channel_id
- target:
- id: campaign_channel_id
- type: attribute
- dataType: STRING
- title: Campaign channels per category
- aggregatedFacts:
- - id: budget_agg
- sourceColumn: budget
- sourceFactReference:
- operation: SUM
- reference:
- id: budget
- type: fact
- description: Budget Agg
- sourceColumnDataType: INT
- tags:
- - Campaign channels per category
- attributes: []
- description: Campaign channels per categories
- facts: []
- precedence: 1
- sql:
- dataSourceId: demo-test-ds
- statement: SELECT category, SUM(budget) FROM campaign_channels
- GROUP BY category
- tags:
- - Campaign channels per category
- - grain:
- - id: campaign_id
- type: attribute
- id: campaigns
- references: []
- title: Campaigns
- aggregatedFacts: []
- attributes:
- - id: campaign_id
- labels: []
- sourceColumn: campaign_id
- title: Campaign id
- description: Campaign id
- sourceColumnDataType: INT
- tags:
- - Campaigns
- - id: campaign_name
- labels: []
- sourceColumn: campaign_name
- title: Campaign name
- description: Campaign name
- sourceColumnDataType: STRING
- tags:
- - Campaigns
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaigns
- type: dataSource
- path:
- - demo
- - campaigns
- description: Campaigns
- facts: []
- tags:
- - Campaigns
- - grain:
- - id: customer_id
- type: attribute
- id: customers
- references: []
- title: Customers
- aggregatedFacts: []
- attributes:
- - id: customer_id
- labels: []
- sourceColumn: customer_id
- title: Customer id
- description: Customer id
- sourceColumnDataType: INT
- tags:
- - Customers
- - id: customer_name
- labels: []
- sourceColumn: customer_name
- title: Customer name
- description: Customer name
- sourceColumnDataType: STRING
- tags:
- - Customers
- - id: region
- labels: []
- sourceColumn: region
- title: Region
- description: Region
- sourceColumnDataType: STRING
- tags:
- - Customers
- - id: state
- labels:
- - id: geo__state__location
- sourceColumn: geo__state__location
- title: Location
- description: Location
- sourceColumnDataType: STRING
- tags:
- - Customers
- valueType: GEO
- sourceColumn: state
- title: State
- description: State
- sourceColumnDataType: STRING
- tags:
- - Customers
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: customers
- type: dataSource
- path:
- - demo
- - customers
- description: Customers
- facts: []
- tags:
- - Customers
- - grain:
- - id: order_line_id
- type: attribute
- id: order_lines
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- target:
- id: campaign_id
- type: attribute
- dataType: INT
- - identifier:
- id: customers
- type: dataset
- multivalue: false
- sources:
- - column: customer_id
- target:
- id: customer_id
- type: attribute
- dataType: INT
- - identifier:
- id: date
- type: dataset
- multivalue: false
- sources:
- - column: date
- target:
- id: date
- type: date
- dataType: DATE
- - identifier:
- id: products
- type: dataset
- multivalue: false
- sources:
- - column: product_id
- target:
- id: product_id
- type: attribute
- dataType: INT
- title: Order lines
- aggregatedFacts: []
- attributes:
- - id: order_id
- labels: []
- sourceColumn: order_id
- title: Order id
- description: Order id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- - id: order_line_id
- labels: []
- sourceColumn: order_line_id
- title: Order line id
- description: Order line id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- - id: order_status
- labels: []
- sourceColumn: order_status
- title: Order status
- description: Order status
- sourceColumnDataType: STRING
- tags:
- - Order lines
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: order_lines
- type: dataSource
- path:
- - demo
- - order_lines
- description: Order lines
- facts:
- - id: price
- sourceColumn: price
- title: Price
- description: Price
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- - id: quantity
- sourceColumn: quantity
- title: Quantity
- description: Quantity
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- tags:
- - Order lines
- workspaceDataFilterColumns:
- - dataType: STRING
- name: wdf__region
- - dataType: STRING
- name: wdf__state
- workspaceDataFilterReferences:
- - filterColumn: wdf__region
- filterColumnDataType: STRING
- filterId:
- id: wdf__region
- type: workspaceDataFilter
- - grain:
- - id: product_id
- type: attribute
- id: products
- references: []
- title: Products
- aggregatedFacts: []
- attributes:
- - id: product_id
- labels: []
- sourceColumn: product_id
- title: Product id
- description: Product id
- sourceColumnDataType: INT
- tags:
- - Products
- - id: product_name
- labels: []
- sourceColumn: product_name
- title: Product name
- description: Product name
- sourceColumnDataType: STRING
- tags:
- - Products
- - id: products.category
- labels: []
- sourceColumn: category
- title: Category
- description: Category
- sourceColumnDataType: STRING
- tags:
- - Products
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: products
- type: dataSource
- path:
- - demo
- - products
- description: Products
- facts: []
- tags:
- - Products
- dateInstances:
- - granularities:
- - DAY
- - WEEK
- - MONTH
- - QUARTER
- - YEAR
- granularitiesFormatting:
- titleBase: ''
- titlePattern: '%titleBase - %granularityTitle'
- id: date
- title: Date
- description: ''
- tags:
- - Date
- permissions:
- - assignee:
- id: demo2
- type: user
- name: ANALYZE
- - assignee:
- id: demoGroup
- type: userGroup
- name: VIEW
- settings: []
- userDataFilters: []
- - id: demo_west
- name: Demo West
- automations: []
- customApplicationSettings: []
- filterViews: []
- hierarchyPermissions: []
- model:
- analytics:
- analyticalDashboardExtensions:
- - id: campaign
- permissions:
- - assigneeRule:
- type: allWorkspaceUsers
- name: VIEW
- analyticalDashboards: []
- attributeHierarchies: []
- dashboardPlugins: []
- exportDefinitions: []
- filterContexts: []
- metrics: []
- visualizationObjects: []
- memoryItems: []
- ldm:
- datasetExtensions:
- - id: order_lines
- workspaceDataFilterReferences:
- - filterColumn: wdf__state
- filterColumnDataType: STRING
- filterId:
- id: wdf__state
- type: workspaceDataFilter
- datasets: []
- dateInstances: []
- parent:
- id: demo
- type: workspace
- permissions: []
- settings: []
- userDataFilters: []
- - id: demo_west_california
- name: Demo West California
- automations: []
- customApplicationSettings: []
- filterViews: []
- hierarchyPermissions: []
- model:
- analytics:
- analyticalDashboardExtensions: []
- analyticalDashboards: []
- attributeHierarchies: []
- dashboardPlugins: []
- exportDefinitions: []
- filterContexts: []
- metrics: []
- visualizationObjects: []
- memoryItems: []
- ldm:
- datasets: []
- dateInstances: []
- parent:
- id: demo_west
- type: workspace
- permissions: []
- settings: []
- userDataFilters: []
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_update_workspace_invalid.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_update_workspace_invalid.yaml
deleted file mode 100644
index 1831f9002..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_update_workspace_invalid.yaml
+++ /dev/null
@@ -1,375 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo_west?include=workspaces
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - max-age=5, private
- Connection:
- - keep-alive
- Content-Length:
- - '468'
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- 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: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo
- type: workspace
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo_west?include=workspaces
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces?include=workspaces&page=0&size=500
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- - attributes:
- name: Demo
- id: demo
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo
- type: workspace
- - attributes:
- name: Demo West
- id: demo_west
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/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: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/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: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo
- type: workspace
- - attributes:
- name: Demo West
- id: demo_west
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo_west
- type: workspace
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces?include=workspaces&page=0&size=500
- next: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces?include=workspaces&page=1&size=500
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo_west?include=workspaces
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - max-age=5, private
- Connection:
- - keep-alive
- Content-Length:
- - '468'
- Content-Type:
- - application/json
- DATE: *id001
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- 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: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo
- type: workspace
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo_west?include=workspaces
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces?include=workspaces&page=0&size=500
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- - attributes:
- name: Demo
- id: demo
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo
- type: workspace
- - attributes:
- name: Demo West
- id: demo_west
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/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: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/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: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo
- type: workspace
- - attributes:
- name: Demo West
- id: demo_west
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo_west
- type: workspace
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces?include=workspaces&page=0&size=500
- next: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces?include=workspaces&page=1&size=500
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo_west?include=workspaces
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - max-age=5, private
- Connection:
- - keep-alive
- Content-Length:
- - '468'
- Content-Type:
- - application/json
- DATE: *id001
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- 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: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo
- type: workspace
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo_west?include=workspaces
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_update_workspace_valid.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_update_workspace_valid.yaml
deleted file mode 100644
index f4b8701a1..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_update_workspace_valid.yaml
+++ /dev/null
@@ -1,2289 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo_west?include=workspaces
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - max-age=5, private
- Connection:
- - keep-alive
- Content-Length:
- - '468'
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- 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: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo
- type: workspace
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo_west?include=workspaces
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces?include=workspaces&page=0&size=500
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- - attributes:
- name: Demo
- id: demo
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo
- type: workspace
- - attributes:
- name: Demo West
- id: demo_west
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/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: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/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: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo
- type: workspace
- - attributes:
- name: Demo West
- id: demo_west
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo_west
- type: workspace
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces?include=workspaces&page=0&size=500
- next: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces?include=workspaces&page=1&size=500
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo_west?include=workspaces
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - max-age=5, private
- Connection:
- - keep-alive
- Content-Length:
- - '468'
- Content-Type:
- - application/json
- DATE: *id001
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- 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: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo
- type: workspace
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo_west?include=workspaces
- - request:
- method: PUT
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/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/json
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '190'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- name: Test
- id: demo_west
- type: workspace
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo_west
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces?include=workspaces&page=0&size=500
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- - attributes:
- name: Demo
- id: demo
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo
- type: workspace
- - attributes:
- name: Test
- id: demo_west
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/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: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/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: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo
- type: workspace
- - attributes:
- name: Test
- id: demo_west
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo_west
- type: workspace
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces?include=workspaces&page=0&size=500
- next: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces?include=workspaces&page=1&size=500
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo_west?include=workspaces
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - max-age=5, private
- Connection:
- - keep-alive
- Content-Length:
- - '463'
- Content-Type:
- - application/json
- DATE: *id001
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- 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: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo
- type: workspace
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo_west?include=workspaces
- - request:
- method: PUT
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces
- body:
- 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:
- - id: demo
- name: Demo
- automations: []
- customApplicationSettings: []
- filterViews: []
- hierarchyPermissions:
- - assignee:
- id: demo2
- type: user
- name: MANAGE
- - assignee:
- id: demoGroup
- type: userGroup
- name: ANALYZE
- model:
- analytics:
- analyticalDashboardExtensions: []
- analyticalDashboards:
- - content:
- filterContextRef:
- identifier:
- id: campaign_name_filter
- type: filterContext
- layout:
- type: IDashboardLayout
- sections:
- - type: IDashboardLayoutSection
- header:
- title: Spend breakdown and Revenue
- description: The first insight shows a breakdown of
- spend by category and campaign. The second shows revenue
- per $ spend, for each campaign, to demonstrate, how
- campaigns are successful.
- 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: ''
- permissions:
- - assigneeRule:
- type: allWorkspaceUsers
- name: VIEW
- - 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: ''
- attributeHierarchies: []
- 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
- exportDefinitions: []
- 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
- memoryItems: []
- ldm:
- datasets:
- - grain:
- - id: campaign_channel_id
- type: attribute
- id: campaign_channels
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- target:
- id: campaign_id
- type: attribute
- dataType: INT
- title: Campaign channels
- aggregatedFacts: []
- attributes:
- - id: campaign_channel_id
- labels: []
- sourceColumn: campaign_channel_id
- title: Campaign channel id
- description: Campaign channel id
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- - id: campaign_channels.category
- labels: []
- sourceColumn: category
- title: Category
- description: Category
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- - id: type
- labels: []
- sourceColumn: type
- title: Type
- description: Type
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaign_channels
- type: dataSource
- path:
- - demo
- - campaign_channels
- description: Campaign channels
- facts:
- - id: budget
- sourceColumn: budget
- title: Budget
- description: Budget
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- - id: spend
- sourceColumn: spend
- title: Spend
- description: Spend
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- tags:
- - Campaign channels
- - grain: []
- id: campaign_channels_per_category
- references:
- - identifier:
- id: campaign_channels
- type: dataset
- multivalue: false
- sources:
- - column: campaign_channel_id
- target:
- id: campaign_channel_id
- type: attribute
- dataType: STRING
- title: Campaign channels per category
- aggregatedFacts:
- - id: budget_agg
- sourceColumn: budget
- sourceFactReference:
- operation: SUM
- reference:
- id: budget
- type: fact
- description: Budget Agg
- sourceColumnDataType: INT
- tags:
- - Campaign channels per category
- attributes: []
- description: Campaign channels per categories
- facts: []
- precedence: 1
- sql:
- dataSourceId: demo-test-ds
- statement: SELECT category, SUM(budget) FROM campaign_channels
- GROUP BY category
- tags:
- - Campaign channels per category
- - grain:
- - id: campaign_id
- type: attribute
- id: campaigns
- references: []
- title: Campaigns
- aggregatedFacts: []
- attributes:
- - id: campaign_id
- labels: []
- sourceColumn: campaign_id
- title: Campaign id
- description: Campaign id
- sourceColumnDataType: INT
- tags:
- - Campaigns
- - id: campaign_name
- labels: []
- sourceColumn: campaign_name
- title: Campaign name
- description: Campaign name
- sourceColumnDataType: STRING
- tags:
- - Campaigns
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaigns
- type: dataSource
- path:
- - demo
- - campaigns
- description: Campaigns
- facts: []
- tags:
- - Campaigns
- - grain:
- - id: customer_id
- type: attribute
- id: customers
- references: []
- title: Customers
- aggregatedFacts: []
- attributes:
- - id: customer_id
- labels: []
- sourceColumn: customer_id
- title: Customer id
- description: Customer id
- sourceColumnDataType: INT
- tags:
- - Customers
- - id: customer_name
- labels: []
- sourceColumn: customer_name
- title: Customer name
- description: Customer name
- sourceColumnDataType: STRING
- tags:
- - Customers
- - id: region
- labels: []
- sourceColumn: region
- title: Region
- description: Region
- sourceColumnDataType: STRING
- tags:
- - Customers
- - id: state
- labels:
- - id: geo__state__location
- sourceColumn: geo__state__location
- title: Location
- description: Location
- sourceColumnDataType: STRING
- tags:
- - Customers
- valueType: GEO
- sourceColumn: state
- title: State
- description: State
- sourceColumnDataType: STRING
- tags:
- - Customers
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: customers
- type: dataSource
- path:
- - demo
- - customers
- description: Customers
- facts: []
- tags:
- - Customers
- - grain:
- - id: order_line_id
- type: attribute
- id: order_lines
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- target:
- id: campaign_id
- type: attribute
- dataType: INT
- - identifier:
- id: customers
- type: dataset
- multivalue: false
- sources:
- - column: customer_id
- target:
- id: customer_id
- type: attribute
- dataType: INT
- - identifier:
- id: date
- type: dataset
- multivalue: false
- sources:
- - column: date
- target:
- id: date
- type: date
- dataType: DATE
- - identifier:
- id: products
- type: dataset
- multivalue: false
- sources:
- - column: product_id
- target:
- id: product_id
- type: attribute
- dataType: INT
- title: Order lines
- aggregatedFacts: []
- attributes:
- - id: order_id
- labels: []
- sourceColumn: order_id
- title: Order id
- description: Order id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- - id: order_line_id
- labels: []
- sourceColumn: order_line_id
- title: Order line id
- description: Order line id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- - id: order_status
- labels: []
- sourceColumn: order_status
- title: Order status
- description: Order status
- sourceColumnDataType: STRING
- tags:
- - Order lines
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: order_lines
- type: dataSource
- path:
- - demo
- - order_lines
- description: Order lines
- facts:
- - id: price
- sourceColumn: price
- title: Price
- description: Price
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- - id: quantity
- sourceColumn: quantity
- title: Quantity
- description: Quantity
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- tags:
- - Order lines
- workspaceDataFilterColumns:
- - dataType: STRING
- name: wdf__region
- - dataType: STRING
- name: wdf__state
- workspaceDataFilterReferences:
- - filterColumn: wdf__region
- filterColumnDataType: STRING
- filterId:
- id: wdf__region
- type: workspaceDataFilter
- - grain:
- - id: product_id
- type: attribute
- id: products
- references: []
- title: Products
- aggregatedFacts: []
- attributes:
- - id: product_id
- labels: []
- sourceColumn: product_id
- title: Product id
- description: Product id
- sourceColumnDataType: INT
- tags:
- - Products
- - id: product_name
- labels: []
- sourceColumn: product_name
- title: Product name
- description: Product name
- sourceColumnDataType: STRING
- tags:
- - Products
- - id: products.category
- labels: []
- sourceColumn: category
- title: Category
- description: Category
- sourceColumnDataType: STRING
- tags:
- - Products
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: products
- type: dataSource
- path:
- - demo
- - products
- description: Products
- facts: []
- tags:
- - Products
- dateInstances:
- - granularities:
- - DAY
- - WEEK
- - MONTH
- - QUARTER
- - YEAR
- granularitiesFormatting:
- titleBase: ''
- titlePattern: '%titleBase - %granularityTitle'
- id: date
- title: Date
- description: ''
- tags:
- - Date
- permissions:
- - assignee:
- id: demo2
- type: user
- name: ANALYZE
- - assignee:
- id: demoGroup
- type: userGroup
- name: VIEW
- settings: []
- userDataFilters: []
- - id: demo_west
- name: Demo West
- automations: []
- customApplicationSettings: []
- filterViews: []
- hierarchyPermissions: []
- model:
- analytics:
- analyticalDashboardExtensions:
- - id: campaign
- permissions:
- - assigneeRule:
- type: allWorkspaceUsers
- name: VIEW
- analyticalDashboards: []
- attributeHierarchies: []
- dashboardPlugins: []
- exportDefinitions: []
- filterContexts: []
- metrics: []
- visualizationObjects: []
- memoryItems: []
- ldm:
- datasetExtensions:
- - id: order_lines
- workspaceDataFilterReferences:
- - filterColumn: wdf__state
- filterColumnDataType: STRING
- filterId:
- id: wdf__state
- type: workspaceDataFilter
- datasets: []
- dateInstances: []
- parent:
- id: demo
- type: workspace
- permissions: []
- settings: []
- userDataFilters: []
- - id: demo_west_california
- name: Demo West California
- automations: []
- customApplicationSettings: []
- filterViews: []
- hierarchyPermissions: []
- model:
- analytics:
- analyticalDashboardExtensions: []
- analyticalDashboards: []
- attributeHierarchies: []
- dashboardPlugins: []
- exportDefinitions: []
- filterContexts: []
- metrics: []
- visualizationObjects: []
- memoryItems: []
- ldm:
- datasets: []
- dateInstances: []
- parent:
- id: demo_west
- type: workspace
- permissions: []
- settings: []
- userDataFilters: []
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_workspace_list.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_workspace_list.yaml
deleted file mode 100644
index c20e076ae..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_workspace_list.yaml
+++ /dev/null
@@ -1,98 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces?include=workspaces&page=0&size=500
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- - attributes:
- name: Demo
- id: demo
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo
- type: workspace
- - attributes:
- name: Demo West
- id: demo_west
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/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: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/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: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo
- type: workspace
- - attributes:
- name: Demo West
- id: demo_west
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo_west
- type: workspace
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces?include=workspaces&page=0&size=500
- next: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces?include=workspaces&page=1&size=500
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/get_metadata_localization.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/get_metadata_localization.yaml
deleted file mode 100644
index 23396489a..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/get_metadata_localization.yaml
+++ /dev/null
@@ -1,471 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: POST
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/actions/workspaces/demo/translations/retrieve
- body:
- locale: fr-FR
- headers:
- Accept:
- - application/xml
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/xml
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: CampaignFree-form
- translations are marked by the 'id' attribute, which is a hash combining
- the JSON path and the source text's value. Since this hash is hard to read,
- the source text includes extra details about its general location.Spend
- breakdown and RevenueThe
- first insight shows a breakdown of spend by category and campaign. The second
- shows revenue per $ spend, for each campaign, to demonstrate, how campaigns
- are successful.Campaign
- SpendRevenue
- per $ vs Spend by CampaignDashboard
- pluginFree-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.DHO
- simpleProduct
- & CategoryFree-form
- translations are marked by the 'id' attribute, which is a hash combining
- the JSON path and the source text's value. Since this hash is hard to read,
- the source text includes extra details about its general location.Top
- 10 ProductsRevenue
- TrendCustomers
- TrendProduct
- Categories Pie ChartProduct
- BreakdownProduct
- Saleability%
- Revenue per Product by Customer and CategoryCampaign
- channel idCampaign
- channel idCampaign
- channelsCategoryCategoryCampaign
- channelsCampaign idCampaign idCampaignsCampaign
- nameCampaign
- nameCampaignsCustomer
- idCustomer
- idCustomersCustomer
- nameCustomer
- nameCustomersDate
- - DateDateDateDate
- - Month/YearMonth
- and Year (12/2020)DateDate
- - Quarter/YearQuarter
- and Year (Q1/2020)DateDate
- - Week/YearWeek
- and Year (W52/2020)DateDate
- - YearYearDateOrder
- idOrder
- idOrder
- linesOrder line idOrder line idOrder linesOrder
- statusOrder
- statusOrder
- linesProduct idProduct idProductsProduct
- nameProduct
- nameProductsCategoryCategoryProductsRegionRegionCustomersStateStateCustomersTypeTypeCampaign channelsCampaign
- channelsCampaign
- channelsCampaign
- channelsCampaign
- channels per categoryCampaign
- channels per categoriesCampaign
- channels per categoryCampaignsCampaignsCampaignsCustomersCustomersCustomersDateDateOrder
- linesOrder
- linesOrder
- linesProductsProductsProductsBudgetBudgetCampaign channelsPricePriceOrder linesQuantityQuantityOrder linesSpendSpendCampaign channelsBudget AggCampaign channels per
- categoryCampaign
- channel idCampaign
- channel idCampaign
- channelsCategoryCategoryCampaign channelsCampaign
- idCampaign
- idCampaignsCampaign
- nameCampaign
- nameCampaignsCustomer
- idCustomer
- idCustomersCustomer
- nameCustomer
- nameCustomersDate
- - DateDateDateDate
- - Month/YearMonth
- and Year (12/2020)DateDate
- - Quarter/YearQuarter
- and Year (Q1/2020)DateDate
- - Week/YearWeek
- and Year (W52/2020)DateDate
- - YearYearDateLocationLocationCustomersOrder
- idOrder
- idOrder
- linesOrder line idOrder line idOrder linesOrder
- statusOrder
- statusOrder
- linesProduct idProduct idProductsProduct
- nameProduct
- nameProductsCategoryCategoryProductsRegionRegionCustomersStateStateCustomersTypeTypeCampaign channels#
- of Active Customers# of Orders#
- of Top Customers# of Valid OrdersCampaign
- SpendOrder Amount%
- Revenue%
- Revenue from Top 10 Customers%
- Revenue from Top 10% Customers%
- Revenue from Top 10% Products%
- Revenue from Top 10 Products% Revenue
- in Category% Revenue
- per ProductRevenueRevenue
- (Clothing)Revenue (Electronic)Revenue
- (Home)Revenue (Outdoor)Revenue
- per CustomerRevenue per
- Dollar SpentRevenue / Top 10Revenue
- / Top 10%Total RevenueTotal
- Revenue (No Filters)Campaign
- SpendFree-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.Campaign
- SpendCustomers
- TrendFree-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.#
- of Active CustomersRevenue
- per CustomerActive
- Customers%
- Revenue per Product by Customer and CategoryFree-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.%
- Revenue per ProductRevenuePercentage
- of Customers by RegionFree-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.#
- of Active CustomersProduct
- BreakdownFree-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.RevenueProduct
- Categories Pie ChartFree-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.%
- RevenueProduct
- Revenue Comparison (over previous period)Free-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.RevenuePrevious
- PeriodThis
- PeriodProduct
- SaleabilityFree-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.#
- of OrdersRevenueNumber
- of OrdersRevenue
- and Quantity by Product and CategoryFree-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.Sum
- of QuantityAvg
- Price%
- Revenue in CategoryRevenueItems
- SoldTotal
- RevenueRevenue
- by Category TrendFree-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.RevenueRevenue
- by ProductFree-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.RevenueRevenue
- per $ vs Spend by CampaignFree-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.Campaign
- SpendRevenue
- per Dollar SpentRevenue TrendFree-form
- translations are marked by the 'id' attribute, which is a hash combining
- the JSON path and the source text's value. Since this hash is hard to read,
- the source text includes extra details about its general location.Revenue#
- of OrdersNumber
- of OrdersTop 10
- CustomersFree-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.Revenue
- / Top 10Top 10 ProductsFree-form
- translations are marked by the 'id' attribute, which is a hash combining
- the JSON path and the source text's value. Since this hash is hard to read,
- the source text includes extra details about its general location.Revenue
- / Top 10filterContextfilterContext
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/layout_automations.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/layout_automations.yaml
deleted file mode 100644
index 3bd269165..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/layout_automations.yaml
+++ /dev/null
@@ -1,273 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: http://localhost:3000/api/v1/layout/workspaces/demo/automations
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Content-Length:
- - '2'
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-Xss-Protection:
- - '0'
- body:
- string: []
- - request:
- method: PUT
- uri: http://localhost:3000/api/v1/layout/notificationChannels
- body:
- notificationChannels:
- - id: webhook
- name: Webhook
- destination:
- type: WEBHOOK
- url: https://webhook.site
- token: '123'
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-Xss-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: PUT
- uri: http://localhost:3000/api/v1/layout/workspaces/demo/automations
- body:
- - id: automation
- state: ACTIVE
- title: Automation
- metadata:
- key: value
- notificationChannel:
- id: webhook
- type: notificationChannel
- schedule:
- cron: 0 0 0 ? * *
- timezone: UTC
- firstRun: '2023-10-05T14:30:00+00:00'
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-Xss-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: http://localhost:3000/api/v1/layout/workspaces/demo/automations
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Content-Length:
- - '272'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-Xss-Protection:
- - '0'
- body:
- string:
- - evaluationMode: PER_RECIPIENT
- id: automation
- metadata:
- key: value
- notificationChannel:
- id: webhook
- type: notificationChannel
- schedule:
- cron: 0 0 0 ? * *
- firstRun: '2023-10-05T14:30:00Z'
- timezone: UTC
- state: ACTIVE
- title: Automation
- - request:
- method: PUT
- uri: http://localhost:3000/api/v1/layout/workspaces/demo/automations
- body: []
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-Xss-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: PUT
- uri: http://localhost:3000/api/v1/layout/notificationChannels
- body:
- notificationChannels: []
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-Xss-Protection:
- - '0'
- body:
- string: ''
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/layout_filter_views.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/layout_filter_views.yaml
deleted file mode 100644
index bf948f6a3..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/layout_filter_views.yaml
+++ /dev/null
@@ -1,244 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces/demo/filterViews
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '2'
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: []
- - request:
- method: PUT
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces/demo/filterViews
- body:
- - id: filter_view
- title: Filter View
- analyticalDashboard:
- id: campaign
- type: analyticalDashboard
- content:
- filters:
- - dateFilter:
- from: '0'
- to: '0'
- granularity: GDC.time.month
- type: relative
- - attributeFilter:
- displayForm:
- identifier:
- id: demo:campaign_name
- type: label
- negativeSelection: true
- attributeElements:
- uris: []
- localIdentifier: 14b0807447ef4bc28f43e4fc5c337d1d
- filterElementsBy: []
- selectionMode: multi
- version: '2'
- description: Filter View
- isDefault: true
- tags:
- - tag1
- - tag2
- user:
- id: demo
- type: user
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces/demo/filterViews
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '590'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- - analyticalDashboard:
- id: campaign
- type: analyticalDashboard
- content:
- filters:
- - dateFilter:
- from: '0'
- to: '0'
- granularity: GDC.time.month
- type: relative
- - attributeFilter:
- displayForm:
- identifier:
- id: demo:campaign_name
- type: label
- negativeSelection: true
- attributeElements:
- uris: []
- localIdentifier: 14b0807447ef4bc28f43e4fc5c337d1d
- filterElementsBy: []
- selectionMode: multi
- version: '2'
- description: Filter View
- id: filter_view
- isDefault: true
- tags:
- - tag1
- - tag2
- title: Filter View
- user:
- id: demo
- type: user
- - request:
- method: PUT
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces/demo/filterViews
- body: []
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/list_workspace_settings.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/list_workspace_settings.yaml
deleted file mode 100644
index 04ae3e271..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/list_workspace_settings.yaml
+++ /dev/null
@@ -1,400 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/workspaceSettings/test_setting_1
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 404
- message: Not Found
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '172'
- Content-Type:
- - application/problem+json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- detail: The requested endpoint does not exist or you do not have permission
- to access it.
- status: 404
- title: Not Found
- traceId: 5aab2cfc6796a4f4bc54f30d013c80a7
- - request:
- method: POST
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/workspaceSettings
- body:
- data:
- type: workspaceSetting
- id: test_setting_1
- attributes:
- content:
- value: fr-FR
- type: LOCALE
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 201
- message: Created
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '320'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- content:
- value: fr-FR
- type: LOCALE
- id: test_setting_1
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: workspaceSetting
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/workspaceSettings/test_setting_1
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/workspaceSettings/test_setting_2
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 404
- message: Not Found
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '172'
- Content-Type:
- - application/problem+json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- detail: The requested endpoint does not exist or you do not have permission
- to access it.
- status: 404
- title: Not Found
- traceId: 60a429950db2919f6fe9e37c15a8e874
- - request:
- method: POST
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/workspaceSettings
- body:
- data:
- type: workspaceSetting
- id: test_setting_2
- attributes:
- content:
- value: en-US
- type: FORMAT_LOCALE
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 201
- message: Created
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '327'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- content:
- value: en-US
- type: FORMAT_LOCALE
- id: test_setting_2
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: workspaceSetting
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/workspaceSettings/test_setting_2
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/workspaceSettings?page=0&size=500
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '919'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- - attributes:
- content:
- value: fr-FR
- type: LOCALE
- id: test_setting_1
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/workspaceSettings/test_setting_1
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: workspaceSetting
- - attributes:
- content:
- value: en-US
- type: FORMAT_LOCALE
- id: test_setting_2
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/workspaceSettings/test_setting_2
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: workspaceSetting
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/workspaceSettings?page=0&size=500
- next: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/workspaceSettings?page=1&size=500
- - request:
- method: DELETE
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/workspaceSettings/test_setting_1
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: DELETE
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/workspaceSettings/test_setting_2
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/set_metadata_localization.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/set_metadata_localization.yaml
deleted file mode 100644
index 9dae87d60..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/set_metadata_localization.yaml
+++ /dev/null
@@ -1,927 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: POST
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/actions/workspaces/demo/translations/retrieve
- body:
- locale: fr-FR
- headers:
- Accept:
- - application/xml
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/xml
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: CampaignFree-form
- translations are marked by the 'id' attribute, which is a hash combining
- the JSON path and the source text's value. Since this hash is hard to read,
- the source text includes extra details about its general location.Spend
- breakdown and RevenueThe
- first insight shows a breakdown of spend by category and campaign. The second
- shows revenue per $ spend, for each campaign, to demonstrate, how campaigns
- are successful.Campaign
- SpendRevenue
- per $ vs Spend by CampaignDashboard
- pluginFree-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.DHO
- simpleProduct
- & CategoryFree-form
- translations are marked by the 'id' attribute, which is a hash combining
- the JSON path and the source text's value. Since this hash is hard to read,
- the source text includes extra details about its general location.Top
- 10 ProductsRevenue
- TrendCustomers
- TrendProduct
- Categories Pie ChartProduct
- BreakdownProduct
- Saleability%
- Revenue per Product by Customer and CategoryCampaign
- channel idCampaign
- channel idCampaign
- channelsCategoryCategoryCampaign
- channelsCampaign idCampaign idCampaignsCampaign
- nameCampaign
- nameCampaignsCustomer
- idCustomer
- idCustomersCustomer
- nameCustomer
- nameCustomersDate
- - DateDateDateDate
- - Month/YearMonth
- and Year (12/2020)DateDate
- - Quarter/YearQuarter
- and Year (Q1/2020)DateDate
- - Week/YearWeek
- and Year (W52/2020)DateDate
- - YearYearDateOrder
- idOrder
- idOrder
- linesOrder line idOrder line idOrder linesOrder
- statusOrder
- statusOrder
- linesProduct idProduct idProductsProduct
- nameProduct
- nameProductsCategoryCategoryProductsRegionRegionCustomersStateStateCustomersTypeTypeCampaign channelsCampaign
- channelsCampaign
- channelsCampaign
- channelsCampaign
- channels per categoryCampaign
- channels per categoriesCampaign
- channels per categoryCampaignsCampaignsCampaignsCustomersCustomersCustomersDateDateOrder
- linesOrder
- linesOrder
- linesProductsProductsProductsBudgetBudgetCampaign channelsPricePriceOrder linesQuantityQuantityOrder linesSpendSpendCampaign channelsBudget AggCampaign channels per
- categoryCampaign
- channel idCampaign
- channel idCampaign
- channelsCategoryCategoryCampaign channelsCampaign
- idCampaign
- idCampaignsCampaign
- nameCampaign
- nameCampaignsCustomer
- idCustomer
- idCustomersCustomer
- nameCustomer
- nameCustomersDate
- - DateDateDateDate
- - Month/YearMonth
- and Year (12/2020)DateDate
- - Quarter/YearQuarter
- and Year (Q1/2020)DateDate
- - Week/YearWeek
- and Year (W52/2020)DateDate
- - YearYearDateLocationLocationCustomersOrder
- idOrder
- idOrder
- linesOrder line idOrder line idOrder linesOrder
- statusOrder
- statusOrder
- linesProduct idProduct idProductsProduct
- nameProduct
- nameProductsCategoryCategoryProductsRegionRegionCustomersStateStateCustomersTypeTypeCampaign channels#
- of Active Customers# of Orders#
- of Top Customers# of Valid OrdersCampaign
- SpendOrder Amount%
- Revenue%
- Revenue from Top 10 Customers%
- Revenue from Top 10% Customers%
- Revenue from Top 10% Products%
- Revenue from Top 10 Products% Revenue
- in Category% Revenue
- per ProductRevenueRevenue
- (Clothing)Revenue (Electronic)Revenue
- (Home)Revenue (Outdoor)Revenue
- per CustomerRevenue per
- Dollar SpentRevenue / Top 10Revenue
- / Top 10%Total RevenueTotal
- Revenue (No Filters)Campaign
- SpendFree-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.Campaign
- SpendCustomers
- TrendFree-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.#
- of Active CustomersRevenue
- per CustomerActive
- Customers%
- Revenue per Product by Customer and CategoryFree-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.%
- Revenue per ProductRevenuePercentage
- of Customers by RegionFree-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.#
- of Active CustomersProduct
- BreakdownFree-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.RevenueProduct
- Categories Pie ChartFree-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.%
- RevenueProduct
- Revenue Comparison (over previous period)Free-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.RevenuePrevious
- PeriodThis
- PeriodProduct
- SaleabilityFree-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.#
- of OrdersRevenueNumber
- of OrdersRevenue
- and Quantity by Product and CategoryFree-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.Sum
- of QuantityAvg
- Price%
- Revenue in CategoryRevenueItems
- SoldTotal
- RevenueRevenue
- by Category TrendFree-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.RevenueRevenue
- by ProductFree-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.RevenueRevenue
- per $ vs Spend by CampaignFree-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.Campaign
- SpendRevenue
- per Dollar SpentRevenue TrendFree-form
- translations are marked by the 'id' attribute, which is a hash combining
- the JSON path and the source text's value. Since this hash is hard to read,
- the source text includes extra details about its general location.Revenue#
- of OrdersNumber
- of OrdersTop 10
- CustomersFree-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about
- its general location.Revenue
- / Top 10Top 10 ProductsFree-form
- translations are marked by the 'id' attribute, which is a hash combining
- the JSON path and the source text's value. Since this hash is hard to read,
- the source text includes extra details about its general location.Revenue
- / Top 10filterContextfilterContext
- - request:
- method: POST
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/actions/workspaces/demo/translations/set
- body: CampaignFree-form
- translations are marked by the 'id' attribute, which is a hash combining the
- JSON path and the source text's value. Since this hash is hard to read, the
- source text includes extra details about its general location.Spend
- breakdown and RevenueThe
- first insight shows a breakdown of spend by category and campaign. The second
- shows revenue per $ spend, for each campaign, to demonstrate, how campaigns
- are successful.Campaign
- SpendRevenue
- per $ vs Spend by CampaignDashboard
- pluginFree-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about its
- general location.DHO
- simpleProduct
- & CategoryFree-form
- translations are marked by the 'id' attribute, which is a hash combining the
- JSON path and the source text's value. Since this hash is hard to read, the
- source text includes extra details about its general location.Top
- 10 ProductsRevenue
- TrendCustomers
- TrendProduct
- Categories Pie ChartProduct
- BreakdownProduct
- Saleability%
- Revenue per Product by Customer and CategoryCampaign
- channel idCampaign
- channel idCampaign
- channelsCategoryCategoryCampaign channelsCampaign
- idCampaign
- idCampaignsCampaign
- nameCampaign
- nameCampaignsCustomer
- idCustomer
- idCustomersCustomer
- nameCustomer
- nameCustomersDate
- - DateDateDateDate
- - Month/YearMonth
- and Year (12/2020)DateDate
- - Quarter/YearQuarter
- and Year (Q1/2020)DateDate
- - Week/YearWeek
- and Year (W52/2020)DateDate
- - YearYearDateOrder
- idOrder
- idOrder
- linesOrder line idOrder line idOrder linesOrder
- statusOrder
- statusOrder
- linesProduct idProduct idProductsProduct
- nameProduct
- nameProductsCategoryCategoryProductsRegionRegionCustomersStateStateCustomersTypeTypeCampaign channelsCampaign
- channelsCampaign
- channelsCampaign
- channelsCampaign
- channels per categoryCampaign
- channels per categoriesCampaign
- channels per categoryCampaignsCampaignsCampaignsCustomersCustomersCustomersDateDateOrder
- linesOrder
- linesOrder
- linesProductsProductsProductsBudgetBudgetCampaign channelsPricePriceOrder linesQuantityQuantityOrder linesSpendSpendCampaign channelsBudget AggCampaign channels per
- categoryCampaign
- channel idCampaign
- channel idCampaign
- channelsCategoryCategoryCampaign channelsCampaign
- idCampaign
- idCampaignsCampaign
- nameCampaign
- nameCampaignsCustomer
- idCustomer
- idCustomersCustomer
- nameCustomer
- nameCustomersDate
- - DateDateDateDate
- - Month/YearMonth
- and Year (12/2020)DateDate
- - Quarter/YearQuarter
- and Year (Q1/2020)DateDate
- - Week/YearWeek
- and Year (W52/2020)DateDate
- - YearYearDateLocationLocationCustomersOrder
- idOrder
- idOrder
- linesOrder line idOrder line idOrder linesOrder
- statusOrder
- statusOrder
- linesProduct idProduct idProductsProduct
- nameProduct
- nameProductsCategoryCategoryProductsRegionRegionCustomersStateStateCustomersTypeTypeCampaign channels#
- of Active Customers# of Orders#
- of Top Customers# of Valid OrdersCampaign
- SpendOrder Amount%
- Revenue%
- Revenue from Top 10 Customers%
- Revenue from Top 10% Customers%
- Revenue from Top 10% Products%
- Revenue from Top 10 Products% Revenue in
- Category% Revenue per
- ProductRevenueRevenue
- (Clothing)Revenue (Electronic)Revenue
- (Home)Revenue (Outdoor)Revenue
- per CustomerRevenue per Dollar
- SpentRevenue / Top 10Revenue
- / Top 10%Total RevenueTotal
- Revenue (No Filters)Campaign
- SpendFree-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about its
- general location.Campaign
- SpendCustomers
- TrendFree-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about its
- general location.#
- of Active CustomersRevenue
- per CustomerActive
- Customers%
- Revenue per Product by Customer and CategoryFree-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about its
- general location.%
- Revenue per ProductRevenuePercentage
- of Customers by RegionFree-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about its
- general location.#
- of Active CustomersProduct
- BreakdownFree-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about its
- general location.RevenueProduct
- Categories Pie ChartFree-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about its
- general location.%
- RevenueProduct
- Revenue Comparison (over previous period)Free-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about its
- general location.RevenuePrevious
- PeriodThis
- PeriodProduct
- SaleabilityFree-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about its
- general location.#
- of OrdersRevenueNumber
- of OrdersRevenue
- and Quantity by Product and CategoryFree-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about its
- general location.Sum
- of QuantityAvg
- Price%
- Revenue in CategoryRevenueItems
- SoldTotal
- RevenueRevenue
- by Category TrendFree-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about its
- general location.RevenueRevenue
- by ProductFree-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about its
- general location.RevenueRevenue
- per $ vs Spend by CampaignFree-form translations are marked by the 'id' attribute,
- which is a hash combining the JSON path and the source text's value. Since
- this hash is hard to read, the source text includes extra details about its
- general location.Campaign
- SpendRevenue
- per Dollar SpentRevenue TrendFree-form
- translations are marked by the 'id' attribute, which is a hash combining the
- JSON path and the source text's value. Since this hash is hard to read, the
- source text includes extra details about its general location.Revenue#
- of OrdersNumber
- of OrdersTop 10 CustomersFree-form
- translations are marked by the 'id' attribute, which is a hash combining the
- JSON path and the source text's value. Since this hash is hard to read, the
- source text includes extra details about its general location.Revenue
- / Top 10Top 10 ProductsFree-form
- translations are marked by the 'id' attribute, which is a hash combining the
- JSON path and the source text's value. Since this hash is hard to read, the
- source text includes extra details about its general location.Revenue
- / Top 10filterContextfilterContext
- headers:
- Accept:
- - '*/*'
- Accept-Encoding:
- - gzip, deflate, br
- Connection:
- - keep-alive
- Content-Length:
- - '40991'
- Content-Type:
- - application/xml
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/update_workspace_setting.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/update_workspace_setting.yaml
deleted file mode 100644
index dc8ca4ec4..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/update_workspace_setting.yaml
+++ /dev/null
@@ -1,410 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/workspaceSettings/test_setting
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 404
- message: Not Found
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '172'
- Content-Type:
- - application/problem+json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- detail: The requested endpoint does not exist or you do not have permission
- to access it.
- status: 404
- title: Not Found
- traceId: 261f5b386acc3c29daaab136de5c9b57
- - request:
- method: POST
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/workspaceSettings
- body:
- data:
- type: workspaceSetting
- id: test_setting
- attributes:
- content:
- value: fr-FR
- type: LOCALE
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 201
- message: Created
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '316'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- content:
- value: fr-FR
- type: LOCALE
- id: test_setting
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: workspaceSetting
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/workspaceSettings/test_setting
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/workspaceSettings/test_setting
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '316'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- content:
- value: fr-FR
- type: LOCALE
- id: test_setting
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: workspaceSetting
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/workspaceSettings/test_setting
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/workspaceSettings/test_setting
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '316'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- content:
- value: fr-FR
- type: LOCALE
- id: test_setting
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: workspaceSetting
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/workspaceSettings/test_setting
- - request:
- method: PUT
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/workspaceSettings/test_setting
- body:
- data:
- id: test_setting
- type: workspaceSetting
- attributes:
- content:
- value: en-US
- type: LOCALE
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '316'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- content:
- value: en-US
- type: LOCALE
- id: test_setting
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: workspaceSetting
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/workspaceSettings/test_setting
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/workspaceSettings/test_setting
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '316'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- content:
- value: en-US
- type: LOCALE
- id: test_setting
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: workspaceSetting
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/workspaceSettings/test_setting
- - request:
- method: DELETE
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/workspaceSettings/test_setting
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/user_data_filters_for_user_group.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/user_data_filters_for_user_group.yaml
deleted file mode 100644
index 1f5eb4121..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/user_data_filters_for_user_group.yaml
+++ /dev/null
@@ -1,2302 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/userDataFilters?include=ALL&page=0&size=500
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '309'
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data: []
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/userDataFilters?include=ALL&page=0&size=500
- next: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/userDataFilters?include=ALL&page=1&size=500
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/userDataFilters/newUserDataFilter?include=ALL
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 404
- message: Not Found
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '172'
- Content-Type:
- - application/problem+json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- detail: The requested endpoint does not exist or you do not have permission
- to access it.
- status: 404
- title: Not Found
- traceId: cd3e9fa0e98979ceaafd50b29b6763a9
- - request:
- method: POST
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/userDataFilters
- body:
- data:
- attributes:
- maql: '{label/order_status} IN ("returned")'
- title: test_new_user_data_filter
- type: userDataFilter
- id: newUserDataFilter
- relationships:
- userGroup:
- data:
- id: demoGroup
- type: userGroup
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 201
- message: Created
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '362'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- title: test_new_user_data_filter
- maql: '{label/order_status} IN ("returned")'
- id: newUserDataFilter
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: userDataFilter
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/userDataFilters/newUserDataFilter
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/userDataFilters?include=ALL&page=0&size=500
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- - attributes:
- title: test_new_user_data_filter
- areRelationsValid: true
- maql: '{label/order_status} IN ("returned")'
- id: newUserDataFilter
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/userDataFilters/newUserDataFilter
- meta:
- origin:
- originId: demo
- originType: NATIVE
- relationships:
- userGroup:
- data:
- id: demoGroup
- type: userGroup
- labels:
- data:
- - id: order_status
- type: label
- type: userDataFilter
- included:
- - attributes:
- title: Order status
- description: Order status
- tags:
- - Order lines
- primary: true
- sourceColumn: order_status
- sourceColumnDataType: STRING
- valueType: TEXT
- id: order_status
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/labels/order_status
- type: label
- - attributes:
- name: demo group
- id: demoGroup
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/userGroups/demoGroup
- type: userGroup
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/userDataFilters?include=ALL&page=0&size=500
- next: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/userDataFilters?include=ALL&page=1&size=500
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/userDataFilters/newUserDataFilter?include=ALL
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- title: test_new_user_data_filter
- areRelationsValid: true
- maql: '{label/order_status} IN ("returned")'
- id: newUserDataFilter
- meta:
- origin:
- originId: demo
- originType: NATIVE
- relationships:
- userGroup:
- data:
- id: demoGroup
- type: userGroup
- labels:
- data:
- - id: order_status
- type: label
- type: userDataFilter
- included:
- - attributes:
- title: Order status
- description: Order status
- tags:
- - Order lines
- primary: true
- sourceColumn: order_status
- sourceColumnDataType: STRING
- valueType: TEXT
- id: order_status
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/labels/order_status
- type: label
- - attributes:
- name: demo group
- id: demoGroup
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/userGroups/demoGroup
- type: userGroup
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/userDataFilters/newUserDataFilter?include=ALL
- - request:
- method: DELETE
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/userDataFilters/newUserDataFilter
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/userDataFilters?include=ALL&page=0&size=500
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '309'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data: []
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/userDataFilters?include=ALL&page=0&size=500
- next: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/userDataFilters?include=ALL&page=1&size=500
- - request:
- method: PUT
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces
- body:
- 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:
- - id: demo
- name: Demo
- automations: []
- customApplicationSettings: []
- filterViews: []
- hierarchyPermissions:
- - assignee:
- id: demo2
- type: user
- name: MANAGE
- - assignee:
- id: demoGroup
- type: userGroup
- name: ANALYZE
- model:
- analytics:
- analyticalDashboardExtensions: []
- analyticalDashboards:
- - content:
- filterContextRef:
- identifier:
- id: campaign_name_filter
- type: filterContext
- layout:
- type: IDashboardLayout
- sections:
- - type: IDashboardLayoutSection
- header:
- title: Spend breakdown and Revenue
- description: The first insight shows a breakdown of
- spend by category and campaign. The second shows revenue
- per $ spend, for each campaign, to demonstrate, how
- campaigns are successful.
- 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: ''
- permissions:
- - assigneeRule:
- type: allWorkspaceUsers
- name: VIEW
- - 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: ''
- attributeHierarchies: []
- 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
- exportDefinitions: []
- 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
- memoryItems: []
- ldm:
- datasets:
- - grain:
- - id: campaign_channel_id
- type: attribute
- id: campaign_channels
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- target:
- id: campaign_id
- type: attribute
- dataType: INT
- title: Campaign channels
- aggregatedFacts: []
- attributes:
- - id: campaign_channel_id
- labels: []
- sourceColumn: campaign_channel_id
- title: Campaign channel id
- description: Campaign channel id
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- - id: campaign_channels.category
- labels: []
- sourceColumn: category
- title: Category
- description: Category
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- - id: type
- labels: []
- sourceColumn: type
- title: Type
- description: Type
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaign_channels
- type: dataSource
- path:
- - demo
- - campaign_channels
- description: Campaign channels
- facts:
- - id: budget
- sourceColumn: budget
- title: Budget
- description: Budget
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- - id: spend
- sourceColumn: spend
- title: Spend
- description: Spend
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- tags:
- - Campaign channels
- - grain: []
- id: campaign_channels_per_category
- references:
- - identifier:
- id: campaign_channels
- type: dataset
- multivalue: false
- sources:
- - column: campaign_channel_id
- target:
- id: campaign_channel_id
- type: attribute
- dataType: STRING
- title: Campaign channels per category
- aggregatedFacts:
- - id: budget_agg
- sourceColumn: budget
- sourceFactReference:
- operation: SUM
- reference:
- id: budget
- type: fact
- description: Budget Agg
- sourceColumnDataType: INT
- tags:
- - Campaign channels per category
- attributes: []
- description: Campaign channels per categories
- facts: []
- precedence: 1
- sql:
- dataSourceId: demo-test-ds
- statement: SELECT category, SUM(budget) FROM campaign_channels
- GROUP BY category
- tags:
- - Campaign channels per category
- - grain:
- - id: campaign_id
- type: attribute
- id: campaigns
- references: []
- title: Campaigns
- aggregatedFacts: []
- attributes:
- - id: campaign_id
- labels: []
- sourceColumn: campaign_id
- title: Campaign id
- description: Campaign id
- sourceColumnDataType: INT
- tags:
- - Campaigns
- - id: campaign_name
- labels: []
- sourceColumn: campaign_name
- title: Campaign name
- description: Campaign name
- sourceColumnDataType: STRING
- tags:
- - Campaigns
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaigns
- type: dataSource
- path:
- - demo
- - campaigns
- description: Campaigns
- facts: []
- tags:
- - Campaigns
- - grain:
- - id: customer_id
- type: attribute
- id: customers
- references: []
- title: Customers
- aggregatedFacts: []
- attributes:
- - id: customer_id
- labels: []
- sourceColumn: customer_id
- title: Customer id
- description: Customer id
- sourceColumnDataType: INT
- tags:
- - Customers
- - id: customer_name
- labels: []
- sourceColumn: customer_name
- title: Customer name
- description: Customer name
- sourceColumnDataType: STRING
- tags:
- - Customers
- - id: region
- labels: []
- sourceColumn: region
- title: Region
- description: Region
- sourceColumnDataType: STRING
- tags:
- - Customers
- - id: state
- labels:
- - id: geo__state__location
- sourceColumn: geo__state__location
- title: Location
- description: Location
- sourceColumnDataType: STRING
- tags:
- - Customers
- valueType: GEO
- sourceColumn: state
- title: State
- description: State
- sourceColumnDataType: STRING
- tags:
- - Customers
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: customers
- type: dataSource
- path:
- - demo
- - customers
- description: Customers
- facts: []
- tags:
- - Customers
- - grain:
- - id: order_line_id
- type: attribute
- id: order_lines
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- target:
- id: campaign_id
- type: attribute
- dataType: INT
- - identifier:
- id: customers
- type: dataset
- multivalue: false
- sources:
- - column: customer_id
- target:
- id: customer_id
- type: attribute
- dataType: INT
- - identifier:
- id: date
- type: dataset
- multivalue: false
- sources:
- - column: date
- target:
- id: date
- type: date
- dataType: DATE
- - identifier:
- id: products
- type: dataset
- multivalue: false
- sources:
- - column: product_id
- target:
- id: product_id
- type: attribute
- dataType: INT
- title: Order lines
- aggregatedFacts: []
- attributes:
- - id: order_id
- labels: []
- sourceColumn: order_id
- title: Order id
- description: Order id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- - id: order_line_id
- labels: []
- sourceColumn: order_line_id
- title: Order line id
- description: Order line id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- - id: order_status
- labels: []
- sourceColumn: order_status
- title: Order status
- description: Order status
- sourceColumnDataType: STRING
- tags:
- - Order lines
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: order_lines
- type: dataSource
- path:
- - demo
- - order_lines
- description: Order lines
- facts:
- - id: price
- sourceColumn: price
- title: Price
- description: Price
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- - id: quantity
- sourceColumn: quantity
- title: Quantity
- description: Quantity
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- tags:
- - Order lines
- workspaceDataFilterColumns:
- - dataType: STRING
- name: wdf__region
- - dataType: STRING
- name: wdf__state
- workspaceDataFilterReferences:
- - filterColumn: wdf__region
- filterColumnDataType: STRING
- filterId:
- id: wdf__region
- type: workspaceDataFilter
- - grain:
- - id: product_id
- type: attribute
- id: products
- references: []
- title: Products
- aggregatedFacts: []
- attributes:
- - id: product_id
- labels: []
- sourceColumn: product_id
- title: Product id
- description: Product id
- sourceColumnDataType: INT
- tags:
- - Products
- - id: product_name
- labels: []
- sourceColumn: product_name
- title: Product name
- description: Product name
- sourceColumnDataType: STRING
- tags:
- - Products
- - id: products.category
- labels: []
- sourceColumn: category
- title: Category
- description: Category
- sourceColumnDataType: STRING
- tags:
- - Products
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: products
- type: dataSource
- path:
- - demo
- - products
- description: Products
- facts: []
- tags:
- - Products
- dateInstances:
- - granularities:
- - DAY
- - WEEK
- - MONTH
- - QUARTER
- - YEAR
- granularitiesFormatting:
- titleBase: ''
- titlePattern: '%titleBase - %granularityTitle'
- id: date
- title: Date
- description: ''
- tags:
- - Date
- permissions:
- - assignee:
- id: demo2
- type: user
- name: ANALYZE
- - assignee:
- id: demoGroup
- type: userGroup
- name: VIEW
- settings: []
- userDataFilters: []
- - id: demo_west
- name: Demo West
- automations: []
- customApplicationSettings: []
- filterViews: []
- hierarchyPermissions: []
- model:
- analytics:
- analyticalDashboardExtensions:
- - id: campaign
- permissions:
- - assigneeRule:
- type: allWorkspaceUsers
- name: VIEW
- analyticalDashboards: []
- attributeHierarchies: []
- dashboardPlugins: []
- exportDefinitions: []
- filterContexts: []
- metrics: []
- visualizationObjects: []
- memoryItems: []
- ldm:
- datasetExtensions:
- - id: order_lines
- workspaceDataFilterReferences:
- - filterColumn: wdf__state
- filterColumnDataType: STRING
- filterId:
- id: wdf__state
- type: workspaceDataFilter
- datasets: []
- dateInstances: []
- parent:
- id: demo
- type: workspace
- permissions: []
- settings: []
- userDataFilters: []
- - id: demo_west_california
- name: Demo West California
- automations: []
- customApplicationSettings: []
- filterViews: []
- hierarchyPermissions: []
- model:
- analytics:
- analyticalDashboardExtensions: []
- analyticalDashboards: []
- attributeHierarchies: []
- dashboardPlugins: []
- exportDefinitions: []
- filterContexts: []
- metrics: []
- visualizationObjects: []
- memoryItems: []
- ldm:
- datasets: []
- dateInstances: []
- parent:
- id: demo_west
- type: workspace
- permissions: []
- settings: []
- userDataFilters: []
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/user_data_filters_life_cycle.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/user_data_filters_life_cycle.yaml
deleted file mode 100644
index e9f30ac03..000000000
--- a/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/user_data_filters_life_cycle.yaml
+++ /dev/null
@@ -1,2302 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/userDataFilters?include=ALL&page=0&size=500
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '309'
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data: []
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/userDataFilters?include=ALL&page=0&size=500
- next: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/userDataFilters?include=ALL&page=1&size=500
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/userDataFilters/newUserDataFilter?include=ALL
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 404
- message: Not Found
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '172'
- Content-Type:
- - application/problem+json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- detail: The requested endpoint does not exist or you do not have permission
- to access it.
- status: 404
- title: Not Found
- traceId: 1581acc7551eb5392308db48eb5772c4
- - request:
- method: POST
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/userDataFilters
- body:
- data:
- attributes:
- maql: '{label/order_status} IN ("returned")'
- title: test_new_user_data_filter
- type: userDataFilter
- id: newUserDataFilter
- relationships:
- user:
- data:
- id: demo
- type: user
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 201
- message: Created
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '362'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- title: test_new_user_data_filter
- maql: '{label/order_status} IN ("returned")'
- id: newUserDataFilter
- meta:
- origin:
- originId: demo
- originType: NATIVE
- type: userDataFilter
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/userDataFilters/newUserDataFilter
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/userDataFilters?include=ALL&page=0&size=500
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- - attributes:
- title: test_new_user_data_filter
- areRelationsValid: true
- maql: '{label/order_status} IN ("returned")'
- id: newUserDataFilter
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/userDataFilters/newUserDataFilter
- meta:
- origin:
- originId: demo
- originType: NATIVE
- relationships:
- user:
- data:
- id: demo
- type: user
- labels:
- data:
- - id: order_status
- type: label
- type: userDataFilter
- included:
- - attributes:
- title: Order status
- description: Order status
- tags:
- - Order lines
- primary: true
- sourceColumn: order_status
- sourceColumnDataType: STRING
- valueType: TEXT
- id: order_status
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/labels/order_status
- type: label
- - attributes:
- authenticationId: CiRhMzA4NmU3MS0zYjY2LTQ3NTItODIxMC0wN2VmODQ5NDNkOGESBWxvY2Fs
- id: demo
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/users/demo
- type: user
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/userDataFilters?include=ALL&page=0&size=500
- next: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/userDataFilters?include=ALL&page=1&size=500
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/userDataFilters/newUserDataFilter?include=ALL
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- attributes:
- title: test_new_user_data_filter
- areRelationsValid: true
- maql: '{label/order_status} IN ("returned")'
- id: newUserDataFilter
- meta:
- origin:
- originId: demo
- originType: NATIVE
- relationships:
- user:
- data:
- id: demo
- type: user
- labels:
- data:
- - id: order_status
- type: label
- type: userDataFilter
- included:
- - attributes:
- authenticationId: CiRhMzA4NmU3MS0zYjY2LTQ3NTItODIxMC0wN2VmODQ5NDNkOGESBWxvY2Fs
- id: demo
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/users/demo
- type: user
- - attributes:
- title: Order status
- description: Order status
- tags:
- - Order lines
- primary: true
- sourceColumn: order_status
- sourceColumnDataType: STRING
- valueType: TEXT
- id: order_status
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/labels/order_status
- type: label
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/userDataFilters/newUserDataFilter?include=ALL
- - request:
- method: DELETE
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/userDataFilters/newUserDataFilter
- body: null
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Type:
- - application/vnd.gooddata.api+json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/userDataFilters?include=ALL&page=0&size=500
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '309'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data: []
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/userDataFilters?include=ALL&page=0&size=500
- next: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/userDataFilters?include=ALL&page=1&size=500
- - request:
- method: PUT
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/layout/workspaces
- body:
- 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:
- - id: demo
- name: Demo
- automations: []
- customApplicationSettings: []
- filterViews: []
- hierarchyPermissions:
- - assignee:
- id: demo2
- type: user
- name: MANAGE
- - assignee:
- id: demoGroup
- type: userGroup
- name: ANALYZE
- model:
- analytics:
- analyticalDashboardExtensions: []
- analyticalDashboards:
- - content:
- filterContextRef:
- identifier:
- id: campaign_name_filter
- type: filterContext
- layout:
- type: IDashboardLayout
- sections:
- - type: IDashboardLayoutSection
- header:
- title: Spend breakdown and Revenue
- description: The first insight shows a breakdown of
- spend by category and campaign. The second shows revenue
- per $ spend, for each campaign, to demonstrate, how
- campaigns are successful.
- 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: ''
- permissions:
- - assigneeRule:
- type: allWorkspaceUsers
- name: VIEW
- - 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: ''
- attributeHierarchies: []
- 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
- exportDefinitions: []
- 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
- memoryItems: []
- ldm:
- datasets:
- - grain:
- - id: campaign_channel_id
- type: attribute
- id: campaign_channels
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- target:
- id: campaign_id
- type: attribute
- dataType: INT
- title: Campaign channels
- aggregatedFacts: []
- attributes:
- - id: campaign_channel_id
- labels: []
- sourceColumn: campaign_channel_id
- title: Campaign channel id
- description: Campaign channel id
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- - id: campaign_channels.category
- labels: []
- sourceColumn: category
- title: Category
- description: Category
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- - id: type
- labels: []
- sourceColumn: type
- title: Type
- description: Type
- sourceColumnDataType: STRING
- tags:
- - Campaign channels
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaign_channels
- type: dataSource
- path:
- - demo
- - campaign_channels
- description: Campaign channels
- facts:
- - id: budget
- sourceColumn: budget
- title: Budget
- description: Budget
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- - id: spend
- sourceColumn: spend
- title: Spend
- description: Spend
- sourceColumnDataType: NUMERIC
- tags:
- - Campaign channels
- tags:
- - Campaign channels
- - grain: []
- id: campaign_channels_per_category
- references:
- - identifier:
- id: campaign_channels
- type: dataset
- multivalue: false
- sources:
- - column: campaign_channel_id
- target:
- id: campaign_channel_id
- type: attribute
- dataType: STRING
- title: Campaign channels per category
- aggregatedFacts:
- - id: budget_agg
- sourceColumn: budget
- sourceFactReference:
- operation: SUM
- reference:
- id: budget
- type: fact
- description: Budget Agg
- sourceColumnDataType: INT
- tags:
- - Campaign channels per category
- attributes: []
- description: Campaign channels per categories
- facts: []
- precedence: 1
- sql:
- dataSourceId: demo-test-ds
- statement: SELECT category, SUM(budget) FROM campaign_channels
- GROUP BY category
- tags:
- - Campaign channels per category
- - grain:
- - id: campaign_id
- type: attribute
- id: campaigns
- references: []
- title: Campaigns
- aggregatedFacts: []
- attributes:
- - id: campaign_id
- labels: []
- sourceColumn: campaign_id
- title: Campaign id
- description: Campaign id
- sourceColumnDataType: INT
- tags:
- - Campaigns
- - id: campaign_name
- labels: []
- sourceColumn: campaign_name
- title: Campaign name
- description: Campaign name
- sourceColumnDataType: STRING
- tags:
- - Campaigns
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: campaigns
- type: dataSource
- path:
- - demo
- - campaigns
- description: Campaigns
- facts: []
- tags:
- - Campaigns
- - grain:
- - id: customer_id
- type: attribute
- id: customers
- references: []
- title: Customers
- aggregatedFacts: []
- attributes:
- - id: customer_id
- labels: []
- sourceColumn: customer_id
- title: Customer id
- description: Customer id
- sourceColumnDataType: INT
- tags:
- - Customers
- - id: customer_name
- labels: []
- sourceColumn: customer_name
- title: Customer name
- description: Customer name
- sourceColumnDataType: STRING
- tags:
- - Customers
- - id: region
- labels: []
- sourceColumn: region
- title: Region
- description: Region
- sourceColumnDataType: STRING
- tags:
- - Customers
- - id: state
- labels:
- - id: geo__state__location
- sourceColumn: geo__state__location
- title: Location
- description: Location
- sourceColumnDataType: STRING
- tags:
- - Customers
- valueType: GEO
- sourceColumn: state
- title: State
- description: State
- sourceColumnDataType: STRING
- tags:
- - Customers
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: customers
- type: dataSource
- path:
- - demo
- - customers
- description: Customers
- facts: []
- tags:
- - Customers
- - grain:
- - id: order_line_id
- type: attribute
- id: order_lines
- references:
- - identifier:
- id: campaigns
- type: dataset
- multivalue: false
- sources:
- - column: campaign_id
- target:
- id: campaign_id
- type: attribute
- dataType: INT
- - identifier:
- id: customers
- type: dataset
- multivalue: false
- sources:
- - column: customer_id
- target:
- id: customer_id
- type: attribute
- dataType: INT
- - identifier:
- id: date
- type: dataset
- multivalue: false
- sources:
- - column: date
- target:
- id: date
- type: date
- dataType: DATE
- - identifier:
- id: products
- type: dataset
- multivalue: false
- sources:
- - column: product_id
- target:
- id: product_id
- type: attribute
- dataType: INT
- title: Order lines
- aggregatedFacts: []
- attributes:
- - id: order_id
- labels: []
- sourceColumn: order_id
- title: Order id
- description: Order id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- - id: order_line_id
- labels: []
- sourceColumn: order_line_id
- title: Order line id
- description: Order line id
- sourceColumnDataType: STRING
- tags:
- - Order lines
- - id: order_status
- labels: []
- sourceColumn: order_status
- title: Order status
- description: Order status
- sourceColumnDataType: STRING
- tags:
- - Order lines
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: order_lines
- type: dataSource
- path:
- - demo
- - order_lines
- description: Order lines
- facts:
- - id: price
- sourceColumn: price
- title: Price
- description: Price
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- - id: quantity
- sourceColumn: quantity
- title: Quantity
- description: Quantity
- sourceColumnDataType: NUMERIC
- tags:
- - Order lines
- tags:
- - Order lines
- workspaceDataFilterColumns:
- - dataType: STRING
- name: wdf__region
- - dataType: STRING
- name: wdf__state
- workspaceDataFilterReferences:
- - filterColumn: wdf__region
- filterColumnDataType: STRING
- filterId:
- id: wdf__region
- type: workspaceDataFilter
- - grain:
- - id: product_id
- type: attribute
- id: products
- references: []
- title: Products
- aggregatedFacts: []
- attributes:
- - id: product_id
- labels: []
- sourceColumn: product_id
- title: Product id
- description: Product id
- sourceColumnDataType: INT
- tags:
- - Products
- - id: product_name
- labels: []
- sourceColumn: product_name
- title: Product name
- description: Product name
- sourceColumnDataType: STRING
- tags:
- - Products
- - id: products.category
- labels: []
- sourceColumn: category
- title: Category
- description: Category
- sourceColumnDataType: STRING
- tags:
- - Products
- dataSourceTableId:
- dataSourceId: demo-test-ds
- id: products
- type: dataSource
- path:
- - demo
- - products
- description: Products
- facts: []
- tags:
- - Products
- dateInstances:
- - granularities:
- - DAY
- - WEEK
- - MONTH
- - QUARTER
- - YEAR
- granularitiesFormatting:
- titleBase: ''
- titlePattern: '%titleBase - %granularityTitle'
- id: date
- title: Date
- description: ''
- tags:
- - Date
- permissions:
- - assignee:
- id: demo2
- type: user
- name: ANALYZE
- - assignee:
- id: demoGroup
- type: userGroup
- name: VIEW
- settings: []
- userDataFilters: []
- - id: demo_west
- name: Demo West
- automations: []
- customApplicationSettings: []
- filterViews: []
- hierarchyPermissions: []
- model:
- analytics:
- analyticalDashboardExtensions:
- - id: campaign
- permissions:
- - assigneeRule:
- type: allWorkspaceUsers
- name: VIEW
- analyticalDashboards: []
- attributeHierarchies: []
- dashboardPlugins: []
- exportDefinitions: []
- filterContexts: []
- metrics: []
- visualizationObjects: []
- memoryItems: []
- ldm:
- datasetExtensions:
- - id: order_lines
- workspaceDataFilterReferences:
- - filterColumn: wdf__state
- filterColumnDataType: STRING
- filterId:
- id: wdf__state
- type: workspaceDataFilter
- datasets: []
- dateInstances: []
- parent:
- id: demo
- type: workspace
- permissions: []
- settings: []
- userDataFilters: []
- - id: demo_west_california
- name: Demo West California
- automations: []
- customApplicationSettings: []
- filterViews: []
- hierarchyPermissions: []
- model:
- analytics:
- analyticalDashboardExtensions: []
- analyticalDashboards: []
- attributeHierarchies: []
- dashboardPlugins: []
- exportDefinitions: []
- filterContexts: []
- metrics: []
- visualizationObjects: []
- memoryItems: []
- ldm:
- datasets: []
- dateInstances: []
- parent:
- id: demo_west
- type: workspace
- permissions: []
- settings: []
- userDataFilters: []
- headers:
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 204
- message: No Content
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
diff --git a/packages/gooddata-sdk/tests/export/fixtures/test_export_csv.yaml b/packages/gooddata-sdk/tests/export/fixtures/test_export_csv.yaml
deleted file mode 100644
index a00eb36e4..000000000
--- a/packages/gooddata-sdk/tests/export/fixtures/test_export_csv.yaml
+++ /dev/null
@@ -1,315 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: POST
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/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
- 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:
- - measureGroup
- localIdentifier: dim_1
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '907'
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-CANCEL-TOKEN:
- - 7a74a245-dfbc-4c85-b138-2f31849c1856
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- 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
- valueType: TEXT
- - attributeHeader:
- localIdentifier: region
- label:
- id: region
- type: label
- labelName: Region
- attribute:
- id: region
- type: attribute
- attributeName: Region
- granularity: null
- primaryLabel:
- id: region
- type: label
- valueType: TEXT
- localIdentifier: dim_0
- - headers:
- - measureGroupHeaders:
- - localIdentifier: price
- - localIdentifier: order_amount
- format: $#,##0
- name: Order Amount
- localIdentifier: dim_1
- links:
- executionResult: 02023d75d2dda2fa71af2a31a06edb83a734234b:5598a2eccd77edb85ac25038aba7e9783f9f586d333a57be6f7d4e7a740454d5
- - request:
- method: POST
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/actions/workspaces/demo/export/tabular
- body:
- fileName: test_csv
- format: CSV
- executionResult: 02023d75d2dda2fa71af2a31a06edb83a734234b:5598a2eccd77edb85ac25038aba7e9783f9f586d333a57be6f7d4e7a740454d5
- customOverride:
- labels:
- region:
- title: Custom Title Region
- metrics:
- price:
- format: ''
- title: Sum Of Price
- order_amount:
- format: '#,##0.00'
- title: Order Amount Metric
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 201
- message: Created
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '59'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- exportResult: 8243e110f5d6b040d29a3bb930a61db809084ae8
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/actions/workspaces/demo/export/tabular/8243e110f5d6b040d29a3bb930a61db809084ae8
- body: null
- headers:
- Accept:
- - application/pdf, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,
- application/zip, text/csv, text/html
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 202
- message: Accepted
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '0'
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/actions/workspaces/demo/export/tabular/8243e110f5d6b040d29a3bb930a61db809084ae8
- body: null
- headers:
- Accept:
- - application/pdf, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,
- application/zip, text/csv, text/html
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Disposition:
- - attachment; filename="=?UTF-8?Q?test=5Fcsv.csv?="; filename*=UTF-8''test_csv.csv
- Content-Length:
- - '1645'
- Content-Type:
- - text/csv
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: "\uFEFF\"State\",\"Custom Title Region\",\"Sum Of Price\",\"Order\
- \ Amount Metric\"\nAlabama,South,6198.55,6675.95\nAlaska,West,4983.36,5444.84\n\
- Arizona,West,10279.68,10941.25\nArkansas,South,4683.68,5000.96\nCalifornia,West,57411.81,67385.27\n\
- Colorado,West,10012.02,10869.87\nConnecticut,Northeast,2892.16,3196.51\n\
- Delaware,South,3239.72,3535.36\nDistrict of Columbia,South,16394.17,18114.51\n\
- Florida,South,41989.67,53493.27\nGeorgia,South,9865.27,12035.21\nHawaii,West,5219.91,5474.07\n\
- Idaho,West,1840.64,4400.52\nIllinois,Midwest,8804.49,9733.34\nIndiana,Midwest,5982.7,6594.58\n\
- Iowa,Midwest,8467.68,9771.41\nKansas,Midwest,4503.79,4769.79\nKentucky,South,2879.09,3582.94\n\
- Louisiana,South,6511.79,7247.22\nMaryland,South,8417.93,12307.01\nMassachusetts,Northeast,4050.87,4828.45\n\
- Michigan,Midwest,7745.42,11153.4\nMinnesota,Midwest,8189.13,9664.77\nMississippi,South,3967.36,4446.13\n\
- Missouri,Midwest,8546.58,10919.34\nMontana,West,1384.39,1671.55\nNebraska,Midwest,2558.1,2714.19\n\
- Nevada,West,1444.77,2036.04\nNew Hampshire,Northeast,382.19,521.89\nNew\
- \ Jersey,Northeast,2132.86,2443.28\nNew Mexico,West,1328.97,1505.25\nNew\
- \ York,Northeast,21687.02,30318.88\nNorth Carolina,South,8876.18,10445.63\n\
- North Dakota,Midwest,176.71,176.71\nOhio,Midwest,13572.17,19917.4\nOklahoma,South,8748.77,9111.91\n\
- Oregon,West,4465.11,5625.17\nPennsylvania,Northeast,13555.43,15401.82\n\
- Rhode Island,Unknown,18.7,18.7\nSouth Carolina,South,3435.73,3598.61\nSouth\
- \ Dakota,Midwest,640.05,893.55\nTennessee,South,5143.92,5790.24\nTexas,South,44253.95,52551.19\n\
- Utah,West,8360.6,9701.28\nVirginia,South,15696.93,17324.89\nWashington,West,6219.38,7456.11\n\
- West Virginia,South,2654.63,3131.36\nWisconsin,Midwest,10650.42,12116.72\n"
diff --git a/packages/gooddata-sdk/tests/export/fixtures/test_export_csv_by_visualization_id.yaml b/packages/gooddata-sdk/tests/export/fixtures/test_export_csv_by_visualization_id.yaml
deleted file mode 100644
index 58293dfef..000000000
--- a/packages/gooddata-sdk/tests/export/fixtures/test_export_csv_by_visualization_id.yaml
+++ /dev/null
@@ -1,441 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/visualizationObjects/customers_trend?include=ALL
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- 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
- createdAt: 2026-03-25 09:18
- id: customers_trend
- meta:
- origin:
- originId: demo
- originType: NATIVE
- relationships:
- createdBy:
- data:
- id: admin
- type: userIdentifier
- 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: {}
- id: admin
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/userIdentifiers/admin
- type: userIdentifier
- - attributes:
- title: Date
- description: ''
- tags:
- - Date
- type: DATE
- id: date
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/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})
- createdAt: 2026-03-25 09:18
- id: amount_of_active_customers
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/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})
- createdAt: 2026-03-25 09:18
- id: revenue_per_customer
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/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: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/labels/date.month
- type: label
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/visualizationObjects/customers_trend?include=ALL
- - request:
- method: POST
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/actions/workspaces/demo/export/tabular
- body:
- fileName: Customers Trend
- format: CSV
- visualizationObject: customers_trend
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 201
- message: Created
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '59'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- exportResult: 458b7e1f0c68b09df15586401c72bea1e92e2e26
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/actions/workspaces/demo/export/tabular/458b7e1f0c68b09df15586401c72bea1e92e2e26
- body: null
- headers:
- Accept:
- - application/pdf, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,
- application/zip, text/csv, text/html
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 202
- message: Accepted
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '0'
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/actions/workspaces/demo/export/tabular/458b7e1f0c68b09df15586401c72bea1e92e2e26
- body: null
- headers:
- Accept:
- - application/pdf, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,
- application/zip, text/csv, text/html
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 202
- message: Accepted
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '0'
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/actions/workspaces/demo/export/tabular/458b7e1f0c68b09df15586401c72bea1e92e2e26
- body: null
- headers:
- Accept:
- - application/pdf, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,
- application/zip, text/csv, text/html
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 202
- message: Accepted
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '0'
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/actions/workspaces/demo/export/tabular/458b7e1f0c68b09df15586401c72bea1e92e2e26
- body: null
- headers:
- Accept:
- - application/pdf, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,
- application/zip, text/csv, text/html
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Disposition:
- - attachment; filename="=?UTF-8?Q?Customers_Trend.csv?="; filename*=UTF-8''Customers%20Trend.csv
- Content-Length:
- - '400'
- Content-Type:
- - text/csv
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: "\uFEFF\"Date - Month/Year\",\"2025-04\",\"2025-05\",\"2025-06\",\"\
- 2025-07\",\"2025-08\",\"2025-09\",\"2025-10\",\"2025-11\",\"2025-12\",\"\
- 2026-01\",\"2026-02\",\"2026-03\"\nActive Customers,60,51,60,55,86,89,72,56,90,60,64,65\n\
- Revenue per Customer,115.96454545454546,241.92872340425532,270.91346938775513,92.0542,251.6236842105263,204.48873417721518,187.41,160.19469387755103,178.3658536585366,185.4194,146.6475,111.88542372881356\n"
diff --git a/packages/gooddata-sdk/tests/export/fixtures/test_export_excel.yaml b/packages/gooddata-sdk/tests/export/fixtures/test_export_excel.yaml
deleted file mode 100644
index 0d3914f1a..000000000
--- a/packages/gooddata-sdk/tests/export/fixtures/test_export_excel.yaml
+++ /dev/null
@@ -1,429 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: POST
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/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
- 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:
- - measureGroup
- localIdentifier: dim_1
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '907'
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-CANCEL-TOKEN:
- - 09d55b2a-9f50-43ae-8268-ffbde6f88afd
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- 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
- valueType: TEXT
- - attributeHeader:
- localIdentifier: region
- label:
- id: region
- type: label
- labelName: Region
- attribute:
- id: region
- type: attribute
- attributeName: Region
- granularity: null
- primaryLabel:
- id: region
- type: label
- valueType: TEXT
- localIdentifier: dim_0
- - headers:
- - measureGroupHeaders:
- - localIdentifier: price
- - localIdentifier: order_amount
- format: $#,##0
- name: Order Amount
- localIdentifier: dim_1
- links:
- executionResult: 02023d75d2dda2fa71af2a31a06edb83a734234b:5598a2eccd77edb85ac25038aba7e9783f9f586d333a57be6f7d4e7a740454d5
- - request:
- method: POST
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/actions/workspaces/demo/export/tabular
- body:
- fileName: test_xlsx
- format: XLSX
- executionResult: 02023d75d2dda2fa71af2a31a06edb83a734234b:5598a2eccd77edb85ac25038aba7e9783f9f586d333a57be6f7d4e7a740454d5
- customOverride:
- labels:
- region:
- title: Custom Title Region
- metrics:
- price:
- format: ''
- title: Sum Of Price
- order_amount:
- format: '#,##0.00'
- title: Order Amount Metric
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 201
- message: Created
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '59'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- exportResult: 378a92a07cc081febc1b7cd4b4cb9d695d9c0cc5
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/actions/workspaces/demo/export/tabular/378a92a07cc081febc1b7cd4b4cb9d695d9c0cc5
- body: null
- headers:
- Accept:
- - application/pdf, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,
- application/zip, text/csv, text/html
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 202
- message: Accepted
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '0'
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/actions/workspaces/demo/export/tabular/378a92a07cc081febc1b7cd4b4cb9d695d9c0cc5
- body: null
- headers:
- Accept:
- - application/pdf, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,
- application/zip, text/csv, text/html
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Disposition:
- - attachment; filename="=?UTF-8?Q?test=5Fxlsx.xlsx?="; filename*=UTF-8''test_xlsx.xlsx
- Content-Length:
- - '7543'
- Content-Type:
- - application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: !!binary |
- UEsDBBQAAAAIAAAAPwBhXUk6TwEAAI8EAAATAAAAW0NvbnRlbnRfVHlwZXNdLnhtbK2Uy27CMBBF
- 9/2KyNsqMXRRVRWBRR/LFqn0A1x7Qiwc2/IMFP6+k/BQW1Gggk2sZO7cc8eOPBgtG5ctIKENvhT9
- oicy8DoY66eleJ8853ciQ1LeKBc8lGIFKEbDq8FkFQEzbvZYipoo3kuJuoZGYREieK5UITWK+DVN
- ZVR6pqYgb3q9W6mDJ/CUU+shhoNHqNTcUfa05M/rIAkciuxhLWxZpVAxOqsVcV0uvPlFyTeEgjs7
- DdY24jULhNxLaCt/AzZ9r7wzyRrIxirRi2pYJU3Q4xQiStYXh132xAxVZTWwx7zhlgLaQAZMHtkS
- ElnYZT7I1iHB/+HbPWq7TyQunURaOcCzR8WYQBmsAahxxdr0CJn4f4L1s382v7M5AvwMafYRwuzS
- w7Zr0SjrT+B3YpTdcv7UP4Ps/I8dea0SmDdKfA1c/OS/e29zyO4+GX4BUEsDBBQAAAAIAAAAPwDy
- n0na6QAAAEsCAAALAAAAX3JlbHMvLnJlbHOtksFOwzAMQO98ReT7mm5ICKGluyCk3SY0PsAkbhu1
- jaPEg+7viZBADI1pB45x7Odny+vNPI3qjVL2HAwsqxoUBcvOh87Ay/5pcQ8qCwaHIwcycKQMm+Zm
- /UwjSqnJvY9ZFUjIBnqR+KB1tj1NmCuOFMpPy2lCKc/U6Yh2wI70qq7vdPrJgOaEqbbOQNq6Jaj9
- MdI1bG5bb+mR7WGiIGda/MooZEwdiYF51O+chlfmoSpQ0OddVte7/D2nnkjQoaC2nGgRU6lO4sta
- v3Uc210J58+MS0K3/7kcmoWCI3dZCWP8MtInN9B8AFBLAwQUAAAACAAAAD8ARHVb8OgAAAC5AgAA
- GgAAAHhsL19yZWxzL3dvcmtib29rLnhtbC5yZWxzrZLBasMwEETv/Qqx91p2EkopkXMphVzb9AOE
- tLZMbElot2n99xEJTR0IoQefxIzYmQe7683P0IsDJuqCV1AVJQj0JtjOtwo+d2+PzyCItbe6Dx4V
- jEiwqR/W79hrzjPkukgih3hS4Jjji5RkHA6aihDR558mpEFzlqmVUZu9blEuyvJJpmkG1FeZYmsV
- pK2tQOzGiP/JDk3TGXwN5mtAzzcq5HdIe3KInEN1apEVXCySp6cqcirI2zCLOWE4z+IfyEmezbsM
- yzkZiMc+L/QCcdb36lez1jud0H5wytc2pZjavzDy6uLqI1BLAwQUAAAACAAAAD8ADJjQDFIHAAAg
- IwAAGAAAAHhsL3dvcmtzaGVldHMvc2hlZXQxLnhtbI3aS28btxYH8P39FIL2pXgefAW2gypC0S4K
- FPfetmvFHttCLY0hTZL225d6JCXPIWtlEVgSR/PXEYc/kqOb939uX2afh/1hM+5u52DsfDbs7seH
- ze7pdv7r/3/4Ls5nh2m9e1i/jLvhdv7XcJi/v/vPzZdx/8fheRimWX6D3eF2/jxNr+8Wi8P987Bd
- H8z4OuzyK4/jfrue8sP90+Lwuh/WD6eDti8LtNYvtuvNbn5+h3f7a95jfHzc3A+r8f7TdthN5zfZ
- Dy/rKcc/PG9eD/O7m4dNfu34eWb74fF2/j28W3GaL+5uTqf+bTN8ORR/z6b1x/8NL8P9NDzkAsxn
- x0/2cRz/OL74U37KHg9dqGN/OKX6ZT97GB7Xn16m/45ffhw2T89TfhN3POR+fDmc/p9tN7vTO2/X
- f97OMZ9h8zA952eCccESoJvP7j8dpnH7++WFy+HnA+lyIP9zoDeMLsTOkYvzmU8pV+tpfXezH7/M
- 9qcIh9f18cuCd5wLdX988vvjs6fXcvJj+T7f2ZvF5+PbXFoszy2waAF1iw/nFlS0wLrFSregby0W
- Od+3kNgMiafDuTicRchzC1e0cCLDh3MTf3rRQ4rGOZHy3CKcW/jgTHLtlNRMSSqlOMGSdEoSKc9N
- 4vlDpkiGvEh5bpHOhzOzidxOyc2UrFKKEyz57ZRc1BIshmR8FDG5KCbYxGCwU03XzOlUziByure/
- c1dW0+dqqpiurKa11iTfTumbKb1KKU6w9G9X0xfVdIEBTBSX2MqXXTNQdAZDO2do5gwqZxI5w9s5
- Q1FNsBbQWHmhh6KcYKNPJnZyxmbOqHKCHI+iDipGgw+xKCjGhAbkRRSLehIkbxy0Y6ZmzKRjim9s
- md7unamoJyElE2Q5U1FOcuTK0aCKCbY9ulsdVJxjeWnzr0kvbS4XvKfEBsTluLq0uVzxEYC7RYWO
- RaDTkkwLV6SF8rLPQ30enlRaKC984kTdKwraKIFWCSRLcIVLUMKUoq8u7UvYUiZAmzsC9krbtgk0
- TiB1git4gtInh5BMkkMV1EAFNrZX2LZQoImS1+8SrkAKKqUiW+NZZi2VYs7Df/H11FnbSoFmSl4Y
- S2hA5WTWUqoYLRtOMmtJVQqUpwYd+KFtFWisQGoFDa5U1sqrFNGo/lpx5fJo4WInapsr0F6BBAsa
- YqmoJVmRfdATAAhVWQMY7l1abbJAm4VqDt1AS2Ut1WJnyQTVBUq2OGRdiyZ11rZboOFCCRdcIReU
- dGHM8z+rstZ25V6SOt0V23ahtgulXXiFXVja5V2eXam6YklXQA4GO8MAtuVCLRdKufAKuRCq/prX
- iIlk1hIuQLLB2E6Hxc5qSsOFaj3VgEvOsrCEi62z5VzvEraEiyNGw51FALbdQu0WSrew4Za8uLB0
- KwR2eQ0ts5ZuAYAj0+uwbbdQu4XSLWy4pbKWbkXIsxc5C1ph6Vbynk3oGIttt1C7JWcdS7xigYWl
- W5TyAKvWq1i6ldervvw4dda2W6jdQukWXuEWlm5Fl4M4iQGWcOVVa57f9JDFtlyo5UIpF16x1sJq
- sUWRDalRq1ps+SyX611cbblQy0VSLrxCLqzWW85FI+eEWMKFIS8NoAMXtuFCDRdJuLABlyprCRcc
- d0+CGrNKuPJc2xvb6QLUhos0XCThogZccnylEi7KgMop0IpKt/Js3MROVanNFmm2SLJFDbZU0pIt
- BEIT1a5VyRYy5+VWZ0pIbbVIq0VSLWqopTbYSrVy1GiS7AFULbecdd2tK+rsBGq1SO0FNtRSdaWq
- rj4GveNCJVtkCaKJvcq23SLtlhzEl9RwS1pAlVsx5IFejq9U7wpydth3MKA2XKThIgkXXbHgohIu
- yFmDHLOodEu0qJO22SLNFkm26Aq2yFcd1gXUey9UuZVSnjj2xqw2W6TZkt4sqcGW6gPVgitw1OMr
- VQuuPNEqtxDqrG22SLPFki1qsKVGgmrBxd4ZuYm3otIt59GVpa+ztt0i7RZLt6jhlhoJKrfIuTyB
- lZNCKuECxzZ70FnGcFsu1nLJafKSG3KJ0eIDV9uFUe0PcL1VaDo15bZarNWStVjyFYstLtUiJmeC
- LCmXapFL0fhOX+W2Wty4dSXV4oZachDg6u4VW2PlzSsu0YqJupNBbpvF2iyWZnHDLFXVaocQMvRJ
- ksXVDmFI1mDvFlbnHpYWi9VdrCvEYq5GAMxLvqTqWpLl8uwWunNXbpPFmiyWZHGDLHXTrdojJG+N
- nGRxvUWYBwCM9uu/Xsdt68VaL5Z6cUMvVeJKL+eT11saXOkVCLk7keU2X6z5kvunS75i1cUlX/64
- vS3JXnHJV2DnSzXqrG2+WPPlJF/c4EtVtlp1ecflVOqStb7NRdC9f8Rtvljz5SRf3OBLDV8VX9Y7
- q/dfuOILAXx5P+ycdlH8rOF1/TT8vN4/bXaH2cvwmE9uTf5u9udfYZz+nsbX018528dxmsbt10fP
- w/ph2B8f5aHocRynrw+OP6D49uOWu78BUEsDBBQAAAAIAAAAPwAI4sz5TAEAACkCAAAPAAAAeGwv
- d29ya2Jvb2sueG1sjVHLTsMwELzzFdbeaR5KI1o1qcRLVELAobRHZOJNY9WxI9sh6d+zSZUCN067
- M94Z7axX675W7Autk0ZnEM1CYKgLI6Q+ZPC+fby+AeY814IrozGDEzpY51erztjjpzFHRnrtMqi8
- b5ZB4IoKa+5mpkFNL6WxNfcE7SFwjUUuXIXoaxXEYZgGNZcazg5L+x8PU5aywHtTtDVqfzaxqLin
- 7V0lGwf5qpQKd+dAjDfNC69p7V4BU9z5ByE9igwSgqbDP4Rtm9tWqgHMwzkE+SXkm2UCS94qv6XV
- Jnc6V5zEcTpMDlM7iZ37EQ2Q9XuphekyiBO67GlC0RxYN/Z7KXxFRBouLtwTykPlM1ikaTiYB7/c
- x/tNlekxnKccH71yPX3VQG8oQkR5lpIauxHRaDIpC64KCjSUcTBO5tECWNkqdUfcq342fDQYRFOY
- /BtQSwMEFAAAAAgAAAA/AL/Dgo4TAgAAMAYAABQAAAB4bC9zaGFyZWRTdHJpbmdzLnhtbH1UTW/b
- MAy971cIvq/OBuwDQ5KiSNA169IUTbpiR8ZmY8KymIl00/TXT14vQ6gN8MXvUXokH6nx+XPn3RNG
- IQ6T4t3ZqHAYKq4p7CbF/eby7efCiUKowXPASXFEKc6nb8Yi6tLRIJOiUd1/KUupGuxAzniPITGP
- HDvQ9Bt3pewjQi0Nona+fD8afSw7oFC4ivugSXaUZPtAv3qcvSIfPhXTsdB0rNO1guK41Om4HIBX
- cNaLcuc2pB7dHe5S9qch675zq0d3G6kyx1exxuguukHMLVFTzGnIhYctdJCBpbVopBcOGbiFICAm
- e/CU+hPInJix5wg1WzwErJSqXk+pOXo4QDQ1zkmGutTxo0vX9t3Wyl0mNaoN/BWTazb6KukQnaKL
- GhqT78J7Ckym8kWoCWyjFnww2HW2ddcYtK/a4yn+nXuS3NVLiEef5tfiIlA1vaCqUVlS1dAOzEwt
- KdkgrFaFRIZvvzf9GSjuo8U5aCbfG9zG3Ijd4BNYp27w4K6g20tDdgIG8ltabTTdGpglPlNljBuY
- nxxbg3PUxs0gcjLWpvGHnUObac2qIaOyan0aGrtdq4g7u8m3GIIc/RNkFuau4RrdQnIWr7n/T86v
- bD7nDQ4+C5qWbvDZzuS9QnOK/aC0QZl8HyBZFXZqq3zA9KT+8xhJxUHIvnJDFbmrshYhWGJJ9SET
- fx/awIe/9Mr05E9/A1BLAwQUAAAACAAAAD8AXZ86NN8CAACMDwAADQAAAHhsL3N0eWxlcy54bWzV
- V1FvmzAQft+vsJzXLRDSZNkEVFulSJO2alK7aa8GG2LN2Mg4VdJfvzMQIBsk7dKlXfKAfXz33ec7
- 4wP/cpMJdMd0wZUM8GTsYsRkrCiXaYC/3S7fLDAqDJGUCCVZgLeswJfhK78wW8FuVowZBAyyCPDK
- mPy94xTximWkGKucSbiTKJ0RA1OdOkWuGaGFdcqE47nu3MkIlzj05TpbZqZAsVpLE2CvMaHq8omC
- tvkFRhXdlaIgZfR6NB6NsNOLnf2BHblj17Vop44W+omSbdALXBlCv7hHd0QAy8TCYyWURgZWBTyl
- RZKMVYgrInikuTUmJONiW5k9aygTUeMyLpUuY1cR9uMsjoX5zjQlkvSGOcao0yjAy/r35LQL1/4f
- TVtebAG4EPsFAEPo58QYpuUSJqge325zyIuEPVjRlLgj6FST7cSbPdyhUIJTqyK96l9kVN/gkrIN
- g40Ge9KydxhPjLV07f+xscoL5DNSmsKzvMvoAu9MoS9YYsBd83Rlr0blNoYyRmUwoJykShJhA+w8
- HuCJymMgwGbF4594tzfI2qh6DzsV7uEBjjOWsDPKkHhwz/9HWg55nrtG/0ILJdBX6BExvRq6UMAc
- 1PvkZXxmnfUATo6YCXFjmX4kzfExAb5N0mmrrm2qshnCmVMPK5pqYvm7bBV3l9b9K160SZoAQ96T
- Ae9J641InovtUlULrGYfS2A7/yB4KjO2ywHZTdFKaX4Prraf2dpi++pkeGznUJNy7Zvk8fq8F6LP
- a/V5XX3Tw/psL+pTe6BS04FMXLyQTAzpmz2nvvoV+PBemv+u8HqdRUwvy7fhTs1O110eWF3hMSCY
- HtI+O6797UvV3p/36cl5H3pyzl2F6clVOMNKnLqRdLrVXq9qrMh+jAT42goWncVEay4Mlz19Cjjp
- pm1R5V1DIvjE3YsCHJQlZC3MbXMzwO34C6N8nb1rUF/5nTI1qh1/tuuczEsF7Xd0+AtQSwMEFAAA
- AAgAAAA/ABj6RlSwBQAAUhsAABMAAAB4bC90aGVtZS90aGVtZTEueG1s7VlNj9tEGL7zK0a+t44T
- O82umq022aSF7bar3bSox4k9sacZe6yZyW5zQ+0RCQlREBckbhwQUKmVuJRfs1AERepf4PVHkvFm
- ss22iwC1OSSe8fN+f/gd5+q1BzFDR0RIypO25VyuWYgkPg9oEratO4P+pZaFpMJJgBlPSNuaEmld
- 2/rgKt5UEYkJAvJEbuK2FSmVbtq29GEby8s8JQncG3ERYwVLEdqBwMfANmZ2vVZr2jGmiYUSHAPX
- 26MR9QkaZCytrRnzHoOvRMlsw2fi0M8l6hQ5Nhg72Y+cyi4T6AiztgVyAn48IA+UhRiWCm60rVr+
- seytq/aciKkVtBpdP/+UdCVBMK7ndCIczgmdvrtxZWfOv17wX8b1er1uz5nzywHY98FSZwnr9ltO
- Z8ZTAxWXy7y7Na/mVvEa/8YSfqPT6XgbFXxjgXeX8K1a092uV/DuAu8t69/Z7nabFby3wDeX8P0r
- G023is9BEaPJeAmdxXMemTlkxNkNI7wF8NYsARYoW8uugj5Rq3Itxve56AMgDy5WNEFqmpIR9gHX
- xfFQUJwJwJsEa3eKLV8ubWWykPQFTVXb+ijFUBELyKvnP7x6/hS9ev7k5OGzk4c/nzx6dPLwJwPh
- DZyEOuHL7z7/65tP0J9Pv335+EszXur433789NdfvjADlQ588dWT3589efH1Z398/9gA3xZ4qMMH
- NCYS3SLH6IDHYJtBABmK81EMIkwrFDgCpAHYU1EFeGuKmQnXIVXn3RXQAEzA65P7FV0PIzFR1ADc
- jeIKcI9z1uHCaM5uJks3Z5KEZuFiouMOMD4yye6eCm1vkkImUxPLbkQqau4ziDYOSUIUyu7xMSEG
- snuUVvy6R33BJR8pdI+iDqZGlwzoUJmJbtAY4jI1KQihrvhm7y7qcGZiv0OOqkgoCMxMLAmruPE6
- nigcGzXGMdORN7GKTEoeToVfcbhUEOmQMI56AZHSRHNbTCvq7mLoRMaw77FpXEUKRccm5E3MuY7c
- 4eNuhOPUqDNNIh37oRxDimK0z5VRCV6tkGwNccDJynDfpUSdr6zv0DAyJ0h2ZyLKrl3pvzFNzmrG
- jEI3ft+MZ/BteDSZSuJ0C16F+x823h08SfYJ5Pr7vvu+776LfXdVLa/bbRcN1tbn4pxfvHJIHlHG
- DtWUkZsyb80SlA76sJkvcqL5TJ5GcFmKq+BCgfNrJLj6mKroMMIpiHFyCaEsWYcSpVzCScBayTs/
- TlIwPt/zZmdAQGO1x4Niu6GfDeds8lUodUGNjMG6whpX3k6YUwDXlOZ4ZmnemdJszZtQDQhnB3+n
- WS9EQ8ZgRoLM7wWDWVguPEQywgEpY+QYDXEaa7qt9XqvadI2Gm8nbZ0g6eLcFeK8C4hSbSlK9nI5
- sqS6QseglVf3LOTjtG2NYJKCyzgFfjJrQJiFSdvyVWnKa4v5tMHmtHRqKw2uiEiFVDtYRgVVfmv2
- 6iRZ6F/33MwPF2OAoRutp0Wj5fyLWtinQ0tGI+KrFTuLZXmPTxQRh1FwjIZsIg4w6O0W2RVQCc+M
- +mwhoELdMvGqlV9WwelXNGV1YJZGuOxJLS32BTy/nuuQrzT17BW6v6EpjQs0xXt3TckyF8bWRpAf
- qGAMEBhlOdq2uFARhy6URtTvCxgcclmgF4KyyFRCLHvfnOlKjhZ9q+BRNLkwUgc0RIJCp1ORIGRf
- lXa+hplT15+vM0Zln5mrK9Pid0iOCBtk1dvM7LdQNOsmpSNy3Omg2abqGob9//Dk466YfM4eDxaC
- 3PPMIq7W9LVHwcbbqXDOR23dbHHdW/tRm8LhA2Vf0Lip8Nlivh3wA4g+mk+UCBLxUqssv/nmEHRu
- acZlrP7ZMWoRgtaKeF/k8Kk5u7HC2WeLe3NnewZfe2e72l4uUVs7yOSrpT+e+PA+yN6Bg9KEKVm8
- TXoAR83u7C8D4GMvSLf+BlBLAwQUAAAACAAAAD8AbpYr/SYBAABQAgAAEQAAAGRvY1Byb3BzL2Nv
- cmUueG1snZLNTsMwEITvPEXke+IkhSpYSSoB6olKSARRcbPsbWoR/8g2pH173LRNWyknjuuZ/XZ2
- 5XKxk130C9YJrSqUJSmKQDHNhWor9NEs4wJFzlPFaacVVGgPDi3qu5IZwrSFN6sNWC/ARQGkHGGm
- QlvvDcHYsS1I6pLgUEHcaCupD6VtsaHsm7aA8zSdYwmecuopPgBjMxLRCcnZiDQ/thsAnGHoQILy
- DmdJhi9eD1a6yYZBuXJK4fcGJq1ncXTvnBiNfd8n/WywhvwZXq9e34dVY6EOp2KA6pIzwixQr21d
- 4usiHK6jzq/CiTcC+NM+6BNvp0WOfcCjEIAc456Vz9nzS7NEdZ7m8zidxflDkz6SrCD3xddh5E3/
- BShPQ/5NPAOOuW8/Qf0HUEsDBBQAAAAIAAAAPwAEcUVjewEAABMDAAAQAAAAZG9jUHJvcHMvYXBw
- LnhtbJ1SwU7jMBC98xWR79RptVqhyjFalV31sIhKLXBcGWfSWHVsyzNEKV+Pk6ohhT3h05s3T8/P
- Mxa3XWOzFiIa7wo2n+UsA6d9ady+YI+7P9c3LENSrlTWOyjYEZDdyiuxiT5AJAOYJQeHBauJwpJz
- 1DU0Cmep7VKn8rFRlMq4576qjIY7r18bcMQXef6TQ0fgSiivw2jITo7Llr5rWnrd58On3TEkPyl+
- hWCNVpQeKe+Njh59RdnvToMVfNoUyWgL+jUaOspc8GkptlpZWCVjWSmLIPgHIdag+pltlIkoRUvL
- FjT5mKF5S1NbsOxFIfRxCtaqaJQjdpKdigHbgBTls48HrAEIBR/JAU61U2x+yPkgSOBSyMcgCV9G
- 3BmygA/VRkX6T+L5NPGQgU0yEiD96yx2XyKeL/tkv/JNUC7NkI/or3EHfAw7f6cIzhO9JMW2VhHK
- tIRx4iMh1ilatL1+VSu3h/Ks+dro9/90+uNyvpjl6QxrP3OCf3xn+Q5QSwECFAMUAAAACAAAAD8A
- YV1JOk8BAACPBAAAEwAAAAAAAAAAAAAAgIEAAAAAW0NvbnRlbnRfVHlwZXNdLnhtbFBLAQIUAxQA
- AAAIAAAAPwDyn0na6QAAAEsCAAALAAAAAAAAAAAAAACAgYABAABfcmVscy8ucmVsc1BLAQIUAxQA
- AAAIAAAAPwBEdVvw6AAAALkCAAAaAAAAAAAAAAAAAACAgZICAAB4bC9fcmVscy93b3JrYm9vay54
- bWwucmVsc1BLAQIUAxQAAAAIAAAAPwAMmNAMUgcAACAjAAAYAAAAAAAAAAAAAACAgbIDAAB4bC93
- b3Jrc2hlZXRzL3NoZWV0MS54bWxQSwECFAMUAAAACAAAAD8ACOLM+UwBAAApAgAADwAAAAAAAAAA
- AAAAgIE6CwAAeGwvd29ya2Jvb2sueG1sUEsBAhQDFAAAAAgAAAA/AL/Dgo4TAgAAMAYAABQAAAAA
- AAAAAAAAAICBswwAAHhsL3NoYXJlZFN0cmluZ3MueG1sUEsBAhQDFAAAAAgAAAA/AF2fOjTfAgAA
- jA8AAA0AAAAAAAAAAAAAAICB+A4AAHhsL3N0eWxlcy54bWxQSwECFAMUAAAACAAAAD8AGPpGVLAF
- AABSGwAAEwAAAAAAAAAAAAAAgIECEgAAeGwvdGhlbWUvdGhlbWUxLnhtbFBLAQIUAxQAAAAIAAAA
- PwBuliv9JgEAAFACAAARAAAAAAAAAAAAAACAgeMXAABkb2NQcm9wcy9jb3JlLnhtbFBLAQIUAxQA
- AAAIAAAAPwAEcUVjewEAABMDAAAQAAAAAAAAAAAAAACAgTgZAABkb2NQcm9wcy9hcHAueG1sUEsF
- BgAAAAAKAAoAgAIAAOEaAAAAAA==
diff --git a/packages/gooddata-sdk/tests/export/fixtures/test_export_excel_by_visualization_id.yaml b/packages/gooddata-sdk/tests/export/fixtures/test_export_excel_by_visualization_id.yaml
deleted file mode 100644
index 0105c70c6..000000000
--- a/packages/gooddata-sdk/tests/export/fixtures/test_export_excel_by_visualization_id.yaml
+++ /dev/null
@@ -1,589 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/visualizationObjects/customers_trend?include=ALL
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- 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
- createdAt: 2026-03-25 09:18
- id: customers_trend
- meta:
- origin:
- originId: demo
- originType: NATIVE
- relationships:
- createdBy:
- data:
- id: admin
- type: userIdentifier
- 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: {}
- id: admin
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/userIdentifiers/admin
- type: userIdentifier
- - attributes:
- title: Date
- description: ''
- tags:
- - Date
- type: DATE
- id: date
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/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})
- createdAt: 2026-03-25 09:18
- id: amount_of_active_customers
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/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})
- createdAt: 2026-03-25 09:18
- id: revenue_per_customer
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/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: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/labels/date.month
- type: label
- links:
- self: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/entities/workspaces/demo/visualizationObjects/customers_trend?include=ALL
- - request:
- method: POST
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/actions/workspaces/demo/export/tabular
- body:
- fileName: Customers Trend
- format: XLSX
- visualizationObject: customers_trend
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 201
- message: Created
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '59'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- exportResult: e9ca44328f74f4ee25d5518df98bb29c0e126865
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/actions/workspaces/demo/export/tabular/e9ca44328f74f4ee25d5518df98bb29c0e126865
- body: null
- headers:
- Accept:
- - application/pdf, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,
- application/zip, text/csv, text/html
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 202
- message: Accepted
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '0'
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/actions/workspaces/demo/export/tabular/e9ca44328f74f4ee25d5518df98bb29c0e126865
- body: null
- headers:
- Accept:
- - application/pdf, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,
- application/zip, text/csv, text/html
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 202
- message: Accepted
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '0'
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/actions/workspaces/demo/export/tabular/e9ca44328f74f4ee25d5518df98bb29c0e126865
- body: null
- headers:
- Accept:
- - application/pdf, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,
- application/zip, text/csv, text/html
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 202
- message: Accepted
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '0'
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/actions/workspaces/demo/export/tabular/e9ca44328f74f4ee25d5518df98bb29c0e126865
- body: null
- headers:
- Accept:
- - application/pdf, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,
- application/zip, text/csv, text/html
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 202
- message: Accepted
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '0'
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: ''
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/actions/workspaces/demo/export/tabular/e9ca44328f74f4ee25d5518df98bb29c0e126865
- body: null
- headers:
- Accept:
- - application/pdf, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,
- application/zip, text/csv, text/html
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Disposition:
- - attachment; filename="=?UTF-8?Q?Customers_Trend.xlsx?="; filename*=UTF-8''Customers%20Trend.xlsx
- Content-Length:
- - '6036'
- Content-Type:
- - application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string: !!binary |
- UEsDBBQAAAAIAAAAPwBhXUk6TwEAAI8EAAATAAAAW0NvbnRlbnRfVHlwZXNdLnhtbK2Uy27CMBBF
- 9/2KyNsqMXRRVRWBRR/LFqn0A1x7Qiwc2/IMFP6+k/BQW1Gggk2sZO7cc8eOPBgtG5ctIKENvhT9
- oicy8DoY66eleJ8853ciQ1LeKBc8lGIFKEbDq8FkFQEzbvZYipoo3kuJuoZGYREieK5UITWK+DVN
- ZVR6pqYgb3q9W6mDJ/CUU+shhoNHqNTcUfa05M/rIAkciuxhLWxZpVAxOqsVcV0uvPlFyTeEgjs7
- DdY24jULhNxLaCt/AzZ9r7wzyRrIxirRi2pYJU3Q4xQiStYXh132xAxVZTWwx7zhlgLaQAZMHtkS
- ElnYZT7I1iHB/+HbPWq7TyQunURaOcCzR8WYQBmsAahxxdr0CJn4f4L1s382v7M5AvwMafYRwuzS
- w7Zr0SjrT+B3YpTdcv7UP4Ps/I8dea0SmDdKfA1c/OS/e29zyO4+GX4BUEsDBBQAAAAIAAAAPwDy
- n0na6QAAAEsCAAALAAAAX3JlbHMvLnJlbHOtksFOwzAMQO98ReT7mm5ICKGluyCk3SY0PsAkbhu1
- jaPEg+7viZBADI1pB45x7Odny+vNPI3qjVL2HAwsqxoUBcvOh87Ay/5pcQ8qCwaHIwcycKQMm+Zm
- /UwjSqnJvY9ZFUjIBnqR+KB1tj1NmCuOFMpPy2lCKc/U6Yh2wI70qq7vdPrJgOaEqbbOQNq6Jaj9
- MdI1bG5bb+mR7WGiIGda/MooZEwdiYF51O+chlfmoSpQ0OddVte7/D2nnkjQoaC2nGgRU6lO4sta
- v3Uc210J58+MS0K3/7kcmoWCI3dZCWP8MtInN9B8AFBLAwQUAAAACAAAAD8ARHVb8OgAAAC5AgAA
- GgAAAHhsL19yZWxzL3dvcmtib29rLnhtbC5yZWxzrZLBasMwEETv/Qqx91p2EkopkXMphVzb9AOE
- tLZMbElot2n99xEJTR0IoQefxIzYmQe7683P0IsDJuqCV1AVJQj0JtjOtwo+d2+PzyCItbe6Dx4V
- jEiwqR/W79hrzjPkukgih3hS4Jjji5RkHA6aihDR558mpEFzlqmVUZu9blEuyvJJpmkG1FeZYmsV
- pK2tQOzGiP/JDk3TGXwN5mtAzzcq5HdIe3KInEN1apEVXCySp6cqcirI2zCLOWE4z+IfyEmezbsM
- yzkZiMc+L/QCcdb36lez1jud0H5wytc2pZjavzDy6uLqI1BLAwQUAAAACAAAAD8Akm+CGrICAADj
- BwAAGAAAAHhsL3dvcmtzaGVldHMvc2hlZXQxLnhtbI2V2W6jMBSG7+cpEPdjvNtESaq2aZsukUaz
- XtPESVABR+A2nbcfA0mLTxdNIiGb76z+jT0+eS6L6MnUTW6rSUwQjiNTLe0qrzaT+NfPy686jhqX
- VaussJWZxH9NE59Mv4z3tn5otsa4yAeomkm8dW43SpJmuTVl1iC7M5Una1uXmfPTepM0u9pkq86p
- LBKKsUzKLK/iPsKo/p8Ydr3Ol2Zml4+lqVwfpDZF5nz5zTbfNfF0vMo9a/uJarOexKdktGBxMh13
- mX/nZt8MxpHL7n+YwiydWfn+46ht7N7ahxZe+1e4dU3e+F52RX2ro5VZZ4+F+273c5Nvts4HEa3L
- 0hZN94zKvOoil9lznyFfua0fKSQUZoSKOFo+Ns6Wfw7g4N470qMje/WUiFOh9AeuSZ+6K3OWuWw6
- ru0+qrvczS5rxSIjH84nad+etq876Gtv1+9pisfJUxvnYHHWW9COcaG4Dvk54ArwWcg1TkN+ATgD
- /BJwBeq7CnmKScjngDPArwGXNOQ3gKeA3wZcYspCfge44CFfAK5f4ydeuhf96Pv60c6bDfQD/Z31
- FrxjEize+RAK4Dn7zPMi8BRAsyHUEggWQKD2fAgVWOrrICcIezOEKaj29rNW7gII5emh6KF4Xxv2
- vjbsjTagobPeQva6EYFSycXxD9b0fGhLOUEp1Yoyjv1pIMCemwW2CqOUMC5TppUSUOWLoW1Kkd+g
- JH35AV2DuIIgSZnUnBIsqAQ1XAW2mCOutWKcKEWJAOswD9ZBK8ThRxoYSIxI+lE/N4Gp0ohJocXh
- AfbMbZhX+Lwp0P8uMOESSa6AMoveRB1UJEhrwSlTVGvCJNgxyeBk3mUbs8jqTV41UWHWfpdgpOKo
- 7m+Sbuzsrhv5s/7eOn/WH2dbf5uaup357Gtr3XHS3gEv9/P0H1BLAwQUAAAACAAAAD8A7236q08B
- AAAvAgAADwAAAHhsL3dvcmtib29rLnhtbI1Ry07DMBC88xWW7zQPJRGtmlSigKiEgENpzybeNFb9
- iGyHtH/POlUK3Dh5Z3Z3NLNerk5Kki+wThhd0mQWUwK6NlzoQ0k/tk+3d5Q4zzRn0mgo6RkcXVU3
- y8HY46cxR4L72pW09b5bRJGrW1DMzUwHGjuNsYp5hPYQuc4C464F8EpGaRwXkWJC04vCwv5HwzSN
- qOHB1L0C7S8iFiTz6N61onO0WjZCwu4SiLCue2UKbZ8kJZI5/8iFB17SDKEZ4A9h++6+FzKAPM5p
- VF1DvlvCoWG99Fu0NqnjudIsTYswGaZ2Agb3sxQgOe2F5mYoaZrhZc8TSnJKhrHeC+5bJIp4fuWe
- QRxaX9J5UcRBPPqlPt5veokew617541CU2RrQXP8sNDcYJAEUy0EFnbDk1Fq2q+ZrDFWeMbBNMuT
- OSVNL+UauTf9YtgoEJamSNU3UEsDBBQAAAAIAAAAPwDtxIIjugAAAAQBAAAUAAAAeGwvc2hhcmVk
- U3RyaW5ncy54bWxdjzFLBDEQRnt/xTD93awKIpLkkBM7G9HCMuyOt4HNZM1MFv33RkQFy8d7X/G5
- w3teYOOqqYjH8/2AwDKWKcnJ4/PT/e4aQS3KFJci7PGDFQ/hzKka9Kmox9lsvSHSceYcdV9Wlm5e
- S83ROtYT6Vo5TjozW17oYhiuKMckCGNpYh4vEZqkt8bHHw5OU3AW7qIx7OChiM30wrE6suDoS34H
- t6OljeHY1EruN/77R95YGsPK9Tf6a6jfCJ9QSwMEFAAAAAgAAAA/AK9mnEnvAgAAsA0AAA0AAAB4
- bC9zdHlsZXMueG1szVddb9MwFH3nV1ge4gmWfqxVgaYTTIqEBBPSBuLVjZ3Uwh/BcaZ2v55rO23S
- kbZbN220D7Zvzj33+F7nJpmeL6VAN8yUXKsY9097GDGVaspVHuMf18m7CUalJYoSoRWL8YqV+Hz2
- alralWBXC8YsAgZVxnhhbfEhisp0wSQpT3XBFFzJtJHEwtLkUVkYRmjpnKSIBr3eOJKEKzybqkom
- 0pYo1ZWyMR5uTCgMXyhoG59hFOguNAUpUkq0gh+OOtGjbfTJ25OT3g7oeBv65k+l7cfXYfB+p94z
- qmXOpplWjdozHAyzaXmLbogAxr6Dp1pogyykAzi9RRHJAuKCCD433BkzIrlYBfPAGXwGa5zkShsf
- O0TYjjM5FOYnM5Qo0hnmEKPJ5zFOkknP/Z+cNvweTOsHVwAuxHYBwDCbFsRaZlQCC1TPr1cF5EXB
- 4Q00HncAnRuy6g9G93coteDUqcgvunM3ry9wRdmSwaGDw+zYW4yPjJX03P+hsfwA+ZxrQ6EJrDM6
- xmvTbCpYZsHd8HzhRqsLF0NbqyVMKCe5VkS4AGuPLk/kG0aM7YKnv/H6MJDK6vrQRh62zX/YKeCO
- kqHwzpN+fy3/uj5C0VGJ2beNY7VQAk2aHhDTqaENBcxevU9exxfWWU/gbkqZEFeO6Ve2uaX6wLfM
- Wo+dnnvoqM0U7sN6GmjCwvG32QJ3i3ZyFC1aZhv+Xd79Hd79xhuRohCrRIf9hdVnD2zWnwTPlWTr
- FJD1Ei204bfg6lq8Ky12ryGWp24NJfFbX2Z39NUvAUHhYIfCwV2Fl5WcM5P4R3yj7Dl1t/I6bFQP
- 2qqH+/Pq2naX2rsVrF989tfw7Nky5O/DdopSQDCzq7r30D76X7WPO7UPH533XZV/0Z0cVYVn2ElU
- 98dWE95qwRsrcu+dMb50gkVrM/OKC8tVR/sFTrpsOq+/askcPoO2ogAHZRmphL3eXIxxM//GKK/k
- +w3qO7/RtkY1869un/2xV9B8a83+AlBLAwQUAAAACAAAAD8AGPpGVLAFAABSGwAAEwAAAHhsL3Ro
- ZW1lL3RoZW1lMS54bWztWU2P20QYvvMrRr63jhM7za6arTbZpIXttqvdtKjHiT2xpxl7rJnJbnND
- 7REJCVEQFyRuHBBQqZW4lF+zUARF6l/g9UeS8WayzbaLALU5JJ7x835/+B3n6rUHMUNHREjKk7bl
- XK5ZiCQ+D2gStq07g/6lloWkwkmAGU9I25oSaV3b+uAq3lQRiQkC8kRu4rYVKZVu2rb0YRvLyzwl
- CdwbcRFjBUsR2oHAx8A2Zna9VmvaMaaJhRIcA9fboxH1CRpkLK2tGfMeg69EyWzDZ+LQzyXqFDk2
- GDvZj5zKLhPoCLO2BXICfjwgD5SFGJYKbrStWv6x7K2r9pyIqRW0Gl0//5R0JUEwrud0IhzOCZ2+
- u3FlZ86/XvBfxvV6vW7PmfPLAdj3wVJnCev2W05nxlMDFZfLvLs1r+ZW8Rr/xhJ+o9PpeBsVfGOB
- d5fwrVrT3a5X8O4C7y3r39nudpsVvLfAN5fw/SsbTbeKz0ERo8l4CZ3Fcx6ZOWTE2Q0jvAXw1iwB
- Fihby66CPlGrci3G97noAyAPLlY0QWqakhH2AdfF8VBQnAnAmwRrd4otXy5tZbKQ9AVNVdv6KMVQ
- EQvIq+c/vHr+FL16/uTk4bOThz+fPHp08vAnA+ENnIQ64cvvPv/rm0/Qn0+/ffn4SzNe6vjffvz0
- 11++MAOVDnzx1ZPfnz158fVnf3z/2ADfFniowwc0JhLdIsfogMdgm0EAGYrzUQwiTCsUOAKkAdhT
- UQV4a4qZCdchVefdFdAATMDrk/sVXQ8jMVHUANyN4gpwj3PW4cJozm4mSzdnkoRm4WKi4w4wPjLJ
- 7p4KbW+SQiZTE8tuRCpq7jOINg5JQhTK7vExIQaye5RW/LpHfcElHyl0j6IOpkaXDOhQmYlu0Bji
- MjUpCKGu+GbvLupwZmK/Q46qSCgIzEwsCau48TqeKBwbNcYx05E3sYpMSh5OhV9xuFQQ6ZAwjnoB
- kdJEc1tMK+ruYuhExrDvsWlcRQpFxybkTcy5jtzh426E49SoM00iHfuhHEOKYrTPlVEJXq2QbA1x
- wMnKcN+lRJ2vrO/QMDInSHZnIsquXem/MU3OasaMQjd+34xn8G14NJlK4nQLXoX7HzbeHTxJ9gnk
- +vu++77vvot9d1Utr9ttFw3W1ufinF+8ckgeUcYO1ZSRmzJvzRKUDvqwmS9yovlMnkZwWYqr4EKB
- 82skuPqYqugwwimIcXIJoSxZhxKlXMJJwFrJOz9OUjA+3/NmZ0BAY7XHg2K7oZ8N52zyVSh1QY2M
- wbrCGlfeTphTANeU5nhmad6Z0mzNm1ANCGcHf6dZL0RDxmBGgszvBYNZWC48RDLCASlj5BgNcRpr
- uq31eq9p0jYabydtnSDp4twV4rwLiFJtKUr2cjmypLpCx6CVV/cs5OO0bY1gkoLLOAV+MmtAmIVJ
- 2/JVacpri/m0wea0dGorDa6ISIVUO1hGBVV+a/bqJFnoX/fczA8XY4ChG62nRaPl/Ita2KdDS0Yj
- 4qsVO4tleY9PFBGHUXCMhmwiDjDo7RbZFVAJz4z6bCGgQt0y8aqVX1bB6Vc0ZXVglka47EktLfYF
- PL+e65CvNPXsFbq/oSmNCzTFe3dNyTIXxtZGkB+oYAwQGGU52ra4UBGHLpRG1O8LGBxyWaAXgrLI
- VEIse9+c6UqOFn2r4FE0uTBSBzREgkKnU5EgZF+Vdr6GmVPXn68zRmWfmasr0+J3SI4IG2TV28zs
- t1A06yalI3Lc6aDZpuoahv3/8OTjrph8zh4PFoLc88wirtb0tUfBxtupcM5Hbd1scd1b+1GbwuED
- ZV/QuKnw2WK+HfADiD6aT5QIEvFSqyy/+eYQdG5pxmWs/tkxahGC1op4X+TwqTm7scLZZ4t7c2d7
- Bl97Z7vaXi5RWzvI5KulP5748D7I3oGD0oQpWbxNegBHze7sLwPgYy9It/4GUEsDBBQAAAAIAAAA
- PwA3dyt3JgEAAFACAAARAAAAZG9jUHJvcHMvY29yZS54bWydks1qwzAQhO99CqO7LdshIRG2A23J
- qYFCU1p6E9LGEbV+kNQ6efsqduwk4FOPq5n9dnZRsT7KJvoF64RWJcqSFEWgmOZC1SV6323iJYqc
- p4rTRiso0QkcWlcPBTOEaQuvVhuwXoCLAkg5wkyJDt4bgrFjB5DUJcGhgrjXVlIfSltjQ9k3rQHn
- abrAEjzl1FN8BsZmJKILkrMRaX5s0wE4w9CABOUdzpIMX70erHSTDZ1y45TCnwxMWgdxdB+dGI1t
- 2ybtrLOG/Bn+3L68davGQp1PxQBVBWeEWaBe26rAt0U4XEOd34YT7wXwx1PQJ94ui/R9wKMQgPRx
- B+Vj9vS826AqT/NFnM7ifL5LVyRbkvnq6zzyrv8KlJch/yYOgD73/Seo/gBQSwMEFAAAAAgAAAA/
- ALLAMkd+AQAAGQMAABAAAABkb2NQcm9wcy9hcHAueG1snVLBTuswELzzFZHv1GmF0FPlGKEC4sDT
- q9QAZ+NsGgvHtrzbqH1fj5OqIQVO5DQ7OxpPdlfc7FubdRDReFew+SxnGTjtK+O2BXsuHy7/sAxJ
- uUpZ76BgB0B2Iy/EOvoAkQxglhwcFqwhCkvOUTfQKpyltkud2sdWUSrjlvu6NhruvN614Igv8vya
- w57AVVBdhtGQHR2XHf3WtPK6z4cv5SEkPyluQ7BGK0o/Kf8aHT36mrL7vQYr+LQpktEG9C4aOshc
- 8GkpNlpZWCVjWSuLIPgnIR5B9TNbKxNRio6WHWjyMUPzP01twbI3hdDHKVinolGO2FF2LAZsA1KU
- rz6+YwNAKPhIDnCqnWJzJeeDIIFzIR+DJHwesTRkAf/VaxXph8TzaeIhA5tkXO2QfJuuJitjWt+3
- oKcnvzyy8m1QLk2Sj+jJuHd8DqW/UwSnuZ6TYtOoCFVaxTj3kRCPKWC0vX7VKLeF6qT53uiv4OV4
- 6XK+mOXpG5Z/4gT/PGr5AVBLAQIUAxQAAAAIAAAAPwBhXUk6TwEAAI8EAAATAAAAAAAAAAAAAACA
- gQAAAABbQ29udGVudF9UeXBlc10ueG1sUEsBAhQDFAAAAAgAAAA/APKfSdrpAAAASwIAAAsAAAAA
- AAAAAAAAAICBgAEAAF9yZWxzLy5yZWxzUEsBAhQDFAAAAAgAAAA/AER1W/DoAAAAuQIAABoAAAAA
- AAAAAAAAAICBkgIAAHhsL19yZWxzL3dvcmtib29rLnhtbC5yZWxzUEsBAhQDFAAAAAgAAAA/AJJv
- ghqyAgAA4wcAABgAAAAAAAAAAAAAAICBsgMAAHhsL3dvcmtzaGVldHMvc2hlZXQxLnhtbFBLAQIU
- AxQAAAAIAAAAPwDvbfqrTwEAAC8CAAAPAAAAAAAAAAAAAACAgZoGAAB4bC93b3JrYm9vay54bWxQ
- SwECFAMUAAAACAAAAD8A7cSCI7oAAAAEAQAAFAAAAAAAAAAAAAAAgIEWCAAAeGwvc2hhcmVkU3Ry
- aW5ncy54bWxQSwECFAMUAAAACAAAAD8Ar2acSe8CAACwDQAADQAAAAAAAAAAAAAAgIECCQAAeGwv
- c3R5bGVzLnhtbFBLAQIUAxQAAAAIAAAAPwAY+kZUsAUAAFIbAAATAAAAAAAAAAAAAACAgRwMAAB4
- bC90aGVtZS90aGVtZTEueG1sUEsBAhQDFAAAAAgAAAA/ADd3K3cmAQAAUAIAABEAAAAAAAAAAAAA
- AICB/REAAGRvY1Byb3BzL2NvcmUueG1sUEsBAhQDFAAAAAgAAAA/ALLAMkd+AQAAGQMAABAAAAAA
- AAAAAAAAAICBUhMAAGRvY1Byb3BzL2FwcC54bWxQSwUGAAAAAAoACgCAAgAA/hQAAAAA
diff --git a/packages/gooddata-sdk/tests/support/fixtures/is_available.yaml b/packages/gooddata-sdk/tests/support/fixtures/is_available.yaml
deleted file mode 100644
index 08c5c1482..000000000
--- a/packages/gooddata-sdk/tests/support/fixtures/is_available.yaml
+++ /dev/null
@@ -1,54 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/options
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '111'
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- options:
- description: Options resources
- links:
- availableDrivers: /api/v1/options/availableDrivers
diff --git a/packages/gooddata-sdk/tests/support/fixtures/is_available_no_access.yaml b/packages/gooddata-sdk/tests/support/fixtures/is_available_no_access.yaml
deleted file mode 100644
index d7ac5b828..000000000
--- a/packages/gooddata-sdk/tests/support/fixtures/is_available_no_access.yaml
+++ /dev/null
@@ -1,50 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/options
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 401
- message: Unauthorized
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '0'
- DATE:
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- 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-Content-Type-Options:
- - nosniff
- X-XSS-Protection:
- - '0'
- body:
- string: ''
diff --git a/packages/gooddata-sdk/tests/support/fixtures/wait_till_available_no_wait.yaml b/packages/gooddata-sdk/tests/support/fixtures/wait_till_available_no_wait.yaml
deleted file mode 100644
index 08c5c1482..000000000
--- a/packages/gooddata-sdk/tests/support/fixtures/wait_till_available_no_wait.yaml
+++ /dev/null
@@ -1,54 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/options
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '111'
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- options:
- description: Options resources
- links:
- availableDrivers: /api/v1/options/availableDrivers
diff --git a/packages/gooddata-sdk/tests/table/fixtures/table_with_attribute_and_metric.yaml b/packages/gooddata-sdk/tests/table/fixtures/table_with_attribute_and_metric.yaml
deleted file mode 100644
index 35a439b14..000000000
--- a/packages/gooddata-sdk/tests/table/fixtures/table_with_attribute_and_metric.yaml
+++ /dev/null
@@ -1,194 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: POST
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/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
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '614'
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-CANCEL-TOKEN:
- - dd7bded4-b8fe-4a26-8a1b-30ea74571117
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- 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
- valueType: TEXT
- localIdentifier: dim_0
- - headers:
- - measureGroupHeaders:
- - localIdentifier: metric1
- format: $#,##0
- name: Order Amount
- localIdentifier: dim_1
- links:
- executionResult: 70e15fc7060bbec83378cd2dd059756d13997aa9:8e98b5ab30336dde4ca6bec2e0b338c7e10f8a9ebcf16d8f6df39eedc0f80ed5
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/actions/workspaces/demo/execution/afm/execute/result/70e15fc7060bbec83378cd2dd059756d13997aa9%3A8e98b5ab30336dde4ca6bec2e0b338c7e10f8a9ebcf16d8f6df39eedc0f80ed5?offset=0%2C0&limit=512%2C256
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '663'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- 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
- metadata:
- dataSourceMessages: []
diff --git a/packages/gooddata-sdk/tests/table/fixtures/table_with_attribute_metric_and_filter.yaml b/packages/gooddata-sdk/tests/table/fixtures/table_with_attribute_metric_and_filter.yaml
deleted file mode 100644
index 0120da367..000000000
--- a/packages/gooddata-sdk/tests/table/fixtures/table_with_attribute_metric_and_filter.yaml
+++ /dev/null
@@ -1,189 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: POST
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/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
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '614'
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-CANCEL-TOKEN:
- - 577c4200-0696-435e-906a-109db5ed0e68
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- 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
- valueType: TEXT
- localIdentifier: dim_0
- - headers:
- - measureGroupHeaders:
- - localIdentifier: metric1
- format: $#,##0
- name: Order Amount
- localIdentifier: dim_1
- links:
- executionResult: 6ccd9ec580d411ea7d9e35a221705b8a864db461:b981c883c1b5c6fea92ea9f4a78a80e0ded46e8feecc66879937a34b5f33f90e
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/actions/workspaces/demo/execution/afm/execute/result/6ccd9ec580d411ea7d9e35a221705b8a864db461%3Ab981c883c1b5c6fea92ea9f4a78a80e0ded46e8feecc66879937a34b5f33f90e?offset=0%2C0&limit=512%2C256
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '414'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- 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
- metadata:
- dataSourceMessages: []
diff --git a/packages/gooddata-sdk/tests/table/fixtures/table_with_attribute_show_all_values.yaml b/packages/gooddata-sdk/tests/table/fixtures/table_with_attribute_show_all_values.yaml
deleted file mode 100644
index 8ce25cff7..000000000
--- a/packages/gooddata-sdk/tests/table/fixtures/table_with_attribute_show_all_values.yaml
+++ /dev/null
@@ -1,1074 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: POST
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/actions/workspaces/demo/execution/afm/execute
- body:
- execution:
- attributes:
- - label:
- identifier:
- id: date.month
- type: label
- localIdentifier: attr1
- filters: []
- measures:
- - definition:
- measure:
- item:
- identifier:
- id: quantity
- type: fact
- aggregation: SUM
- computeRatio: false
- filters: []
- localIdentifier: metric1
- resultSpec:
- dimensions:
- - itemIdentifiers:
- - attr1
- localIdentifier: dim_0
- - itemIdentifiers:
- - measureGroup
- localIdentifier: dim_1
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '678'
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-CANCEL-TOKEN:
- - 6605fea6-c227-4e7d-84b0-44e72ddeb3c7
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- executionResponse:
- dimensions:
- - headers:
- - attributeHeader:
- localIdentifier: attr1
- 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
- format:
- locale: en-US
- pattern: MMM y
- timezone: Etc/UTC
- valueType: TEXT
- localIdentifier: dim_0
- - headers:
- - measureGroupHeaders:
- - localIdentifier: metric1
- localIdentifier: dim_1
- links:
- executionResult: 51aa973b5c57ffaf530803a2fbe86cb8ed8e101d:87bf7f4ac2a0a2681f333f6e9b9c869409f0f323ff492294b8122345c6d505f8
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/actions/workspaces/demo/execution/afm/execute/result/51aa973b5c57ffaf530803a2fbe86cb8ed8e101d%3A87bf7f4ac2a0a2681f333f6e9b9c869409f0f323ff492294b8122345c6d505f8?offset=0%2C0&limit=512%2C256
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- - - 66.0
- - - 108.0
- - - 130.0
- - - 114.0
- - - 74.0
- - - 99.0
- - - 94.0
- - - 104.0
- - - 68.0
- - - 100.0
- - - 137.0
- - - 173.0
- - - 142.0
- - - 111.0
- - - 130.0
- - - 115.0
- - - 112.0
- - - 129.0
- - - 100.0
- - - 126.0
- - - 114.0
- - - 112.0
- - - 139.0
- - - 157.0
- - - 123.0
- - - 75.0
- - - 127.0
- - - 151.0
- - - 125.0
- - - 142.0
- - - 143.0
- - - 145.0
- - - 121.0
- - - 138.0
- - - 193.0
- - - 217.0
- - - 173.0
- - - 119.0
- - - 236.0
- - - 149.0
- - - 149.0
- - - 153.0
- - - 168.0
- - - 151.0
- - - 147.0
- - - 189.0
- - - 267.0
- - - 294.0
- - - 217.0
- - - 165.0
- - - 201.0
- dimensionHeaders:
- - headerGroups:
- - headers:
- - attributeHeader:
- labelValue: 2022-10
- primaryLabelValue: 2022-10
- - attributeHeader:
- labelValue: 2022-11
- primaryLabelValue: 2022-11
- - attributeHeader:
- labelValue: 2022-12
- primaryLabelValue: 2022-12
- - attributeHeader:
- labelValue: 2023-01
- primaryLabelValue: 2023-01
- - attributeHeader:
- labelValue: 2023-02
- primaryLabelValue: 2023-02
- - attributeHeader:
- labelValue: 2023-03
- primaryLabelValue: 2023-03
- - attributeHeader:
- labelValue: 2023-04
- primaryLabelValue: 2023-04
- - attributeHeader:
- labelValue: 2023-05
- primaryLabelValue: 2023-05
- - attributeHeader:
- labelValue: 2023-06
- primaryLabelValue: 2023-06
- - attributeHeader:
- labelValue: 2023-07
- primaryLabelValue: 2023-07
- - attributeHeader:
- labelValue: 2023-08
- primaryLabelValue: 2023-08
- - attributeHeader:
- labelValue: 2023-09
- primaryLabelValue: 2023-09
- - attributeHeader:
- labelValue: 2023-10
- primaryLabelValue: 2023-10
- - attributeHeader:
- labelValue: 2023-11
- primaryLabelValue: 2023-11
- - attributeHeader:
- labelValue: 2023-12
- primaryLabelValue: 2023-12
- - attributeHeader:
- labelValue: 2024-01
- primaryLabelValue: 2024-01
- - attributeHeader:
- labelValue: 2024-02
- primaryLabelValue: 2024-02
- - attributeHeader:
- labelValue: 2024-03
- primaryLabelValue: 2024-03
- - attributeHeader:
- labelValue: 2024-04
- primaryLabelValue: 2024-04
- - attributeHeader:
- labelValue: 2024-05
- primaryLabelValue: 2024-05
- - attributeHeader:
- labelValue: 2024-06
- primaryLabelValue: 2024-06
- - attributeHeader:
- labelValue: 2024-07
- primaryLabelValue: 2024-07
- - attributeHeader:
- labelValue: 2024-08
- primaryLabelValue: 2024-08
- - attributeHeader:
- labelValue: 2024-09
- primaryLabelValue: 2024-09
- - attributeHeader:
- labelValue: 2024-10
- primaryLabelValue: 2024-10
- - attributeHeader:
- labelValue: 2024-11
- primaryLabelValue: 2024-11
- - attributeHeader:
- labelValue: 2024-12
- primaryLabelValue: 2024-12
- - attributeHeader:
- labelValue: 2025-01
- primaryLabelValue: 2025-01
- - attributeHeader:
- labelValue: 2025-02
- primaryLabelValue: 2025-02
- - attributeHeader:
- labelValue: 2025-03
- primaryLabelValue: 2025-03
- - attributeHeader:
- labelValue: 2025-04
- primaryLabelValue: 2025-04
- - attributeHeader:
- labelValue: 2025-05
- primaryLabelValue: 2025-05
- - attributeHeader:
- labelValue: 2025-06
- primaryLabelValue: 2025-06
- - attributeHeader:
- labelValue: 2025-07
- primaryLabelValue: 2025-07
- - attributeHeader:
- labelValue: 2025-08
- primaryLabelValue: 2025-08
- - attributeHeader:
- labelValue: 2025-09
- primaryLabelValue: 2025-09
- - attributeHeader:
- labelValue: 2025-10
- primaryLabelValue: 2025-10
- - attributeHeader:
- labelValue: 2025-11
- primaryLabelValue: 2025-11
- - attributeHeader:
- labelValue: 2025-12
- primaryLabelValue: 2025-12
- - attributeHeader:
- labelValue: 2026-01
- primaryLabelValue: 2026-01
- - attributeHeader:
- labelValue: 2026-02
- primaryLabelValue: 2026-02
- - attributeHeader:
- labelValue: 2026-03
- primaryLabelValue: 2026-03
- - attributeHeader:
- labelValue: 2026-04
- primaryLabelValue: 2026-04
- - attributeHeader:
- labelValue: 2026-05
- primaryLabelValue: 2026-05
- - attributeHeader:
- labelValue: 2026-06
- primaryLabelValue: 2026-06
- - attributeHeader:
- labelValue: 2026-07
- primaryLabelValue: 2026-07
- - attributeHeader:
- labelValue: 2026-08
- primaryLabelValue: 2026-08
- - attributeHeader:
- labelValue: 2026-09
- primaryLabelValue: 2026-09
- - attributeHeader:
- labelValue: 2026-10
- primaryLabelValue: 2026-10
- - attributeHeader:
- labelValue: 2026-11
- primaryLabelValue: 2026-11
- - attributeHeader:
- labelValue: 2026-12
- primaryLabelValue: 2026-12
- - headerGroups:
- - headers:
- - measureHeader:
- measureIndex: 0
- grandTotals: []
- paging:
- count:
- - 51
- - 1
- offset:
- - 0
- - 0
- total:
- - 51
- - 1
- metadata:
- dataSourceMessages: []
- - request:
- method: POST
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/actions/workspaces/demo/execution/afm/execute
- body:
- execution:
- attributes:
- - label:
- identifier:
- id: date.month
- type: label
- localIdentifier: attr1
- showAllValues: true
- filters:
- - positiveAttributeFilter:
- in:
- values:
- - Canceled
- label:
- identifier:
- id: order_status
- type: label
- measures:
- - definition:
- measure:
- item:
- identifier:
- id: quantity
- type: fact
- aggregation: SUM
- computeRatio: false
- filters: []
- localIdentifier: metric1
- resultSpec:
- dimensions:
- - itemIdentifiers:
- - attr1
- localIdentifier: dim_0
- - itemIdentifiers:
- - measureGroup
- localIdentifier: dim_1
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '678'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-CANCEL-TOKEN:
- - ddfc12a1-cab5-437d-a11c-becc164308f2
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- executionResponse:
- dimensions:
- - headers:
- - attributeHeader:
- localIdentifier: attr1
- 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
- format:
- locale: en-US
- pattern: MMM y
- timezone: Etc/UTC
- valueType: TEXT
- localIdentifier: dim_0
- - headers:
- - measureGroupHeaders:
- - localIdentifier: metric1
- localIdentifier: dim_1
- links:
- executionResult: ae8c8407edfeb8eb491089afdb2c0d92723e3b14:fc2a71ab4fdcbfc9e80d264a9b7e5cae18f46beaf1ce91dc161198493e98b3d9
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/actions/workspaces/demo/execution/afm/execute/result/ae8c8407edfeb8eb491089afdb2c0d92723e3b14%3Afc2a71ab4fdcbfc9e80d264a9b7e5cae18f46beaf1ce91dc161198493e98b3d9?offset=0%2C0&limit=512%2C256
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- - - 9.0
- - - 2.0
- - - 18.0
- - - 1.0
- - - null
- - - 10.0
- - - null
- - - null
- - - null
- - - null
- - - 4.0
- - - null
- - - 5.0
- - - 3.0
- - - null
- - - 2.0
- - - 2.0
- - - 6.0
- - - 8.0
- - - null
- - - null
- - - 3.0
- - - null
- - - 3.0
- - - null
- - - null
- - - null
- - - 4.0
- - - null
- - - null
- - - 5.0
- - - 5.0
- - - null
- - - 5.0
- - - 1.0
- - - 17.0
- - - 6.0
- - - 5.0
- - - 10.0
- - - 3.0
- - - null
- - - null
- - - null
- - - 1.0
- - - null
- - - 4.0
- - - 8.0
- - - 6.0
- - - 4.0
- - - 5.0
- dimensionHeaders:
- - headerGroups:
- - headers:
- - attributeHeader:
- labelValue: 2022-11
- primaryLabelValue: 2022-11
- - attributeHeader:
- labelValue: 2022-12
- primaryLabelValue: 2022-12
- - attributeHeader:
- labelValue: 2023-01
- primaryLabelValue: 2023-01
- - attributeHeader:
- labelValue: 2023-02
- primaryLabelValue: 2023-02
- - attributeHeader:
- labelValue: 2023-03
- primaryLabelValue: 2023-03
- - attributeHeader:
- labelValue: 2023-04
- primaryLabelValue: 2023-04
- - attributeHeader:
- labelValue: 2023-05
- primaryLabelValue: 2023-05
- - attributeHeader:
- labelValue: 2023-06
- primaryLabelValue: 2023-06
- - attributeHeader:
- labelValue: 2023-07
- primaryLabelValue: 2023-07
- - attributeHeader:
- labelValue: 2023-08
- primaryLabelValue: 2023-08
- - attributeHeader:
- labelValue: 2023-09
- primaryLabelValue: 2023-09
- - attributeHeader:
- labelValue: 2023-10
- primaryLabelValue: 2023-10
- - attributeHeader:
- labelValue: 2023-11
- primaryLabelValue: 2023-11
- - attributeHeader:
- labelValue: 2023-12
- primaryLabelValue: 2023-12
- - attributeHeader:
- labelValue: 2024-01
- primaryLabelValue: 2024-01
- - attributeHeader:
- labelValue: 2024-02
- primaryLabelValue: 2024-02
- - attributeHeader:
- labelValue: 2024-03
- primaryLabelValue: 2024-03
- - attributeHeader:
- labelValue: 2024-04
- primaryLabelValue: 2024-04
- - attributeHeader:
- labelValue: 2024-05
- primaryLabelValue: 2024-05
- - attributeHeader:
- labelValue: 2024-06
- primaryLabelValue: 2024-06
- - attributeHeader:
- labelValue: 2024-07
- primaryLabelValue: 2024-07
- - attributeHeader:
- labelValue: 2024-08
- primaryLabelValue: 2024-08
- - attributeHeader:
- labelValue: 2024-09
- primaryLabelValue: 2024-09
- - attributeHeader:
- labelValue: 2024-10
- primaryLabelValue: 2024-10
- - attributeHeader:
- labelValue: 2024-11
- primaryLabelValue: 2024-11
- - attributeHeader:
- labelValue: 2024-12
- primaryLabelValue: 2024-12
- - attributeHeader:
- labelValue: 2025-01
- primaryLabelValue: 2025-01
- - attributeHeader:
- labelValue: 2025-02
- primaryLabelValue: 2025-02
- - attributeHeader:
- labelValue: 2025-03
- primaryLabelValue: 2025-03
- - attributeHeader:
- labelValue: 2025-04
- primaryLabelValue: 2025-04
- - attributeHeader:
- labelValue: 2025-05
- primaryLabelValue: 2025-05
- - attributeHeader:
- labelValue: 2025-06
- primaryLabelValue: 2025-06
- - attributeHeader:
- labelValue: 2025-07
- primaryLabelValue: 2025-07
- - attributeHeader:
- labelValue: 2025-08
- primaryLabelValue: 2025-08
- - attributeHeader:
- labelValue: 2025-09
- primaryLabelValue: 2025-09
- - attributeHeader:
- labelValue: 2025-10
- primaryLabelValue: 2025-10
- - attributeHeader:
- labelValue: 2025-11
- primaryLabelValue: 2025-11
- - attributeHeader:
- labelValue: 2025-12
- primaryLabelValue: 2025-12
- - attributeHeader:
- labelValue: 2026-01
- primaryLabelValue: 2026-01
- - attributeHeader:
- labelValue: 2026-02
- primaryLabelValue: 2026-02
- - attributeHeader:
- labelValue: 2026-03
- primaryLabelValue: 2026-03
- - attributeHeader:
- labelValue: 2026-04
- primaryLabelValue: 2026-04
- - attributeHeader:
- labelValue: 2026-05
- primaryLabelValue: 2026-05
- - attributeHeader:
- labelValue: 2026-06
- primaryLabelValue: 2026-06
- - attributeHeader:
- labelValue: 2026-07
- primaryLabelValue: 2026-07
- - attributeHeader:
- labelValue: 2026-08
- primaryLabelValue: 2026-08
- - attributeHeader:
- labelValue: 2026-09
- primaryLabelValue: 2026-09
- - attributeHeader:
- labelValue: 2026-10
- primaryLabelValue: 2026-10
- - attributeHeader:
- labelValue: 2026-11
- primaryLabelValue: 2026-11
- - attributeHeader:
- labelValue: 2026-12
- primaryLabelValue: 2026-12
- - headerGroups:
- - headers:
- - measureHeader:
- measureIndex: 0
- grandTotals: []
- paging:
- count:
- - 50
- - 1
- offset:
- - 0
- - 0
- total:
- - 50
- - 1
- metadata:
- dataSourceMessages: []
- - request:
- method: POST
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/actions/workspaces/demo/execution/afm/execute
- body:
- execution:
- attributes:
- - label:
- identifier:
- id: date.month
- type: label
- localIdentifier: attr1
- showAllValues: false
- filters:
- - positiveAttributeFilter:
- in:
- values:
- - Canceled
- label:
- identifier:
- id: order_status
- type: label
- measures:
- - definition:
- measure:
- item:
- identifier:
- id: quantity
- type: fact
- aggregation: SUM
- computeRatio: false
- filters: []
- localIdentifier: metric1
- resultSpec:
- dimensions:
- - itemIdentifiers:
- - attr1
- localIdentifier: dim_0
- - itemIdentifiers:
- - measureGroup
- localIdentifier: dim_1
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '678'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-CANCEL-TOKEN:
- - 980eb084-548a-4284-ad1d-f0be64503d1d
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- executionResponse:
- dimensions:
- - headers:
- - attributeHeader:
- localIdentifier: attr1
- 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
- format:
- locale: en-US
- pattern: MMM y
- timezone: Etc/UTC
- valueType: TEXT
- localIdentifier: dim_0
- - headers:
- - measureGroupHeaders:
- - localIdentifier: metric1
- localIdentifier: dim_1
- links:
- executionResult: aef6fd2660c240bb8411bd9bf1de1da042ac5971:e1ade985138e87d8d06e6df3cfe10a8bfc5ea3a3b722769073bc74cc7fbf39c5
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/actions/workspaces/demo/execution/afm/execute/result/aef6fd2660c240bb8411bd9bf1de1da042ac5971%3Ae1ade985138e87d8d06e6df3cfe10a8bfc5ea3a3b722769073bc74cc7fbf39c5?offset=0%2C0&limit=512%2C256
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Encoding:
- - br
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Transfer-Encoding:
- - chunked
- Vary:
- - Accept-Encoding
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- - - 9.0
- - - 2.0
- - - 18.0
- - - 1.0
- - - 10.0
- - - 4.0
- - - 5.0
- - - 3.0
- - - 2.0
- - - 2.0
- - - 6.0
- - - 8.0
- - - 3.0
- - - 3.0
- - - 4.0
- - - 5.0
- - - 5.0
- - - 5.0
- - - 1.0
- - - 17.0
- - - 6.0
- - - 5.0
- - - 10.0
- - - 3.0
- - - 1.0
- - - 4.0
- - - 8.0
- - - 6.0
- - - 4.0
- - - 5.0
- dimensionHeaders:
- - headerGroups:
- - headers:
- - attributeHeader:
- labelValue: 2022-11
- primaryLabelValue: 2022-11
- - attributeHeader:
- labelValue: 2022-12
- primaryLabelValue: 2022-12
- - attributeHeader:
- labelValue: 2023-01
- primaryLabelValue: 2023-01
- - attributeHeader:
- labelValue: 2023-02
- primaryLabelValue: 2023-02
- - attributeHeader:
- labelValue: 2023-04
- primaryLabelValue: 2023-04
- - attributeHeader:
- labelValue: 2023-09
- primaryLabelValue: 2023-09
- - attributeHeader:
- labelValue: 2023-11
- primaryLabelValue: 2023-11
- - attributeHeader:
- labelValue: 2023-12
- primaryLabelValue: 2023-12
- - attributeHeader:
- labelValue: 2024-02
- primaryLabelValue: 2024-02
- - attributeHeader:
- labelValue: 2024-03
- primaryLabelValue: 2024-03
- - attributeHeader:
- labelValue: 2024-04
- primaryLabelValue: 2024-04
- - attributeHeader:
- labelValue: 2024-05
- primaryLabelValue: 2024-05
- - attributeHeader:
- labelValue: 2024-08
- primaryLabelValue: 2024-08
- - attributeHeader:
- labelValue: 2024-10
- primaryLabelValue: 2024-10
- - attributeHeader:
- labelValue: 2025-02
- primaryLabelValue: 2025-02
- - attributeHeader:
- labelValue: 2025-05
- primaryLabelValue: 2025-05
- - attributeHeader:
- labelValue: 2025-06
- primaryLabelValue: 2025-06
- - attributeHeader:
- labelValue: 2025-08
- primaryLabelValue: 2025-08
- - attributeHeader:
- labelValue: 2025-09
- primaryLabelValue: 2025-09
- - attributeHeader:
- labelValue: 2025-10
- primaryLabelValue: 2025-10
- - attributeHeader:
- labelValue: 2025-11
- primaryLabelValue: 2025-11
- - attributeHeader:
- labelValue: 2025-12
- primaryLabelValue: 2025-12
- - attributeHeader:
- labelValue: 2026-01
- primaryLabelValue: 2026-01
- - attributeHeader:
- labelValue: 2026-02
- primaryLabelValue: 2026-02
- - attributeHeader:
- labelValue: 2026-06
- primaryLabelValue: 2026-06
- - attributeHeader:
- labelValue: 2026-08
- primaryLabelValue: 2026-08
- - attributeHeader:
- labelValue: 2026-09
- primaryLabelValue: 2026-09
- - attributeHeader:
- labelValue: 2026-10
- primaryLabelValue: 2026-10
- - attributeHeader:
- labelValue: 2026-11
- primaryLabelValue: 2026-11
- - attributeHeader:
- labelValue: 2026-12
- primaryLabelValue: 2026-12
- - headerGroups:
- - headers:
- - measureHeader:
- measureIndex: 0
- grandTotals: []
- paging:
- count:
- - 30
- - 1
- offset:
- - 0
- - 0
- total:
- - 30
- - 1
- metadata:
- dataSourceMessages: []
diff --git a/packages/gooddata-sdk/tests/table/fixtures/table_with_just_attribute.yaml b/packages/gooddata-sdk/tests/table/fixtures/table_with_just_attribute.yaml
deleted file mode 100644
index d2ccf90fe..000000000
--- a/packages/gooddata-sdk/tests/table/fixtures/table_with_just_attribute.yaml
+++ /dev/null
@@ -1,164 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: POST
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/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
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '478'
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-CANCEL-TOKEN:
- - fbf40767-c244-44a1-8617-e87f5e8eaad7
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- 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
- valueType: TEXT
- localIdentifier: dim_0
- links:
- executionResult: 920f6a9f2d99c83e297c73d7ebe2b2c6e2bc1299:44886e2a7e4eb3098069908656e95c3e87ea63d7b566335fbde0b8f6617714f5
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/actions/workspaces/demo/execution/afm/execute/result/920f6a9f2d99c83e297c73d7ebe2b2c6e2bc1299%3A44886e2a7e4eb3098069908656e95c3e87ea63d7b566335fbde0b8f6617714f5?offset=0&limit=512
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '536'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- 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
- metadata:
- dataSourceMessages: []
diff --git a/packages/gooddata-sdk/tests/table/fixtures/table_with_just_metric.yaml b/packages/gooddata-sdk/tests/table/fixtures/table_with_just_metric.yaml
deleted file mode 100644
index 73ae3663e..000000000
--- a/packages/gooddata-sdk/tests/table/fixtures/table_with_just_metric.yaml
+++ /dev/null
@@ -1,145 +0,0 @@
-# (C) 2026 GoodData Corporation
-version: 1
-interactions:
- - request:
- method: POST
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/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
- Accept-Encoding:
- - br, gzip, deflate
- Content-Type:
- - application/json
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '310'
- Content-Type:
- - application/json
- DATE: &id001
- - PLACEHOLDER
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-CANCEL-TOKEN:
- - 772ed5c6-3bd2-4cb0-81ad-1c9a555afac9
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- executionResponse:
- dimensions:
- - headers:
- - measureGroupHeaders:
- - localIdentifier: metric1
- format: $#,##0
- name: Order Amount
- localIdentifier: dim_0
- links:
- executionResult: 6e7ecd5977fbef159d8ffc585a4c99c2b87d0d07:64a364287032033653002d8e0bad0d17eaa70a7b08263de27c3a7f9a68634897
- - request:
- method: GET
- uri: https://python-sdk-dex.dev-latest.stg11.panther.intgdc.com/api/v1/actions/workspaces/demo/execution/afm/execute/result/6e7ecd5977fbef159d8ffc585a4c99c2b87d0d07%3A64a364287032033653002d8e0bad0d17eaa70a7b08263de27c3a7f9a68634897?offset=0&limit=256
- body: null
- headers:
- Accept:
- - application/json
- Accept-Encoding:
- - br, gzip, deflate
- X-GDC-VALIDATE-RELATIONS:
- - 'true'
- X-Requested-With:
- - XMLHttpRequest
- response:
- status:
- code: 200
- message: OK
- headers:
- Cache-Control:
- - no-cache, no-store, max-age=0, must-revalidate
- Connection:
- - keep-alive
- Content-Length:
- - '213'
- Content-Type:
- - application/json
- DATE: *id001
- Expires:
- - '0'
- Pragma:
- - no-cache
- Referrer-Policy:
- - no-referrer
- Strict-Transport-Security:
- - max-age=63072000; includeSubDomains
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
- X-Content-Type-Options:
- - nosniff
- X-GDC-TRACE-ID: *id001
- X-XSS-Protection:
- - '0'
- body:
- string:
- data:
- - 516058.34
- dimensionHeaders:
- - headerGroups:
- - headers:
- - measureHeader:
- measureIndex: 0
- grandTotals: []
- paging:
- count:
- - 1
- offset:
- - 0
- total:
- - 1
- metadata:
- dataSourceMessages: []
diff --git a/schemas/gooddata-afm-client.json b/schemas/gooddata-afm-client.json
index 739dbea47..ea7042928 100644
--- a/schemas/gooddata-afm-client.json
+++ b/schemas/gooddata-afm-client.json
@@ -140,6 +140,7 @@
"properties": {
"resultIdToCancelTokenPairs": {
"additionalProperties": {
+ "description": "resultId to cancel token pairs",
"type": "string"
},
"description": "resultId to cancel token pairs",
@@ -441,6 +442,31 @@
],
"type": "object"
},
+ "AiUsageMetadataItem": {
+ "description": "AI usage metadata returned after the interaction (e.g. current query count vs. entitlement limit).",
+ "properties": {
+ "counterType": {
+ "description": "Type of usage counter, e.g. AI_QUERIES.",
+ "type": "string"
+ },
+ "currentValue": {
+ "description": "Current usage value after this request.",
+ "format": "int64",
+ "type": "integer"
+ },
+ "limit": {
+ "description": "Entitlement limit. 0 means unlimited.",
+ "format": "int64",
+ "type": "integer"
+ }
+ },
+ "required": [
+ "counterType",
+ "currentValue",
+ "limit"
+ ],
+ "type": "object"
+ },
"AllTimeDateFilter": {
"description": "An all-time date filter that does not restrict by date range. Controls how rows with empty (null/missing) date values are handled.",
"properties": {
@@ -1572,6 +1598,13 @@
"$ref": "#/components/schemas/ToolCallEventResult"
},
"type": "array"
+ },
+ "usage": {
+ "description": "AI usage metadata returned after the interaction (e.g. current query count vs. entitlement limit).",
+ "items": {
+ "$ref": "#/components/schemas/AiUsageMetadataItem"
+ },
+ "type": "array"
}
},
"type": "object"
@@ -1832,61 +1865,6 @@
],
"type": "object"
},
- "CreateKnowledgeDocumentRequestDto": {
- "properties": {
- "content": {
- "type": "string"
- },
- "filename": {
- "type": "string"
- },
- "pageBoundaries": {
- "items": {
- "format": "int32",
- "type": "integer"
- },
- "type": "array"
- },
- "scopes": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "title": {
- "type": "string"
- }
- },
- "required": [
- "content",
- "filename"
- ],
- "type": "object"
- },
- "CreateKnowledgeDocumentResponseDto": {
- "properties": {
- "filename": {
- "type": "string"
- },
- "message": {
- "type": "string"
- },
- "numChunks": {
- "format": "int32",
- "type": "integer"
- },
- "success": {
- "type": "boolean"
- }
- },
- "required": [
- "filename",
- "message",
- "numChunks",
- "success"
- ],
- "type": "object"
- },
"CreatedVisualization": {
"description": "List of created visualization objects",
"properties": {
@@ -2198,21 +2176,6 @@
],
"type": "object"
},
- "DeleteKnowledgeDocumentResponseDto": {
- "properties": {
- "message": {
- "type": "string"
- },
- "success": {
- "type": "boolean"
- }
- },
- "required": [
- "message",
- "success"
- ],
- "type": "object"
- },
"DependsOn": {
"allOf": [
{
@@ -3184,6 +3147,13 @@
"InsightWidgetDescriptor": {
"description": "Insight widget displaying a visualization.",
"properties": {
+ "filters": {
+ "description": "Filters currently applied to the dashboard.",
+ "items": {
+ "$ref": "#/components/schemas/FilterDefinition"
+ },
+ "type": "array"
+ },
"resultId": {
"description": "Signed result ID for this widget's cached execution result.",
"type": "string"
@@ -3333,105 +3303,6 @@
],
"type": "object"
},
- "KnowledgeDocumentMetadataDto": {
- "properties": {
- "createdAt": {
- "type": "string"
- },
- "createdBy": {
- "type": "string"
- },
- "filename": {
- "type": "string"
- },
- "isDisabled": {
- "type": "boolean"
- },
- "numChunks": {
- "format": "int32",
- "type": "integer"
- },
- "scopes": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "title": {
- "type": "string"
- },
- "updatedAt": {
- "type": "string"
- },
- "updatedBy": {
- "type": "string"
- },
- "workspaceId": {
- "type": "string"
- }
- },
- "required": [
- "createdAt",
- "createdBy",
- "filename",
- "numChunks",
- "scopes",
- "updatedAt",
- "updatedBy"
- ],
- "type": "object"
- },
- "KnowledgeSearchResultDto": {
- "properties": {
- "chunkIndex": {
- "format": "int32",
- "type": "integer"
- },
- "content": {
- "type": "string"
- },
- "filename": {
- "type": "string"
- },
- "pageNumbers": {
- "items": {
- "format": "int32",
- "type": "integer"
- },
- "type": "array"
- },
- "scopes": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "score": {
- "format": "float",
- "type": "number"
- },
- "title": {
- "type": "string"
- },
- "totalChunks": {
- "format": "int32",
- "type": "integer"
- },
- "workspaceId": {
- "type": "string"
- }
- },
- "required": [
- "chunkIndex",
- "content",
- "filename",
- "pageNumbers",
- "scopes",
- "score",
- "totalChunks"
- ],
- "type": "object"
- },
"ListDatabaseInstancesResponse": {
"description": "Paged response for listing AI Lake database instances",
"properties": {
@@ -3453,27 +3324,6 @@
],
"type": "object"
},
- "ListKnowledgeDocumentsResponseDto": {
- "properties": {
- "documents": {
- "items": {
- "$ref": "#/components/schemas/KnowledgeDocumentMetadataDto"
- },
- "type": "array"
- },
- "nextPageToken": {
- "type": "string"
- },
- "totalCount": {
- "format": "int32",
- "type": "integer"
- }
- },
- "required": [
- "documents"
- ],
- "type": "object"
- },
"ListLlmProviderModelsRequest": {
"properties": {
"providerConfig": {
@@ -4112,7 +3962,7 @@
"type": "string"
},
"kind": {
- "description": "Type of the long-running operation.\n* `provision-database` — Provisioning of an AI Lake database.\n* `deprovision-database` — Deprovisioning (deletion) of an AI Lake database.\n* `run-service-command` — Running a command in a particular AI Lake service.\n",
+ "description": "Type of the long-running operation.\n* `provision-database` \u2014 Provisioning of an AI Lake database.\n* `deprovision-database` \u2014 Deprovisioning (deletion) of an AI Lake database.\n* `run-service-command` \u2014 Running a command in a particular AI Lake service.\n",
"enum": [
"provision-database",
"deprovision-database",
@@ -4303,23 +4153,6 @@
],
"type": "object"
},
- "PatchKnowledgeDocumentRequestDto": {
- "properties": {
- "isDisabled": {
- "type": "boolean"
- },
- "scopes": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "title": {
- "type": "string"
- }
- },
- "type": "object"
- },
"PendingOperation": {
"allOf": [
{
@@ -5074,6 +4907,13 @@
"RichTextWidgetDescriptor": {
"description": "Rich text widget displaying static content. Has no execution result.",
"properties": {
+ "filters": {
+ "description": "Filters currently applied to the dashboard.",
+ "items": {
+ "$ref": "#/components/schemas/FilterDefinition"
+ },
+ "type": "array"
+ },
"title": {
"description": "Widget title as displayed on the dashboard.",
"type": "string"
@@ -5154,24 +4994,6 @@
],
"type": "object"
},
- "SearchKnowledgeResponseDto": {
- "properties": {
- "results": {
- "items": {
- "$ref": "#/components/schemas/KnowledgeSearchResultDto"
- },
- "type": "array"
- },
- "statistics": {
- "$ref": "#/components/schemas/SearchStatisticsDto"
- }
- },
- "required": [
- "results",
- "statistics"
- ],
- "type": "object"
- },
"SearchRelationshipObject": {
"properties": {
"sourceObjectId": {
@@ -5409,23 +5231,6 @@
],
"type": "object"
},
- "SearchStatisticsDto": {
- "properties": {
- "averageSimilarityScore": {
- "format": "float",
- "type": "number"
- },
- "totalResults": {
- "format": "int32",
- "type": "integer"
- }
- },
- "required": [
- "averageSimilarityScore",
- "totalResults"
- ],
- "type": "object"
- },
"ServerSentEventChatResult": {
"type": "object"
},
@@ -6007,90 +5812,35 @@
"Unit": {
"type": "object"
},
- "UpsertKnowledgeDocumentRequestDto": {
+ "UserContext": {
+ "description": "User context with ambient UI state (view) and explicitly referenced objects.",
"properties": {
- "content": {
- "type": "string"
- },
- "filename": {
- "type": "string"
- },
- "pageBoundaries": {
- "items": {
- "format": "int32",
- "type": "integer"
- },
- "type": "array"
+ "activeObject": {
+ "$ref": "#/components/schemas/ActiveObjectIdentification"
},
- "scopes": {
+ "referencedObjects": {
+ "description": "Groups of explicitly referenced objects, each optionally scoped by a context (e.g. a dashboard context with widget references).",
"items": {
- "type": "string"
+ "$ref": "#/components/schemas/ObjectReferenceGroup"
},
"type": "array"
},
- "title": {
- "type": "string"
+ "view": {
+ "$ref": "#/components/schemas/UIContext"
}
},
- "required": [
- "content",
- "filename"
- ],
"type": "object"
},
- "UpsertKnowledgeDocumentResponseDto": {
+ "ValidateByItem": {
+ "nullable": true,
"properties": {
- "filename": {
+ "id": {
+ "description": "Specifies entity used for valid elements computation.",
"type": "string"
},
- "message": {
- "type": "string"
- },
- "numChunks": {
- "format": "int32",
- "type": "integer"
- },
- "success": {
- "type": "boolean"
- }
- },
- "required": [
- "filename",
- "message",
- "numChunks",
- "success"
- ],
- "type": "object"
- },
- "UserContext": {
- "description": "User context with ambient UI state (view) and explicitly referenced objects.",
- "properties": {
- "activeObject": {
- "$ref": "#/components/schemas/ActiveObjectIdentification"
- },
- "referencedObjects": {
- "description": "Groups of explicitly referenced objects, each optionally scoped by a context (e.g. a dashboard context with widget references).",
- "items": {
- "$ref": "#/components/schemas/ObjectReferenceGroup"
- },
- "type": "array"
- },
- "view": {
- "$ref": "#/components/schemas/UIContext"
- }
- },
- "type": "object"
- },
- "ValidateByItem": {
- "nullable": true,
- "properties": {
- "id": {
- "description": "Specifies entity used for valid elements computation.",
- "type": "string"
- },
- "type": {
- "description": "Specifies entity type which could be label, attribute, fact, or metric.",
- "pattern": "^(label)|(attribute)|(fact)|(metric)$",
+ "type": {
+ "description": "Specifies entity type which could be label, attribute, fact, or metric.",
+ "pattern": "^(label)|(attribute)|(fact)|(metric)$",
"type": "string"
}
},
@@ -6196,6 +5946,13 @@
"description": "ID of the currently active visualization in the switcher.",
"type": "string"
},
+ "filters": {
+ "description": "Filters currently applied to the dashboard.",
+ "items": {
+ "$ref": "#/components/schemas/FilterDefinition"
+ },
+ "type": "array"
+ },
"resultId": {
"description": "Signed result ID for the currently active visualization's execution result.",
"type": "string"
@@ -6300,6 +6057,22 @@
"propertyName": "widgetType"
},
"properties": {
+ "filters": {
+ "items": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/AbstractMeasureValueFilter"
+ },
+ {
+ "$ref": "#/components/schemas/FilterDefinitionForSimpleMeasure"
+ },
+ {
+ "$ref": "#/components/schemas/InlineFilterDefinition"
+ }
+ ]
+ },
+ "type": "array"
+ },
"title": {
"type": "string"
},
@@ -6316,79 +6089,6 @@
"widgetType"
],
"type": "object"
- },
- "WorkflowDashboardSummaryRequestDto": {
- "properties": {
- "customUserPrompt": {
- "type": "string"
- },
- "dashboardId": {
- "type": "string"
- },
- "keyMetricIds": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "referenceQuarter": {
- "type": "string"
- }
- },
- "required": [
- "dashboardId"
- ],
- "type": "object"
- },
- "WorkflowDashboardSummaryResponseDto": {
- "properties": {
- "message": {
- "type": "string"
- },
- "runId": {
- "type": "string"
- },
- "status": {
- "type": "string"
- }
- },
- "required": [
- "message",
- "runId",
- "status"
- ],
- "type": "object"
- },
- "WorkflowStatusResponseDto": {
- "properties": {
- "currentPhase": {
- "type": "string"
- },
- "error": {
- "type": "string"
- },
- "message": {
- "type": "string"
- },
- "result": {
- "additionalProperties": {
- "type": "object"
- },
- "type": "object"
- },
- "runId": {
- "type": "string"
- },
- "status": {
- "type": "string"
- }
- },
- "required": [
- "message",
- "runId",
- "status"
- ],
- "type": "object"
}
}
},
@@ -7097,9 +6797,10 @@
]
}
},
- "/api/v1/actions/workspaces/{workspaceId}/ai/knowledge/documents": {
+ "/api/v1/actions/workspaces/{workspaceId}/ai/memory/createdBy": {
"get": {
- "operationId": "listDocuments",
+ "description": "Returns a list of Users who created any memory item for this workspace",
+ "operationId": "memoryCreatedByUsers",
"parameters": [
{
"description": "Workspace identifier",
@@ -7110,59 +6811,6 @@
"pattern": "^(?!\\.)[.A-Za-z0-9_-]{1,255}$",
"type": "string"
}
- },
- {
- "in": "query",
- "name": "scopes",
- "required": false,
- "schema": {
- "items": {
- "type": "string"
- },
- "type": "array"
- }
- },
- {
- "in": "query",
- "name": "size",
- "required": false,
- "schema": {
- "default": 50,
- "format": "int32",
- "type": "integer"
- }
- },
- {
- "in": "query",
- "name": "pageToken",
- "required": false,
- "schema": {
- "type": "string"
- }
- },
- {
- "in": "query",
- "name": "metaInclude",
- "required": false,
- "schema": {
- "type": "string"
- }
- },
- {
- "in": "query",
- "name": "state",
- "required": false,
- "schema": {
- "type": "string"
- }
- },
- {
- "in": "query",
- "name": "query",
- "required": false,
- "schema": {
- "type": "string"
- }
}
],
"responses": {
@@ -7170,19 +6818,25 @@
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/ListKnowledgeDocumentsResponseDto"
+ "$ref": "#/components/schemas/MemoryItemCreatedByUsers"
}
}
},
"description": "OK"
}
},
+ "summary": "Get AI Memory CreatedBy Users",
"tags": [
+ "Smart Functions",
"actions"
]
- },
- "post": {
- "operationId": "createDocument",
+ }
+ },
+ "/api/v1/actions/workspaces/{workspaceId}/ai/resolveLlmEndpoints": {
+ "get": {
+ "deprecated": true,
+ "description": "Will be soon removed and replaced by LlmProvider-based resolution.",
+ "operationId": "resolveLlmEndpoints",
"parameters": [
{
"description": "Workspace identifier",
@@ -7195,34 +6849,29 @@
}
}
],
- "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/CreateKnowledgeDocumentRequestDto"
- }
- }
- },
- "required": true
- },
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/CreateKnowledgeDocumentResponseDto"
+ "$ref": "#/components/schemas/ResolvedLlmEndpoints"
}
}
},
"description": "OK"
}
},
+ "summary": "Get Active LLM Endpoints for this workspace",
"tags": [
+ "Smart Functions",
"actions"
]
- },
- "put": {
- "operationId": "upsertDocument",
+ }
+ },
+ "/api/v1/actions/workspaces/{workspaceId}/ai/resolveLlmProviders": {
+ "get": {
+ "description": "Resolves the active LLM configuration for the given workspace. When the ENABLE_LLM_ENDPOINT_REPLACEMENT feature flag is enabled, returns LLM Providers with their associated models. Otherwise, falls back to the legacy LLM Endpoints.",
+ "operationId": "resolveLlmProviders",
"parameters": [
{
"description": "Workspace identifier",
@@ -7235,36 +6884,29 @@
}
}
],
- "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/UpsertKnowledgeDocumentRequestDto"
- }
- }
- },
- "required": true
- },
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/UpsertKnowledgeDocumentResponseDto"
+ "$ref": "#/components/schemas/ResolvedLlms"
}
}
},
"description": "OK"
}
},
+ "summary": "Get Active LLM configuration for this workspace",
"tags": [
+ "Smart Functions",
"actions"
]
}
},
- "/api/v1/actions/workspaces/{workspaceId}/ai/knowledge/documents/{filename}": {
- "delete": {
- "operationId": "deleteDocument",
+ "/api/v1/actions/workspaces/{workspaceId}/ai/search": {
+ "post": {
+ "description": "(BETA) Uses similarity (e.g. cosine distance) search to find top X most similar metadata objects.",
+ "operationId": "aiSearch",
"parameters": [
{
"description": "Workspace identifier",
@@ -7275,466 +6917,37 @@
"pattern": "^(?!\\.)[.A-Za-z0-9_-]{1,255}$",
"type": "string"
}
- },
- {
- "in": "path",
- "name": "filename",
- "required": true,
- "schema": {
- "type": "string"
- }
}
],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SearchRequest"
+ }
+ }
+ },
+ "required": true
+ },
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/DeleteKnowledgeDocumentResponseDto"
+ "$ref": "#/components/schemas/SearchResult"
}
}
},
"description": "OK"
}
},
- "tags": [
- "actions"
- ]
- },
- "get": {
- "operationId": "getDocument",
- "parameters": [
- {
- "description": "Workspace identifier",
- "in": "path",
- "name": "workspaceId",
- "required": true,
- "schema": {
- "pattern": "^(?!\\.)[.A-Za-z0-9_-]{1,255}$",
- "type": "string"
- }
- },
- {
- "in": "path",
- "name": "filename",
- "required": true,
- "schema": {
- "type": "string"
- }
- }
- ],
- "responses": {
- "200": {
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/KnowledgeDocumentMetadataDto"
- }
- }
- },
- "description": "OK"
- }
- },
- "tags": [
- "actions"
- ]
- },
- "patch": {
- "operationId": "patchDocument",
- "parameters": [
- {
- "description": "Workspace identifier",
- "in": "path",
- "name": "workspaceId",
- "required": true,
- "schema": {
- "pattern": "^(?!\\.)[.A-Za-z0-9_-]{1,255}$",
- "type": "string"
- }
- },
- {
- "in": "path",
- "name": "filename",
- "required": true,
- "schema": {
- "type": "string"
- }
- }
- ],
- "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/PatchKnowledgeDocumentRequestDto"
- }
- }
- },
- "required": true
- },
- "responses": {
- "200": {
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/KnowledgeDocumentMetadataDto"
- }
- }
- },
- "description": "OK"
- }
- },
- "tags": [
- "actions"
- ]
- }
- },
- "/api/v1/actions/workspaces/{workspaceId}/ai/knowledge/search": {
- "get": {
- "operationId": "searchKnowledge",
- "parameters": [
- {
- "description": "Workspace identifier",
- "in": "path",
- "name": "workspaceId",
- "required": true,
- "schema": {
- "pattern": "^(?!\\.)[.A-Za-z0-9_-]{1,255}$",
- "type": "string"
- }
- },
- {
- "in": "query",
- "name": "query",
- "required": true,
- "schema": {
- "type": "string"
- }
- },
- {
- "in": "query",
- "name": "limit",
- "required": false,
- "schema": {
- "default": 10,
- "format": "int32",
- "type": "integer"
- }
- },
- {
- "in": "query",
- "name": "minScore",
- "required": false,
- "schema": {
- "default": 0.0,
- "format": "double",
- "type": "number"
- }
- },
- {
- "in": "query",
- "name": "scopes",
- "required": false,
- "schema": {
- "items": {
- "type": "string"
- },
- "type": "array"
- }
- }
- ],
- "responses": {
- "200": {
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/SearchKnowledgeResponseDto"
- }
- }
- },
- "description": "OK"
- }
- },
- "tags": [
- "actions"
- ]
- }
- },
- "/api/v1/actions/workspaces/{workspaceId}/ai/memory/createdBy": {
- "get": {
- "description": "Returns a list of Users who created any memory item for this workspace",
- "operationId": "memoryCreatedByUsers",
- "parameters": [
- {
- "description": "Workspace identifier",
- "in": "path",
- "name": "workspaceId",
- "required": true,
- "schema": {
- "pattern": "^(?!\\.)[.A-Za-z0-9_-]{1,255}$",
- "type": "string"
- }
- }
- ],
- "responses": {
- "200": {
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/MemoryItemCreatedByUsers"
- }
- }
- },
- "description": "OK"
- }
- },
- "summary": "Get AI Memory CreatedBy Users",
- "tags": [
- "Smart Functions",
- "actions"
- ]
- }
- },
- "/api/v1/actions/workspaces/{workspaceId}/ai/resolveLlmEndpoints": {
- "get": {
- "deprecated": true,
- "description": "Will be soon removed and replaced by LlmProvider-based resolution.",
- "operationId": "resolveLlmEndpoints",
- "parameters": [
- {
- "description": "Workspace identifier",
- "in": "path",
- "name": "workspaceId",
- "required": true,
- "schema": {
- "pattern": "^(?!\\.)[.A-Za-z0-9_-]{1,255}$",
- "type": "string"
- }
- }
- ],
- "responses": {
- "200": {
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResolvedLlmEndpoints"
- }
- }
- },
- "description": "OK"
- }
- },
- "summary": "Get Active LLM Endpoints for this workspace",
+ "summary": "(BETA) Semantic Search in Metadata",
"tags": [
"Smart Functions",
"actions"
]
}
},
- "/api/v1/actions/workspaces/{workspaceId}/ai/resolveLlmProviders": {
- "get": {
- "description": "Resolves the active LLM configuration for the given workspace. When the ENABLE_LLM_ENDPOINT_REPLACEMENT feature flag is enabled, returns LLM Providers with their associated models. Otherwise, falls back to the legacy LLM Endpoints.",
- "operationId": "resolveLlmProviders",
- "parameters": [
- {
- "description": "Workspace identifier",
- "in": "path",
- "name": "workspaceId",
- "required": true,
- "schema": {
- "pattern": "^(?!\\.)[.A-Za-z0-9_-]{1,255}$",
- "type": "string"
- }
- }
- ],
- "responses": {
- "200": {
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResolvedLlms"
- }
- }
- },
- "description": "OK"
- }
- },
- "summary": "Get Active LLM configuration for this workspace",
- "tags": [
- "Smart Functions",
- "actions"
- ]
- }
- },
- "/api/v1/actions/workspaces/{workspaceId}/ai/search": {
- "post": {
- "description": "(BETA) Uses similarity (e.g. cosine distance) search to find top X most similar metadata objects.",
- "operationId": "aiSearch",
- "parameters": [
- {
- "description": "Workspace identifier",
- "in": "path",
- "name": "workspaceId",
- "required": true,
- "schema": {
- "pattern": "^(?!\\.)[.A-Za-z0-9_-]{1,255}$",
- "type": "string"
- }
- }
- ],
- "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/SearchRequest"
- }
- }
- },
- "required": true
- },
- "responses": {
- "200": {
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/SearchResult"
- }
- }
- },
- "description": "OK"
- }
- },
- "summary": "(BETA) Semantic Search in Metadata",
- "tags": [
- "Smart Functions",
- "actions"
- ]
- }
- },
- "/api/v1/actions/workspaces/{workspaceId}/ai/workflow/dashboardSummary": {
- "post": {
- "operationId": "generateDashboardSummary",
- "parameters": [
- {
- "description": "Workspace identifier",
- "in": "path",
- "name": "workspaceId",
- "required": true,
- "schema": {
- "pattern": "^(?!\\.)[.A-Za-z0-9_-]{1,255}$",
- "type": "string"
- }
- }
- ],
- "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/WorkflowDashboardSummaryRequestDto"
- }
- }
- },
- "required": true
- },
- "responses": {
- "200": {
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/WorkflowDashboardSummaryResponseDto"
- }
- }
- },
- "description": "OK"
- }
- },
- "tags": [
- "actions"
- ]
- }
- },
- "/api/v1/actions/workspaces/{workspaceId}/ai/workflow/{runId}/cancel": {
- "post": {
- "operationId": "cancelWorkflow",
- "parameters": [
- {
- "description": "Workspace identifier",
- "in": "path",
- "name": "workspaceId",
- "required": true,
- "schema": {
- "pattern": "^(?!\\.)[.A-Za-z0-9_-]{1,255}$",
- "type": "string"
- }
- },
- {
- "in": "path",
- "name": "runId",
- "required": true,
- "schema": {
- "type": "string"
- }
- }
- ],
- "responses": {
- "200": {
- "content": {
- "application/json": {
- "schema": {
- "additionalProperties": {
- "type": "string"
- },
- "type": "object"
- }
- }
- },
- "description": "OK"
- }
- },
- "tags": [
- "actions"
- ]
- }
- },
- "/api/v1/actions/workspaces/{workspaceId}/ai/workflow/{runId}/status": {
- "get": {
- "operationId": "getWorkflowStatus",
- "parameters": [
- {
- "description": "Workspace identifier",
- "in": "path",
- "name": "workspaceId",
- "required": true,
- "schema": {
- "pattern": "^(?!\\.)[.A-Za-z0-9_-]{1,255}$",
- "type": "string"
- }
- },
- {
- "in": "path",
- "name": "runId",
- "required": true,
- "schema": {
- "type": "string"
- }
- }
- ],
- "responses": {
- "200": {
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/WorkflowStatusResponseDto"
- }
- }
- },
- "description": "OK"
- }
- },
- "tags": [
- "actions"
- ]
- }
- },
"/api/v1/actions/workspaces/{workspaceId}/execution/afm/cancel": {
"post": {
"description": "Each cancel token corresponds to one unique execution request for the same result id. If all cancel tokens for the same result id are applied, the execution for this result id is cancelled.",
diff --git a/schemas/gooddata-automation-client.json b/schemas/gooddata-automation-client.json
index 8f0e0a49c..3ff5b8566 100644
--- a/schemas/gooddata-automation-client.json
+++ b/schemas/gooddata-automation-client.json
@@ -683,7 +683,7 @@
"$ref": "#/components/schemas/LocalIdentifier"
},
"operator": {
- "description": "Arithmetic operator.\nDIFFERENCE - m₁−m₂ - the difference between two metrics.\nCHANGE - (m₁−m₂)÷m₂ - the relative difference between two metrics.\n",
+ "description": "Arithmetic operator.\nDIFFERENCE - m\u2081\u2212m\u2082 - the difference between two metrics.\nCHANGE - (m\u2081\u2212m\u2082)\u00f7m\u2082 - the relative difference between two metrics.\n",
"enum": [
"DIFFERENCE",
"CHANGE"
@@ -956,7 +956,6 @@
"type": "object"
},
"AutomationMetadata": {
- "additionalProperties": true,
"description": "Additional information for the automation.",
"maxLength": 250000,
"nullable": true,
@@ -1524,7 +1523,7 @@
"properties": {
"exportInfo": {
"default": false,
- "description": "If true, the export will contain the information about the export – exported date, dashboard filters, etc.",
+ "description": "If true, the export will contain the information about the export \u2013 exported date, dashboard filters, etc.",
"example": true,
"type": "boolean"
},
@@ -3099,7 +3098,7 @@
},
"exportInfo": {
"default": false,
- "description": "If true, the export will contain the information about the export – exported date, filters, etc. Works only with `visualizationObject`. (XLSX, PDF)",
+ "description": "If true, the export will contain the information about the export \u2013 exported date, filters, etc. Works only with `visualizationObject`. (XLSX, PDF)",
"example": true,
"type": "boolean"
},
diff --git a/schemas/gooddata-export-client.json b/schemas/gooddata-export-client.json
index 907756e8f..fc209bca0 100644
--- a/schemas/gooddata-export-client.json
+++ b/schemas/gooddata-export-client.json
@@ -977,7 +977,7 @@
"properties": {
"exportInfo": {
"default": false,
- "description": "If true, the export will contain the information about the export – exported date, dashboard filters, etc.",
+ "description": "If true, the export will contain the information about the export \u2013 exported date, dashboard filters, etc.",
"example": true,
"type": "boolean"
},
@@ -2119,7 +2119,7 @@
},
"exportInfo": {
"default": false,
- "description": "If true, the export will contain the information about the export – exported date, filters, etc. Works only with `visualizationObject`. (XLSX, PDF)",
+ "description": "If true, the export will contain the information about the export \u2013 exported date, filters, etc. Works only with `visualizationObject`. (XLSX, PDF)",
"example": true,
"type": "boolean"
},
diff --git a/schemas/gooddata-metadata-client.json b/schemas/gooddata-metadata-client.json
index d39c95dd7..85a7d0f5b 100644
--- a/schemas/gooddata-metadata-client.json
+++ b/schemas/gooddata-metadata-client.json
@@ -4919,7 +4919,11 @@
"FederatedIdentityManagement",
"AuditLogging",
"ControlledFeatureRollout",
- "AiLake"
+ "AiLake",
+ "AiModule",
+ "AiQueryLimit",
+ "AiKnowledgeStorageLimit",
+ "AiAgentLimit"
],
"type": "string"
},
@@ -4938,7 +4942,7 @@
"$ref": "#/components/schemas/LocalIdentifier"
},
"operator": {
- "description": "Arithmetic operator.\nDIFFERENCE - m₁−m₂ - the difference between two metrics.\nCHANGE - (m₁−m₂)÷m₂ - the relative difference between two metrics.\n",
+ "description": "Arithmetic operator.\nDIFFERENCE - m\u2081\u2212m\u2082 - the difference between two metrics.\nCHANGE - (m\u2081\u2212m\u2082)\u00f7m\u2082 - the relative difference between two metrics.\n",
"enum": [
"DIFFERENCE",
"CHANGE"
@@ -6081,7 +6085,7 @@
"properties": {
"exportInfo": {
"default": false,
- "description": "If true, the export will contain the information about the export – exported date, dashboard filters, etc.",
+ "description": "If true, the export will contain the information about the export \u2013 exported date, dashboard filters, etc.",
"example": true,
"type": "boolean"
},
@@ -10247,7 +10251,11 @@
"FederatedIdentityManagement",
"AuditLogging",
"ControlledFeatureRollout",
- "AiLake"
+ "AiLake",
+ "AiModule",
+ "AiQueryLimit",
+ "AiKnowledgeStorageLimit",
+ "AiAgentLimit"
],
"type": "string"
},
@@ -19479,7 +19487,7 @@
},
"analyzedValue": {
"description": "Metric value in the analyzed period (the observed value that triggered the anomaly)",
- "example": 2.6E+9
+ "example": 2600000000.0
},
"areRelationsValid": {
"type": "boolean"
@@ -19531,7 +19539,7 @@
},
"referenceValue": {
"description": "Metric value in the reference period",
- "example": 2.4E+9
+ "example": 2400000000.0
},
"sourceCount": {
"description": "Number of source documents used for generation",
@@ -19653,7 +19661,7 @@
},
"analyzedValue": {
"description": "Metric value in the analyzed period (the observed value that triggered the anomaly)",
- "example": 2.6E+9
+ "example": 2600000000.0
},
"areRelationsValid": {
"type": "boolean"
@@ -19709,7 +19717,7 @@
},
"referenceValue": {
"description": "Metric value in the reference period",
- "example": 2.4E+9
+ "example": 2400000000.0
},
"sourceCount": {
"description": "Number of source documents used for generation",
@@ -19919,7 +19927,7 @@
},
"analyzedValue": {
"description": "Metric value in the analyzed period (the observed value that triggered the anomaly)",
- "example": 2.6E+9
+ "example": 2600000000.0
},
"areRelationsValid": {
"type": "boolean"
@@ -19971,7 +19979,7 @@
},
"referenceValue": {
"description": "Metric value in the reference period",
- "example": 2.4E+9
+ "example": 2400000000.0
},
"sourceCount": {
"description": "Number of source documents used for generation",
@@ -20085,7 +20093,7 @@
},
"analyzedValue": {
"description": "Metric value in the analyzed period (the observed value that triggered the anomaly)",
- "example": 2.6E+9
+ "example": 2600000000.0
},
"areRelationsValid": {
"type": "boolean"
@@ -20137,7 +20145,7 @@
},
"referenceValue": {
"description": "Metric value in the reference period",
- "example": 2.4E+9
+ "example": 2400000000.0
},
"sourceCount": {
"description": "Number of source documents used for generation",
@@ -29439,7 +29447,7 @@
},
"exportInfo": {
"default": false,
- "description": "If true, the export will contain the information about the export – exported date, filters, etc. Works only with `visualizationObject`. (XLSX, PDF)",
+ "description": "If true, the export will contain the information about the export \u2013 exported date, filters, etc. Works only with `visualizationObject`. (XLSX, PDF)",
"example": true,
"type": "boolean"
},
@@ -31150,23 +31158,6 @@
]
}
},
- "/api/v1/actions/organization/metadataCheck": {
- "post": {
- "description": "(BETA) Temporary solution. Resyncs all organization objects and full workspaces within the organization with target GEN_AI_CHECK.",
- "operationId": "metadataCheckOrganization",
- "responses": {
- "200": {
- "description": "OK"
- }
- },
- "summary": "(BETA) Check Organization Metadata Inconsistencies",
- "tags": [
- "AI",
- "Metadata Check",
- "actions"
- ]
- }
- },
"/api/v1/actions/organization/metadataSync": {
"post": {
"description": "(BETA) Temporary solution. Later relevant metadata actions will trigger sync in their scope only.",
@@ -39123,7 +39114,7 @@
},
{
"description": "Include Meta objects.",
- "example": "metaInclude=config,permissions,hierarchy,dataModelDatasets,page,all",
+ "example": "metaInclude=permissions,config,hierarchy,dataModelDatasets,page,all",
"explode": false,
"in": "query",
"name": "metaInclude",
@@ -39132,8 +39123,8 @@
"description": "Included meta objects",
"items": {
"enum": [
- "config",
"permissions",
+ "config",
"hierarchy",
"dataModelDatasets",
"page",
@@ -39204,7 +39195,7 @@
},
{
"description": "Include Meta objects.",
- "example": "metaInclude=config,permissions,hierarchy,dataModelDatasets,all",
+ "example": "metaInclude=permissions,config,hierarchy,dataModelDatasets,all",
"explode": false,
"in": "query",
"name": "metaInclude",
@@ -39213,8 +39204,8 @@
"description": "Included meta objects",
"items": {
"enum": [
- "config",
"permissions",
+ "config",
"hierarchy",
"dataModelDatasets",
"all",
@@ -39339,7 +39330,7 @@
},
{
"description": "Include Meta objects.",
- "example": "metaInclude=config,permissions,hierarchy,dataModelDatasets,all",
+ "example": "metaInclude=permissions,config,hierarchy,dataModelDatasets,all",
"explode": false,
"in": "query",
"name": "metaInclude",
@@ -39348,8 +39339,8 @@
"description": "Included meta objects",
"items": {
"enum": [
- "config",
"permissions",
+ "config",
"hierarchy",
"dataModelDatasets",
"all",
diff --git a/schemas/gooddata-result-client.json b/schemas/gooddata-result-client.json
index 4414529cc..3085af71d 100644
--- a/schemas/gooddata-result-client.json
+++ b/schemas/gooddata-result-client.json
@@ -1494,7 +1494,7 @@
"servers": [
{
"description": "Generated server url",
- "url": "https://demo-cicd.cloud.gooddata.com"
+ "url": ""
},
{
"description": "GoodData.CN endpoint",