diff --git a/.openapi-generator/custom_templates/model_utils.mustache b/.openapi-generator/custom_templates/model_utils.mustache index 917c988d5..dc47c138a 100644 --- a/.openapi-generator/custom_templates/model_utils.mustache +++ b/.openapi-generator/custom_templates/model_utils.mustache @@ -1543,6 +1543,12 @@ def get_oneof_instance(cls, model_kwargs, constant_kwargs, model_arg=None): oneof_instance = oneof_class._from_openapi_data(**model_kwargs, **constant_kwargs) else: oneof_instance = oneof_class(**model_kwargs, **constant_kwargs) + + # Workaround for missing OneOf schema support by the generator + # Checks if the defined schema is a subset of received model + # This way we can ensure forward-compatibility support of new fields in API + assert set(oneof_class.openapi_types.keys()) <= set(model_kwargs.keys()) + else: if issubclass(oneof_class, ModelSimple): if constant_kwargs.get('_spec_property_naming'): diff --git a/gooddata-api-client/.openapi-generator/FILES b/gooddata-api-client/.openapi-generator/FILES index 35531a6fa..15d5c0dab 100644 --- a/gooddata-api-client/.openapi-generator/FILES +++ b/gooddata-api-client/.openapi-generator/FILES @@ -30,6 +30,7 @@ docs/AppearanceApi.md docs/ArithmeticMeasureDefinition.md docs/ArithmeticMeasureDefinitionArithmeticMeasure.md docs/AssigneeIdentifier.md +docs/AssigneeRule.md docs/AttributeExecutionResultHeader.md docs/AttributeFilter.md docs/AttributeFilterElements.md @@ -53,6 +54,7 @@ docs/CustomLabel.md docs/CustomMetric.md docs/CustomOverride.md docs/DashboardPermissions.md +docs/DashboardPermissionsAssignment.md docs/DashboardsApi.md docs/DataColumnLocator.md docs/DataColumnLocators.md @@ -70,7 +72,12 @@ docs/DatasetsApi.md docs/DateFilter.md docs/DeclarativeAnalyticalDashboard.md docs/DeclarativeAnalyticalDashboardExtension.md -docs/DeclarativeAnalyticalDashboardPermission.md +docs/DeclarativeAnalyticalDashboardPermissionAssignment.md +docs/DeclarativeAnalyticalDashboardPermissionForAssignee.md +docs/DeclarativeAnalyticalDashboardPermissionForAssigneeAllOf.md +docs/DeclarativeAnalyticalDashboardPermissionForAssigneeRule.md +docs/DeclarativeAnalyticalDashboardPermissionForAssigneeRuleAllOf.md +docs/DeclarativeAnalyticalDashboardPermissionsInner.md docs/DeclarativeAnalytics.md docs/DeclarativeAnalyticsLayer.md docs/DeclarativeAttribute.md @@ -546,6 +553,7 @@ docs/LabelsApi.md docs/LayoutApi.md docs/ListLinks.md docs/ListLinksAllOf.md +docs/ManageDashboardPermissionsRequestInner.md docs/MeasureDefinition.md docs/MeasureExecutionResultHeader.md docs/MeasureGroupHeaders.md @@ -563,6 +571,7 @@ docs/OrganizationControllerApi.md docs/OrganizationDeclarativeAPIsApi.md docs/OrganizationEntityAPIsApi.md docs/OrganizationModelControllerApi.md +docs/OrganizationPermissionAssignment.md docs/PDMDeclarativeAPIsApi.md docs/Paging.md docs/Parameter.md @@ -571,6 +580,8 @@ docs/PdmLdmRequest.md docs/PdmSql.md docs/PermissionsApi.md docs/PermissionsForAssignee.md +docs/PermissionsForAssigneeAllOf.md +docs/PermissionsForAssigneeRule.md docs/PlatformUsage.md docs/PlatformUsageRequest.md docs/PluginsApi.md @@ -600,6 +611,7 @@ docs/ResultDimension.md docs/ResultDimensionHeader.md docs/ResultSpec.md docs/RsaSpecification.md +docs/RulePermission.md docs/ScanRequest.md docs/ScanResultPdm.md docs/ScanSqlRequest.md @@ -731,6 +743,7 @@ gooddata_api_client/model/api_entitlement.py gooddata_api_client/model/arithmetic_measure_definition.py gooddata_api_client/model/arithmetic_measure_definition_arithmetic_measure.py gooddata_api_client/model/assignee_identifier.py +gooddata_api_client/model/assignee_rule.py gooddata_api_client/model/attribute_execution_result_header.py gooddata_api_client/model/attribute_filter.py gooddata_api_client/model/attribute_filter_elements.py @@ -747,6 +760,7 @@ gooddata_api_client/model/custom_label.py gooddata_api_client/model/custom_metric.py gooddata_api_client/model/custom_override.py gooddata_api_client/model/dashboard_permissions.py +gooddata_api_client/model/dashboard_permissions_assignment.py gooddata_api_client/model/data_column_locator.py gooddata_api_client/model/data_column_locators.py gooddata_api_client/model/data_source_parameter.py @@ -758,7 +772,12 @@ gooddata_api_client/model/dataset_workspace_data_filter_identifier.py gooddata_api_client/model/date_filter.py gooddata_api_client/model/declarative_analytical_dashboard.py gooddata_api_client/model/declarative_analytical_dashboard_extension.py -gooddata_api_client/model/declarative_analytical_dashboard_permission.py +gooddata_api_client/model/declarative_analytical_dashboard_permission_assignment.py +gooddata_api_client/model/declarative_analytical_dashboard_permission_for_assignee.py +gooddata_api_client/model/declarative_analytical_dashboard_permission_for_assignee_all_of.py +gooddata_api_client/model/declarative_analytical_dashboard_permission_for_assignee_rule.py +gooddata_api_client/model/declarative_analytical_dashboard_permission_for_assignee_rule_all_of.py +gooddata_api_client/model/declarative_analytical_dashboard_permissions_inner.py gooddata_api_client/model/declarative_analytics.py gooddata_api_client/model/declarative_analytics_layer.py gooddata_api_client/model/declarative_attribute.py @@ -1224,6 +1243,7 @@ gooddata_api_client/model/json_api_workspace_to_one_linkage.py gooddata_api_client/model/label_identifier.py gooddata_api_client/model/list_links.py gooddata_api_client/model/list_links_all_of.py +gooddata_api_client/model/manage_dashboard_permissions_request_inner.py gooddata_api_client/model/measure_definition.py gooddata_api_client/model/measure_execution_result_header.py gooddata_api_client/model/measure_group_headers.py @@ -1235,12 +1255,15 @@ gooddata_api_client/model/negative_attribute_filter.py gooddata_api_client/model/negative_attribute_filter_negative_attribute_filter.py gooddata_api_client/model/object_links.py gooddata_api_client/model/object_links_container.py +gooddata_api_client/model/organization_permission_assignment.py gooddata_api_client/model/paging.py gooddata_api_client/model/parameter.py gooddata_api_client/model/pdf_export_request.py gooddata_api_client/model/pdm_ldm_request.py gooddata_api_client/model/pdm_sql.py gooddata_api_client/model/permissions_for_assignee.py +gooddata_api_client/model/permissions_for_assignee_all_of.py +gooddata_api_client/model/permissions_for_assignee_rule.py gooddata_api_client/model/platform_usage.py gooddata_api_client/model/platform_usage_request.py gooddata_api_client/model/pop_dataset.py @@ -1268,6 +1291,7 @@ gooddata_api_client/model/result_dimension.py gooddata_api_client/model/result_dimension_header.py gooddata_api_client/model/result_spec.py gooddata_api_client/model/rsa_specification.py +gooddata_api_client/model/rule_permission.py gooddata_api_client/model/scan_request.py gooddata_api_client/model/scan_result_pdm.py gooddata_api_client/model/scan_sql_request.py diff --git a/gooddata-api-client/README.md b/gooddata-api-client/README.md index 0887d42bd..18624a574 100644 --- a/gooddata-api-client/README.md +++ b/gooddata-api-client/README.md @@ -219,8 +219,11 @@ Class | Method | HTTP request | Description *PDMDeclarativeAPIsApi* | [**set_pdm_layout**](docs/PDMDeclarativeAPIsApi.md#set_pdm_layout) | **PUT** /api/v1/layout/dataSources/{dataSourceId}/physicalModel | Set data source physical model layout *PermissionsApi* | [**available_assignees**](docs/PermissionsApi.md#available_assignees) | **GET** /api/v1/actions/workspaces/{workspaceId}/analyticalDashboards/{dashboardId}/availableAssignees | Get Available Assignees *PermissionsApi* | [**dashboard_permissions**](docs/PermissionsApi.md#dashboard_permissions) | **GET** /api/v1/actions/workspaces/{workspaceId}/analyticalDashboards/{dashboardId}/permissions | Get Dashboard Permissions +*PermissionsApi* | [**get_organization_permissions**](docs/PermissionsApi.md#get_organization_permissions) | **GET** /api/v1/layout/organization/permissions | Get organization permissions *PermissionsApi* | [**get_workspace_permissions**](docs/PermissionsApi.md#get_workspace_permissions) | **GET** /api/v1/layout/workspaces/{workspaceId}/permissions | Get permissions for the workspace *PermissionsApi* | [**manage_dashboard_permissions**](docs/PermissionsApi.md#manage_dashboard_permissions) | **POST** /api/v1/actions/workspaces/{workspaceId}/analyticalDashboards/{dashboardId}/managePermissions | Manage Permissions for a Dashboard +*PermissionsApi* | [**manage_organization_permissions**](docs/PermissionsApi.md#manage_organization_permissions) | **POST** /api/v1/actions/organization/managePermissions | Manage Permissions for a Organization +*PermissionsApi* | [**set_organization_permissions**](docs/PermissionsApi.md#set_organization_permissions) | **PUT** /api/v1/layout/organization/permissions | Set organization permissions *PermissionsApi* | [**set_workspace_permissions**](docs/PermissionsApi.md#set_workspace_permissions) | **PUT** /api/v1/layout/workspaces/{workspaceId}/permissions | Set permissions for the workspace *PluginsApi* | [**create_entity_dashboard_plugins**](docs/PluginsApi.md#create_entity_dashboard_plugins) | **POST** /api/v1/entities/workspaces/{workspaceId}/dashboardPlugins | Post Plugins *PluginsApi* | [**delete_entity_dashboard_plugins**](docs/PluginsApi.md#delete_entity_dashboard_plugins) | **DELETE** /api/v1/entities/workspaces/{workspaceId}/dashboardPlugins/{objectId} | Delete a Plugin @@ -313,6 +316,7 @@ Class | Method | HTTP request | Description *ActionsApi* | [**inherited_entity_conflicts**](docs/ActionsApi.md#inherited_entity_conflicts) | **GET** /api/v1/actions/workspaces/{workspaceId}/inheritedEntityConflicts | Finds API identifier conflicts in given workspace hierarchy. *ActionsApi* | [**inherited_entity_prefixes**](docs/ActionsApi.md#inherited_entity_prefixes) | **GET** /api/v1/actions/workspaces/{workspaceId}/inheritedEntityPrefixes | Get used entity prefixes in hierarchy *ActionsApi* | [**manage_dashboard_permissions**](docs/ActionsApi.md#manage_dashboard_permissions) | **POST** /api/v1/actions/workspaces/{workspaceId}/analyticalDashboards/{dashboardId}/managePermissions | Manage Permissions for a Dashboard +*ActionsApi* | [**manage_organization_permissions**](docs/ActionsApi.md#manage_organization_permissions) | **POST** /api/v1/actions/organization/managePermissions | Manage Permissions for a Organization *ActionsApi* | [**overridden_child_entities**](docs/ActionsApi.md#overridden_child_entities) | **GET** /api/v1/actions/workspaces/{workspaceId}/overriddenChildEntities | Finds API identifier overrides in given workspace hierarchy. *ActionsApi* | [**particular_platform_usage**](docs/ActionsApi.md#particular_platform_usage) | **POST** /api/v1/actions/collectUsage | Info about the platform usage for particular items. *ActionsApi* | [**register_upload_notification**](docs/ActionsApi.md#register_upload_notification) | **POST** /api/v1/actions/dataSources/{dataSourceId}/uploadNotification | Register an upload notification @@ -489,6 +493,7 @@ Class | Method | HTTP request | Description *LayoutApi* | [**get_data_sources_layout**](docs/LayoutApi.md#get_data_sources_layout) | **GET** /api/v1/layout/dataSources | Get all data sources *LayoutApi* | [**get_logical_model**](docs/LayoutApi.md#get_logical_model) | **GET** /api/v1/layout/workspaces/{workspaceId}/logicalModel | Get logical model *LayoutApi* | [**get_organization_layout**](docs/LayoutApi.md#get_organization_layout) | **GET** /api/v1/layout/organization | Get organization layout +*LayoutApi* | [**get_organization_permissions**](docs/LayoutApi.md#get_organization_permissions) | **GET** /api/v1/layout/organization/permissions | Get organization permissions *LayoutApi* | [**get_pdm_layout**](docs/LayoutApi.md#get_pdm_layout) | **GET** /api/v1/layout/dataSources/{dataSourceId}/physicalModel | Get data source physical model layout *LayoutApi* | [**get_user_data_filters**](docs/LayoutApi.md#get_user_data_filters) | **GET** /api/v1/layout/workspaces/{workspaceId}/userDataFilters | Get user data filters *LayoutApi* | [**get_user_group_permissions**](docs/LayoutApi.md#get_user_group_permissions) | **GET** /api/v1/layout/userGroups/{userGroupId}/permissions | Get permissions for the user-group @@ -508,6 +513,7 @@ Class | Method | HTTP request | Description *LayoutApi* | [**set_analytics_model**](docs/LayoutApi.md#set_analytics_model) | **PUT** /api/v1/layout/workspaces/{workspaceId}/analyticsModel | Set analytics model *LayoutApi* | [**set_logical_model**](docs/LayoutApi.md#set_logical_model) | **PUT** /api/v1/layout/workspaces/{workspaceId}/logicalModel | Set logical model *LayoutApi* | [**set_organization_layout**](docs/LayoutApi.md#set_organization_layout) | **PUT** /api/v1/layout/organization | Set organization layout +*LayoutApi* | [**set_organization_permissions**](docs/LayoutApi.md#set_organization_permissions) | **PUT** /api/v1/layout/organization/permissions | Set organization permissions *LayoutApi* | [**set_pdm_layout**](docs/LayoutApi.md#set_pdm_layout) | **PUT** /api/v1/layout/dataSources/{dataSourceId}/physicalModel | Set data source physical model layout *LayoutApi* | [**set_user_data_filters**](docs/LayoutApi.md#set_user_data_filters) | **PUT** /api/v1/layout/workspaces/{workspaceId}/userDataFilters | Set user data filters *LayoutApi* | [**set_user_group_permissions**](docs/LayoutApi.md#set_user_group_permissions) | **PUT** /api/v1/layout/userGroups/{userGroupId}/permissions | Set permissions for the user-group @@ -695,6 +701,7 @@ Class | Method | HTTP request | Description - [ArithmeticMeasureDefinition](docs/ArithmeticMeasureDefinition.md) - [ArithmeticMeasureDefinitionArithmeticMeasure](docs/ArithmeticMeasureDefinitionArithmeticMeasure.md) - [AssigneeIdentifier](docs/AssigneeIdentifier.md) + - [AssigneeRule](docs/AssigneeRule.md) - [AttributeExecutionResultHeader](docs/AttributeExecutionResultHeader.md) - [AttributeFilter](docs/AttributeFilter.md) - [AttributeFilterElements](docs/AttributeFilterElements.md) @@ -711,6 +718,7 @@ Class | Method | HTTP request | Description - [CustomMetric](docs/CustomMetric.md) - [CustomOverride](docs/CustomOverride.md) - [DashboardPermissions](docs/DashboardPermissions.md) + - [DashboardPermissionsAssignment](docs/DashboardPermissionsAssignment.md) - [DataColumnLocator](docs/DataColumnLocator.md) - [DataColumnLocators](docs/DataColumnLocators.md) - [DataSourceParameter](docs/DataSourceParameter.md) @@ -722,7 +730,12 @@ Class | Method | HTTP request | Description - [DateFilter](docs/DateFilter.md) - [DeclarativeAnalyticalDashboard](docs/DeclarativeAnalyticalDashboard.md) - [DeclarativeAnalyticalDashboardExtension](docs/DeclarativeAnalyticalDashboardExtension.md) - - [DeclarativeAnalyticalDashboardPermission](docs/DeclarativeAnalyticalDashboardPermission.md) + - [DeclarativeAnalyticalDashboardPermissionAssignment](docs/DeclarativeAnalyticalDashboardPermissionAssignment.md) + - [DeclarativeAnalyticalDashboardPermissionForAssignee](docs/DeclarativeAnalyticalDashboardPermissionForAssignee.md) + - [DeclarativeAnalyticalDashboardPermissionForAssigneeAllOf](docs/DeclarativeAnalyticalDashboardPermissionForAssigneeAllOf.md) + - [DeclarativeAnalyticalDashboardPermissionForAssigneeRule](docs/DeclarativeAnalyticalDashboardPermissionForAssigneeRule.md) + - [DeclarativeAnalyticalDashboardPermissionForAssigneeRuleAllOf](docs/DeclarativeAnalyticalDashboardPermissionForAssigneeRuleAllOf.md) + - [DeclarativeAnalyticalDashboardPermissionsInner](docs/DeclarativeAnalyticalDashboardPermissionsInner.md) - [DeclarativeAnalytics](docs/DeclarativeAnalytics.md) - [DeclarativeAnalyticsLayer](docs/DeclarativeAnalyticsLayer.md) - [DeclarativeAttribute](docs/DeclarativeAttribute.md) @@ -1188,6 +1201,7 @@ Class | Method | HTTP request | Description - [LabelIdentifier](docs/LabelIdentifier.md) - [ListLinks](docs/ListLinks.md) - [ListLinksAllOf](docs/ListLinksAllOf.md) + - [ManageDashboardPermissionsRequestInner](docs/ManageDashboardPermissionsRequestInner.md) - [MeasureDefinition](docs/MeasureDefinition.md) - [MeasureExecutionResultHeader](docs/MeasureExecutionResultHeader.md) - [MeasureGroupHeaders](docs/MeasureGroupHeaders.md) @@ -1199,12 +1213,15 @@ Class | Method | HTTP request | Description - [NegativeAttributeFilterNegativeAttributeFilter](docs/NegativeAttributeFilterNegativeAttributeFilter.md) - [ObjectLinks](docs/ObjectLinks.md) - [ObjectLinksContainer](docs/ObjectLinksContainer.md) + - [OrganizationPermissionAssignment](docs/OrganizationPermissionAssignment.md) - [Paging](docs/Paging.md) - [Parameter](docs/Parameter.md) - [PdfExportRequest](docs/PdfExportRequest.md) - [PdmLdmRequest](docs/PdmLdmRequest.md) - [PdmSql](docs/PdmSql.md) - [PermissionsForAssignee](docs/PermissionsForAssignee.md) + - [PermissionsForAssigneeAllOf](docs/PermissionsForAssigneeAllOf.md) + - [PermissionsForAssigneeRule](docs/PermissionsForAssigneeRule.md) - [PlatformUsage](docs/PlatformUsage.md) - [PlatformUsageRequest](docs/PlatformUsageRequest.md) - [PopDataset](docs/PopDataset.md) @@ -1232,6 +1249,7 @@ Class | Method | HTTP request | Description - [ResultDimensionHeader](docs/ResultDimensionHeader.md) - [ResultSpec](docs/ResultSpec.md) - [RsaSpecification](docs/RsaSpecification.md) + - [RulePermission](docs/RulePermission.md) - [ScanRequest](docs/ScanRequest.md) - [ScanResultPdm](docs/ScanResultPdm.md) - [ScanSqlRequest](docs/ScanSqlRequest.md) diff --git a/gooddata-api-client/docs/ActionsApi.md b/gooddata-api-client/docs/ActionsApi.md index 5738a1d8c..06dbed974 100644 --- a/gooddata-api-client/docs/ActionsApi.md +++ b/gooddata-api-client/docs/ActionsApi.md @@ -25,6 +25,7 @@ Method | HTTP request | Description [**inherited_entity_conflicts**](ActionsApi.md#inherited_entity_conflicts) | **GET** /api/v1/actions/workspaces/{workspaceId}/inheritedEntityConflicts | Finds API identifier conflicts in given workspace hierarchy. [**inherited_entity_prefixes**](ActionsApi.md#inherited_entity_prefixes) | **GET** /api/v1/actions/workspaces/{workspaceId}/inheritedEntityPrefixes | Get used entity prefixes in hierarchy [**manage_dashboard_permissions**](ActionsApi.md#manage_dashboard_permissions) | **POST** /api/v1/actions/workspaces/{workspaceId}/analyticalDashboards/{dashboardId}/managePermissions | Manage Permissions for a Dashboard +[**manage_organization_permissions**](ActionsApi.md#manage_organization_permissions) | **POST** /api/v1/actions/organization/managePermissions | Manage Permissions for a Organization [**overridden_child_entities**](ActionsApi.md#overridden_child_entities) | **GET** /api/v1/actions/workspaces/{workspaceId}/overriddenChildEntities | Finds API identifier overrides in given workspace hierarchy. [**particular_platform_usage**](ActionsApi.md#particular_platform_usage) | **POST** /api/v1/actions/collectUsage | Info about the platform usage for particular items. [**register_upload_notification**](ActionsApi.md#register_upload_notification) | **POST** /api/v1/actions/dataSources/{dataSourceId}/uploadNotification | Register an upload notification @@ -278,7 +279,7 @@ with gooddata_api_client.ApiClient() as api_client: workspace_id = "/6bUUGjjNSwg0_bs" # str | Workspace identifier elements_request = ElementsRequest( complement_filter=False, - data_sampling_percentage=100, + data_sampling_percentage=100.0, exact_filter=[ "exact_filter_example", ], @@ -286,7 +287,7 @@ with gooddata_api_client.ApiClient() as api_client: filter_by=FilterBy( label_type="REQUESTED", ), - label="/6bUUGjjNSwg0_bs", + label="label_id", pattern_filter="pattern_filter_example", sort_order="ASC", ) # ElementsRequest | @@ -1698,7 +1699,7 @@ No authorization required [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) # **manage_dashboard_permissions** -> manage_dashboard_permissions(workspace_id, dashboard_id, permissions_for_assignee) +> manage_dashboard_permissions(workspace_id, dashboard_id, manage_dashboard_permissions_request_inner) Manage Permissions for a Dashboard @@ -1709,7 +1710,7 @@ Manage Permissions for a Dashboard import time import gooddata_api_client from gooddata_api_client.api import actions_api -from gooddata_api_client.model.permissions_for_assignee import PermissionsForAssignee +from gooddata_api_client.model.manage_dashboard_permissions_request_inner import ManageDashboardPermissionsRequestInner from pprint import pprint # Defining the host is optional and defaults to http://localhost # See configuration.py for a list of all supported configuration parameters. @@ -1724,24 +1725,94 @@ with gooddata_api_client.ApiClient() as api_client: api_instance = actions_api.ActionsApi(api_client) workspace_id = "workspaceId_example" # str | dashboard_id = "dashboardId_example" # str | - permissions_for_assignee = [ - PermissionsForAssignee( + manage_dashboard_permissions_request_inner = [ + ManageDashboardPermissionsRequestInner(None), + ] # [ManageDashboardPermissionsRequestInner] | + + # example passing only required values which don't have defaults set + try: + # Manage Permissions for a Dashboard + api_instance.manage_dashboard_permissions(workspace_id, dashboard_id, manage_dashboard_permissions_request_inner) + except gooddata_api_client.ApiException as e: + print("Exception when calling ActionsApi->manage_dashboard_permissions: %s\n" % e) +``` + + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **workspace_id** | **str**| | + **dashboard_id** | **str**| | + **manage_dashboard_permissions_request_inner** | [**[ManageDashboardPermissionsRequestInner]**](ManageDashboardPermissionsRequestInner.md)| | + +### Return type + +void (empty response body) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: Not defined + + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**204** | No Content | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **manage_organization_permissions** +> manage_organization_permissions(organization_permission_assignment) + +Manage Permissions for a Organization + +Manage Permissions for a Organization + +### Example + + +```python +import time +import gooddata_api_client +from gooddata_api_client.api import actions_api +from gooddata_api_client.model.organization_permission_assignment import OrganizationPermissionAssignment +from pprint import pprint +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = gooddata_api_client.Configuration( + host = "http://localhost" +) + + +# Enter a context with an instance of the API client +with gooddata_api_client.ApiClient() as api_client: + # Create an instance of the API class + api_instance = actions_api.ActionsApi(api_client) + organization_permission_assignment = [ + OrganizationPermissionAssignment( assignee_identifier=AssigneeIdentifier( id="id_example", type="user", ), permissions=[ - "EDIT", + "MANAGE", ], ), - ] # [PermissionsForAssignee] | + ] # [OrganizationPermissionAssignment] | # example passing only required values which don't have defaults set try: - # Manage Permissions for a Dashboard - api_instance.manage_dashboard_permissions(workspace_id, dashboard_id, permissions_for_assignee) + # Manage Permissions for a Organization + api_instance.manage_organization_permissions(organization_permission_assignment) except gooddata_api_client.ApiException as e: - print("Exception when calling ActionsApi->manage_dashboard_permissions: %s\n" % e) + print("Exception when calling ActionsApi->manage_organization_permissions: %s\n" % e) ``` @@ -1749,9 +1820,7 @@ with gooddata_api_client.ApiClient() as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **workspace_id** | **str**| | - **dashboard_id** | **str**| | - **permissions_for_assignee** | [**[PermissionsForAssignee]**](PermissionsForAssignee.md)| | + **organization_permission_assignment** | [**[OrganizationPermissionAssignment]**](OrganizationPermissionAssignment.md)| | ### Return type diff --git a/gooddata-api-client/docs/AnalyticsModelApi.md b/gooddata-api-client/docs/AnalyticsModelApi.md index d622b6b32..68e951658 100644 --- a/gooddata-api-client/docs/AnalyticsModelApi.md +++ b/gooddata-api-client/docs/AnalyticsModelApi.md @@ -122,13 +122,7 @@ with gooddata_api_client.ApiClient() as api_client: DeclarativeAnalyticalDashboardExtension( id="revenues-analysis", permissions=[ - DeclarativeAnalyticalDashboardPermission( - assignee=AssigneeIdentifier( - id="id_example", - type="user", - ), - name="EDIT", - ), + DeclarativeAnalyticalDashboardPermissionsInner(None), ], ), ], @@ -148,13 +142,7 @@ with gooddata_api_client.ApiClient() as api_client: type="user", ), permissions=[ - DeclarativeAnalyticalDashboardPermission( - assignee=AssigneeIdentifier( - id="id_example", - type="user", - ), - name="EDIT", - ), + DeclarativeAnalyticalDashboardPermissionsInner(None), ], tags=["Revenues"], title="Revenues analysis", diff --git a/gooddata-api-client/docs/AssigneeRule.md b/gooddata-api-client/docs/AssigneeRule.md new file mode 100644 index 000000000..44ffd11ee --- /dev/null +++ b/gooddata-api-client/docs/AssigneeRule.md @@ -0,0 +1,13 @@ +# AssigneeRule + +Identifier of an assignee rule. + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**type** | **str** | | defaults to "allWorkspaceUsers" +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/gooddata-api-client/docs/ComputationApi.md b/gooddata-api-client/docs/ComputationApi.md index 795850538..1075d0107 100644 --- a/gooddata-api-client/docs/ComputationApi.md +++ b/gooddata-api-client/docs/ComputationApi.md @@ -46,7 +46,7 @@ with gooddata_api_client.ApiClient() as api_client: workspace_id = "/6bUUGjjNSwg0_bs" # str | Workspace identifier elements_request = ElementsRequest( complement_filter=False, - data_sampling_percentage=100, + data_sampling_percentage=100.0, exact_filter=[ "exact_filter_example", ], @@ -54,7 +54,7 @@ with gooddata_api_client.ApiClient() as api_client: filter_by=FilterBy( label_type="REQUESTED", ), - label="/6bUUGjjNSwg0_bs", + label="label_id", pattern_filter="pattern_filter_example", sort_order="ASC", ) # ElementsRequest | diff --git a/gooddata-api-client/docs/DashboardPermissions.md b/gooddata-api-client/docs/DashboardPermissions.md index e96fdef4b..ef2ff5777 100644 --- a/gooddata-api-client/docs/DashboardPermissions.md +++ b/gooddata-api-client/docs/DashboardPermissions.md @@ -4,6 +4,7 @@ ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- +**rules** | [**[RulePermission]**](RulePermission.md) | List of rules | **user_groups** | [**[UserGroupPermission]**](UserGroupPermission.md) | List of user groups | **users** | [**[UserPermission]**](UserPermission.md) | List of users | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] diff --git a/gooddata-api-client/docs/DashboardPermissionsAssignment.md b/gooddata-api-client/docs/DashboardPermissionsAssignment.md new file mode 100644 index 000000000..538afa054 --- /dev/null +++ b/gooddata-api-client/docs/DashboardPermissionsAssignment.md @@ -0,0 +1,13 @@ +# DashboardPermissionsAssignment + +Desired levels of permissions for an assignee. + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**permissions** | **[str]** | | +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/gooddata-api-client/docs/DeclarativeAnalyticalDashboard.md b/gooddata-api-client/docs/DeclarativeAnalyticalDashboard.md index 894570672..4271f35f0 100644 --- a/gooddata-api-client/docs/DeclarativeAnalyticalDashboard.md +++ b/gooddata-api-client/docs/DeclarativeAnalyticalDashboard.md @@ -12,7 +12,7 @@ Name | Type | Description | Notes **description** | **str** | Analytical dashboard description. | [optional] **modified_at** | **str, none_type** | Time of the last entity modification. | [optional] **modified_by** | [**DeclarativeUserIdentifier**](DeclarativeUserIdentifier.md) | | [optional] -**permissions** | [**[DeclarativeAnalyticalDashboardPermission]**](DeclarativeAnalyticalDashboardPermission.md) | A list of permissions. | [optional] +**permissions** | [**[DeclarativeAnalyticalDashboardPermissionsInner]**](DeclarativeAnalyticalDashboardPermissionsInner.md) | A list of permissions. | [optional] **tags** | **[str]** | A list of tags. | [optional] **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] diff --git a/gooddata-api-client/docs/DeclarativeAnalyticalDashboardExtension.md b/gooddata-api-client/docs/DeclarativeAnalyticalDashboardExtension.md index 6e7ca19af..4bca3a673 100644 --- a/gooddata-api-client/docs/DeclarativeAnalyticalDashboardExtension.md +++ b/gooddata-api-client/docs/DeclarativeAnalyticalDashboardExtension.md @@ -5,7 +5,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **id** | **str** | Analytical dashboard ID. | -**permissions** | [**[DeclarativeAnalyticalDashboardPermission]**](DeclarativeAnalyticalDashboardPermission.md) | A list of permissions. | +**permissions** | [**[DeclarativeAnalyticalDashboardPermissionsInner]**](DeclarativeAnalyticalDashboardPermissionsInner.md) | A list of permissions. | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/gooddata-api-client/docs/DeclarativeAnalyticalDashboardPermissionAssignment.md b/gooddata-api-client/docs/DeclarativeAnalyticalDashboardPermissionAssignment.md new file mode 100644 index 000000000..2f1d5871d --- /dev/null +++ b/gooddata-api-client/docs/DeclarativeAnalyticalDashboardPermissionAssignment.md @@ -0,0 +1,13 @@ +# DeclarativeAnalyticalDashboardPermissionAssignment + +Analytical dashboard permission. + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **str** | Permission name. | +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/gooddata-api-client/docs/DeclarativeAnalyticalDashboardPermission.md b/gooddata-api-client/docs/DeclarativeAnalyticalDashboardPermissionForAssignee.md similarity index 84% rename from gooddata-api-client/docs/DeclarativeAnalyticalDashboardPermission.md rename to gooddata-api-client/docs/DeclarativeAnalyticalDashboardPermissionForAssignee.md index 134197b6c..ecd2a469e 100644 --- a/gooddata-api-client/docs/DeclarativeAnalyticalDashboardPermission.md +++ b/gooddata-api-client/docs/DeclarativeAnalyticalDashboardPermissionForAssignee.md @@ -1,12 +1,12 @@ -# DeclarativeAnalyticalDashboardPermission +# DeclarativeAnalyticalDashboardPermissionForAssignee -Analytical dashboard permission. +Analytical dashboard permission for an assignee. ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**assignee** | [**AssigneeIdentifier**](AssigneeIdentifier.md) | | **name** | **str** | Permission name. | +**assignee** | [**AssigneeIdentifier**](AssigneeIdentifier.md) | | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/gooddata-api-client/docs/DeclarativeAnalyticalDashboardPermissionForAssigneeAllOf.md b/gooddata-api-client/docs/DeclarativeAnalyticalDashboardPermissionForAssigneeAllOf.md new file mode 100644 index 000000000..aafa6dfb5 --- /dev/null +++ b/gooddata-api-client/docs/DeclarativeAnalyticalDashboardPermissionForAssigneeAllOf.md @@ -0,0 +1,12 @@ +# DeclarativeAnalyticalDashboardPermissionForAssigneeAllOf + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**assignee** | [**AssigneeIdentifier**](AssigneeIdentifier.md) | | [optional] +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/gooddata-api-client/docs/DeclarativeAnalyticalDashboardPermissionForAssigneeRule.md b/gooddata-api-client/docs/DeclarativeAnalyticalDashboardPermissionForAssigneeRule.md new file mode 100644 index 000000000..a5141e985 --- /dev/null +++ b/gooddata-api-client/docs/DeclarativeAnalyticalDashboardPermissionForAssigneeRule.md @@ -0,0 +1,14 @@ +# DeclarativeAnalyticalDashboardPermissionForAssigneeRule + +Analytical dashboard permission for a collection of assignees identified by a rule. + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **str** | Permission name. | +**assignee_rule** | [**AssigneeRule**](AssigneeRule.md) | | +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/gooddata-api-client/docs/DeclarativeAnalyticalDashboardPermissionForAssigneeRuleAllOf.md b/gooddata-api-client/docs/DeclarativeAnalyticalDashboardPermissionForAssigneeRuleAllOf.md new file mode 100644 index 000000000..9bfd57762 --- /dev/null +++ b/gooddata-api-client/docs/DeclarativeAnalyticalDashboardPermissionForAssigneeRuleAllOf.md @@ -0,0 +1,12 @@ +# DeclarativeAnalyticalDashboardPermissionForAssigneeRuleAllOf + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**assignee_rule** | [**AssigneeRule**](AssigneeRule.md) | | [optional] +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/gooddata-api-client/docs/DeclarativeAnalyticalDashboardPermissionsInner.md b/gooddata-api-client/docs/DeclarativeAnalyticalDashboardPermissionsInner.md new file mode 100644 index 000000000..b6153ad18 --- /dev/null +++ b/gooddata-api-client/docs/DeclarativeAnalyticalDashboardPermissionsInner.md @@ -0,0 +1,14 @@ +# DeclarativeAnalyticalDashboardPermissionsInner + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **str** | Permission name. | [optional] +**assignee** | [**AssigneeIdentifier**](AssigneeIdentifier.md) | | [optional] +**assignee_rule** | [**AssigneeRule**](AssigneeRule.md) | | [optional] +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/gooddata-api-client/docs/DeclarativeOrganizationPermission.md b/gooddata-api-client/docs/DeclarativeOrganizationPermission.md index e0976d6d3..07073b0ee 100644 --- a/gooddata-api-client/docs/DeclarativeOrganizationPermission.md +++ b/gooddata-api-client/docs/DeclarativeOrganizationPermission.md @@ -6,7 +6,7 @@ Definition of an organization permission assigned to a user/user-group. Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **assignee** | [**AssigneeIdentifier**](AssigneeIdentifier.md) | | -**name** | **str** | Permission name. | defaults to "MANAGE" +**name** | **str** | Permission name. | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/gooddata-api-client/docs/ElementsRequest.md b/gooddata-api-client/docs/ElementsRequest.md index 7e75342e6..46e259e07 100644 --- a/gooddata-api-client/docs/ElementsRequest.md +++ b/gooddata-api-client/docs/ElementsRequest.md @@ -6,8 +6,8 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **label** | **str** | Requested label. | **complement_filter** | **bool** | Inverse filters: * ```false``` - return items matching ```patternFilter``` and ```exactFilter``` * ```true``` - return items not matching ```patternFilter``` and ```exactFilter``` | [optional] if omitted the server will use the default value of False -**data_sampling_percentage** | **float** | Specifies percentage of source table data scanned during the computation. This field is deprecated and is no longer used during the elements computation. | [optional] if omitted the server will use the default value of 100 -**exact_filter** | **[str]** | Return only items, whose ```label``` title exactly matches one of ```filter```. | [optional] +**data_sampling_percentage** | **float** | Specifies percentage of source table data scanned during the computation. This field is deprecated and is no longer used during the elements computation. | [optional] if omitted the server will use the default value of 100.0 +**exact_filter** | **[str, none_type]** | Return only items, whose ```label``` title exactly matches one of ```filter```. | [optional] **exclude_primary_label** | **bool** | Excludes items from the result that differ only by primary label * ```false``` - return items with distinct primary label * ```true``` - return items with distinct requested label | [optional] if omitted the server will use the default value of False **filter_by** | [**FilterBy**](FilterBy.md) | | [optional] **pattern_filter** | **str** | Return only items, whose ```label``` title case insensitively contains ```filter``` as substring. | [optional] diff --git a/gooddata-api-client/docs/LayoutApi.md b/gooddata-api-client/docs/LayoutApi.md index 59297f9c2..c1043c698 100644 --- a/gooddata-api-client/docs/LayoutApi.md +++ b/gooddata-api-client/docs/LayoutApi.md @@ -8,6 +8,7 @@ Method | HTTP request | Description [**get_data_sources_layout**](LayoutApi.md#get_data_sources_layout) | **GET** /api/v1/layout/dataSources | Get all data sources [**get_logical_model**](LayoutApi.md#get_logical_model) | **GET** /api/v1/layout/workspaces/{workspaceId}/logicalModel | Get logical model [**get_organization_layout**](LayoutApi.md#get_organization_layout) | **GET** /api/v1/layout/organization | Get organization layout +[**get_organization_permissions**](LayoutApi.md#get_organization_permissions) | **GET** /api/v1/layout/organization/permissions | Get organization permissions [**get_pdm_layout**](LayoutApi.md#get_pdm_layout) | **GET** /api/v1/layout/dataSources/{dataSourceId}/physicalModel | Get data source physical model layout [**get_user_data_filters**](LayoutApi.md#get_user_data_filters) | **GET** /api/v1/layout/workspaces/{workspaceId}/userDataFilters | Get user data filters [**get_user_group_permissions**](LayoutApi.md#get_user_group_permissions) | **GET** /api/v1/layout/userGroups/{userGroupId}/permissions | Get permissions for the user-group @@ -27,6 +28,7 @@ Method | HTTP request | Description [**set_analytics_model**](LayoutApi.md#set_analytics_model) | **PUT** /api/v1/layout/workspaces/{workspaceId}/analyticsModel | Set analytics model [**set_logical_model**](LayoutApi.md#set_logical_model) | **PUT** /api/v1/layout/workspaces/{workspaceId}/logicalModel | Set logical model [**set_organization_layout**](LayoutApi.md#set_organization_layout) | **PUT** /api/v1/layout/organization | Set organization layout +[**set_organization_permissions**](LayoutApi.md#set_organization_permissions) | **PUT** /api/v1/layout/organization/permissions | Set organization permissions [**set_pdm_layout**](LayoutApi.md#set_pdm_layout) | **PUT** /api/v1/layout/dataSources/{dataSourceId}/physicalModel | Set data source physical model layout [**set_user_data_filters**](LayoutApi.md#set_user_data_filters) | **PUT** /api/v1/layout/workspaces/{workspaceId}/userDataFilters | Set user data filters [**set_user_group_permissions**](LayoutApi.md#set_user_group_permissions) | **PUT** /api/v1/layout/userGroups/{userGroupId}/permissions | Set permissions for the user-group @@ -327,6 +329,69 @@ No authorization required [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) +# **get_organization_permissions** +> [DeclarativeOrganizationPermission] get_organization_permissions() + +Get organization permissions + +Retrieve organization permissions + +### Example + + +```python +import time +import gooddata_api_client +from gooddata_api_client.api import layout_api +from gooddata_api_client.model.declarative_organization_permission import DeclarativeOrganizationPermission +from pprint import pprint +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = gooddata_api_client.Configuration( + host = "http://localhost" +) + + +# Enter a context with an instance of the API client +with gooddata_api_client.ApiClient() as api_client: + # Create an instance of the API class + api_instance = layout_api.LayoutApi(api_client) + + # example, this endpoint has no required or optional parameters + try: + # Get organization permissions + api_response = api_instance.get_organization_permissions() + pprint(api_response) + except gooddata_api_client.ApiException as e: + print("Exception when calling LayoutApi->get_organization_permissions: %s\n" % e) +``` + + +### Parameters +This endpoint does not need any parameter. + +### Return type + +[**[DeclarativeOrganizationPermission]**](DeclarativeOrganizationPermission.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | Retrieved all organization permissions. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + # **get_pdm_layout** > DeclarativePdm get_pdm_layout(data_source_id) @@ -1526,13 +1591,7 @@ with gooddata_api_client.ApiClient() as api_client: DeclarativeAnalyticalDashboardExtension( id="revenues-analysis", permissions=[ - DeclarativeAnalyticalDashboardPermission( - assignee=AssigneeIdentifier( - id="id_example", - type="user", - ), - name="EDIT", - ), + DeclarativeAnalyticalDashboardPermissionsInner(None), ], ), ], @@ -1552,13 +1611,7 @@ with gooddata_api_client.ApiClient() as api_client: type="user", ), permissions=[ - DeclarativeAnalyticalDashboardPermission( - assignee=AssigneeIdentifier( - id="id_example", - type="user", - ), - name="EDIT", - ), + DeclarativeAnalyticalDashboardPermissionsInner(None), ], tags=["Revenues"], title="Revenues analysis", @@ -1827,13 +1880,7 @@ with gooddata_api_client.ApiClient() as api_client: DeclarativeAnalyticalDashboardExtension( id="revenues-analysis", permissions=[ - DeclarativeAnalyticalDashboardPermission( - assignee=AssigneeIdentifier( - id="id_example", - type="user", - ), - name="EDIT", - ), + DeclarativeAnalyticalDashboardPermissionsInner(None), ], ), ], @@ -1853,13 +1900,7 @@ with gooddata_api_client.ApiClient() as api_client: type="user", ), permissions=[ - DeclarativeAnalyticalDashboardPermission( - assignee=AssigneeIdentifier( - id="id_example", - type="user", - ), - name="EDIT", - ), + DeclarativeAnalyticalDashboardPermissionsInner(None), ], tags=["Revenues"], title="Revenues analysis", @@ -2406,13 +2447,7 @@ with gooddata_api_client.ApiClient() as api_client: DeclarativeAnalyticalDashboardExtension( id="revenues-analysis", permissions=[ - DeclarativeAnalyticalDashboardPermission( - assignee=AssigneeIdentifier( - id="id_example", - type="user", - ), - name="EDIT", - ), + DeclarativeAnalyticalDashboardPermissionsInner(None), ], ), ], @@ -2432,13 +2467,7 @@ with gooddata_api_client.ApiClient() as api_client: type="user", ), permissions=[ - DeclarativeAnalyticalDashboardPermission( - assignee=AssigneeIdentifier( - id="id_example", - type="user", - ), - name="EDIT", - ), + DeclarativeAnalyticalDashboardPermissionsInner(None), ], tags=["Revenues"], title="Revenues analysis", @@ -2714,6 +2743,80 @@ No authorization required [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) +# **set_organization_permissions** +> set_organization_permissions(declarative_organization_permission) + +Set organization permissions + +Sets organization permissions + +### Example + + +```python +import time +import gooddata_api_client +from gooddata_api_client.api import layout_api +from gooddata_api_client.model.declarative_organization_permission import DeclarativeOrganizationPermission +from pprint import pprint +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = gooddata_api_client.Configuration( + host = "http://localhost" +) + + +# Enter a context with an instance of the API client +with gooddata_api_client.ApiClient() as api_client: + # Create an instance of the API class + api_instance = layout_api.LayoutApi(api_client) + declarative_organization_permission = [ + DeclarativeOrganizationPermission( + assignee=AssigneeIdentifier( + id="id_example", + type="user", + ), + name="MANAGE", + ), + ] # [DeclarativeOrganizationPermission] | + + # example passing only required values which don't have defaults set + try: + # Set organization permissions + api_instance.set_organization_permissions(declarative_organization_permission) + except gooddata_api_client.ApiException as e: + print("Exception when calling LayoutApi->set_organization_permissions: %s\n" % e) +``` + + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **declarative_organization_permission** | [**[DeclarativeOrganizationPermission]**](DeclarativeOrganizationPermission.md)| | + +### Return type + +void (empty response body) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: Not defined + + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**204** | Organization permissions set. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + # **set_pdm_layout** > set_pdm_layout(data_source_id, declarative_pdm) @@ -3302,13 +3405,7 @@ with gooddata_api_client.ApiClient() as api_client: DeclarativeAnalyticalDashboardExtension( id="revenues-analysis", permissions=[ - DeclarativeAnalyticalDashboardPermission( - assignee=AssigneeIdentifier( - id="id_example", - type="user", - ), - name="EDIT", - ), + DeclarativeAnalyticalDashboardPermissionsInner(None), ], ), ], @@ -3328,13 +3425,7 @@ with gooddata_api_client.ApiClient() as api_client: type="user", ), permissions=[ - DeclarativeAnalyticalDashboardPermission( - assignee=AssigneeIdentifier( - id="id_example", - type="user", - ), - name="EDIT", - ), + DeclarativeAnalyticalDashboardPermissionsInner(None), ], tags=["Revenues"], title="Revenues analysis", diff --git a/gooddata-api-client/docs/ManageDashboardPermissionsRequestInner.md b/gooddata-api-client/docs/ManageDashboardPermissionsRequestInner.md new file mode 100644 index 000000000..79b1be80b --- /dev/null +++ b/gooddata-api-client/docs/ManageDashboardPermissionsRequestInner.md @@ -0,0 +1,14 @@ +# ManageDashboardPermissionsRequestInner + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**permissions** | **[str]** | | [optional] +**assignee_identifier** | [**AssigneeIdentifier**](AssigneeIdentifier.md) | | [optional] +**assignee_rule** | [**AssigneeRule**](AssigneeRule.md) | | [optional] +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/gooddata-api-client/docs/OrganizationDeclarativeAPIsApi.md b/gooddata-api-client/docs/OrganizationDeclarativeAPIsApi.md index 008da0c2a..3602a6fd0 100644 --- a/gooddata-api-client/docs/OrganizationDeclarativeAPIsApi.md +++ b/gooddata-api-client/docs/OrganizationDeclarativeAPIsApi.md @@ -321,13 +321,7 @@ with gooddata_api_client.ApiClient() as api_client: DeclarativeAnalyticalDashboardExtension( id="revenues-analysis", permissions=[ - DeclarativeAnalyticalDashboardPermission( - assignee=AssigneeIdentifier( - id="id_example", - type="user", - ), - name="EDIT", - ), + DeclarativeAnalyticalDashboardPermissionsInner(None), ], ), ], @@ -347,13 +341,7 @@ with gooddata_api_client.ApiClient() as api_client: type="user", ), permissions=[ - DeclarativeAnalyticalDashboardPermission( - assignee=AssigneeIdentifier( - id="id_example", - type="user", - ), - name="EDIT", - ), + DeclarativeAnalyticalDashboardPermissionsInner(None), ], tags=["Revenues"], title="Revenues analysis", diff --git a/gooddata-api-client/docs/OrganizationPermissionAssignment.md b/gooddata-api-client/docs/OrganizationPermissionAssignment.md new file mode 100644 index 000000000..1200943d4 --- /dev/null +++ b/gooddata-api-client/docs/OrganizationPermissionAssignment.md @@ -0,0 +1,14 @@ +# OrganizationPermissionAssignment + +Organization permission assignments + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**assignee_identifier** | [**AssigneeIdentifier**](AssigneeIdentifier.md) | | +**permissions** | **[str]** | | +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/gooddata-api-client/docs/PermissionsApi.md b/gooddata-api-client/docs/PermissionsApi.md index 8d3c21b90..a7e35b964 100644 --- a/gooddata-api-client/docs/PermissionsApi.md +++ b/gooddata-api-client/docs/PermissionsApi.md @@ -6,8 +6,11 @@ Method | HTTP request | Description ------------- | ------------- | ------------- [**available_assignees**](PermissionsApi.md#available_assignees) | **GET** /api/v1/actions/workspaces/{workspaceId}/analyticalDashboards/{dashboardId}/availableAssignees | Get Available Assignees [**dashboard_permissions**](PermissionsApi.md#dashboard_permissions) | **GET** /api/v1/actions/workspaces/{workspaceId}/analyticalDashboards/{dashboardId}/permissions | Get Dashboard Permissions +[**get_organization_permissions**](PermissionsApi.md#get_organization_permissions) | **GET** /api/v1/layout/organization/permissions | Get organization permissions [**get_workspace_permissions**](PermissionsApi.md#get_workspace_permissions) | **GET** /api/v1/layout/workspaces/{workspaceId}/permissions | Get permissions for the workspace [**manage_dashboard_permissions**](PermissionsApi.md#manage_dashboard_permissions) | **POST** /api/v1/actions/workspaces/{workspaceId}/analyticalDashboards/{dashboardId}/managePermissions | Manage Permissions for a Dashboard +[**manage_organization_permissions**](PermissionsApi.md#manage_organization_permissions) | **POST** /api/v1/actions/organization/managePermissions | Manage Permissions for a Organization +[**set_organization_permissions**](PermissionsApi.md#set_organization_permissions) | **PUT** /api/v1/layout/organization/permissions | Set organization permissions [**set_workspace_permissions**](PermissionsApi.md#set_workspace_permissions) | **PUT** /api/v1/layout/workspaces/{workspaceId}/permissions | Set permissions for the workspace @@ -145,6 +148,69 @@ No authorization required [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) +# **get_organization_permissions** +> [DeclarativeOrganizationPermission] get_organization_permissions() + +Get organization permissions + +Retrieve organization permissions + +### Example + + +```python +import time +import gooddata_api_client +from gooddata_api_client.api import permissions_api +from gooddata_api_client.model.declarative_organization_permission import DeclarativeOrganizationPermission +from pprint import pprint +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = gooddata_api_client.Configuration( + host = "http://localhost" +) + + +# Enter a context with an instance of the API client +with gooddata_api_client.ApiClient() as api_client: + # Create an instance of the API class + api_instance = permissions_api.PermissionsApi(api_client) + + # example, this endpoint has no required or optional parameters + try: + # Get organization permissions + api_response = api_instance.get_organization_permissions() + pprint(api_response) + except gooddata_api_client.ApiException as e: + print("Exception when calling PermissionsApi->get_organization_permissions: %s\n" % e) +``` + + +### Parameters +This endpoint does not need any parameter. + +### Return type + +[**[DeclarativeOrganizationPermission]**](DeclarativeOrganizationPermission.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | Retrieved all organization permissions. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + # **get_workspace_permissions** > DeclarativeWorkspacePermissions get_workspace_permissions(workspace_id) @@ -213,7 +279,7 @@ No authorization required [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) # **manage_dashboard_permissions** -> manage_dashboard_permissions(workspace_id, dashboard_id, permissions_for_assignee) +> manage_dashboard_permissions(workspace_id, dashboard_id, manage_dashboard_permissions_request_inner) Manage Permissions for a Dashboard @@ -224,7 +290,7 @@ Manage Permissions for a Dashboard import time import gooddata_api_client from gooddata_api_client.api import permissions_api -from gooddata_api_client.model.permissions_for_assignee import PermissionsForAssignee +from gooddata_api_client.model.manage_dashboard_permissions_request_inner import ManageDashboardPermissionsRequestInner from pprint import pprint # Defining the host is optional and defaults to http://localhost # See configuration.py for a list of all supported configuration parameters. @@ -239,24 +305,94 @@ with gooddata_api_client.ApiClient() as api_client: api_instance = permissions_api.PermissionsApi(api_client) workspace_id = "workspaceId_example" # str | dashboard_id = "dashboardId_example" # str | - permissions_for_assignee = [ - PermissionsForAssignee( + manage_dashboard_permissions_request_inner = [ + ManageDashboardPermissionsRequestInner(None), + ] # [ManageDashboardPermissionsRequestInner] | + + # example passing only required values which don't have defaults set + try: + # Manage Permissions for a Dashboard + api_instance.manage_dashboard_permissions(workspace_id, dashboard_id, manage_dashboard_permissions_request_inner) + except gooddata_api_client.ApiException as e: + print("Exception when calling PermissionsApi->manage_dashboard_permissions: %s\n" % e) +``` + + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **workspace_id** | **str**| | + **dashboard_id** | **str**| | + **manage_dashboard_permissions_request_inner** | [**[ManageDashboardPermissionsRequestInner]**](ManageDashboardPermissionsRequestInner.md)| | + +### Return type + +void (empty response body) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: Not defined + + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**204** | No Content | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **manage_organization_permissions** +> manage_organization_permissions(organization_permission_assignment) + +Manage Permissions for a Organization + +Manage Permissions for a Organization + +### Example + + +```python +import time +import gooddata_api_client +from gooddata_api_client.api import permissions_api +from gooddata_api_client.model.organization_permission_assignment import OrganizationPermissionAssignment +from pprint import pprint +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = gooddata_api_client.Configuration( + host = "http://localhost" +) + + +# Enter a context with an instance of the API client +with gooddata_api_client.ApiClient() as api_client: + # Create an instance of the API class + api_instance = permissions_api.PermissionsApi(api_client) + organization_permission_assignment = [ + OrganizationPermissionAssignment( assignee_identifier=AssigneeIdentifier( id="id_example", type="user", ), permissions=[ - "EDIT", + "MANAGE", ], ), - ] # [PermissionsForAssignee] | + ] # [OrganizationPermissionAssignment] | # example passing only required values which don't have defaults set try: - # Manage Permissions for a Dashboard - api_instance.manage_dashboard_permissions(workspace_id, dashboard_id, permissions_for_assignee) + # Manage Permissions for a Organization + api_instance.manage_organization_permissions(organization_permission_assignment) except gooddata_api_client.ApiException as e: - print("Exception when calling PermissionsApi->manage_dashboard_permissions: %s\n" % e) + print("Exception when calling PermissionsApi->manage_organization_permissions: %s\n" % e) ``` @@ -264,9 +400,7 @@ with gooddata_api_client.ApiClient() as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **workspace_id** | **str**| | - **dashboard_id** | **str**| | - **permissions_for_assignee** | [**[PermissionsForAssignee]**](PermissionsForAssignee.md)| | + **organization_permission_assignment** | [**[OrganizationPermissionAssignment]**](OrganizationPermissionAssignment.md)| | ### Return type @@ -290,6 +424,80 @@ No authorization required [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) +# **set_organization_permissions** +> set_organization_permissions(declarative_organization_permission) + +Set organization permissions + +Sets organization permissions + +### Example + + +```python +import time +import gooddata_api_client +from gooddata_api_client.api import permissions_api +from gooddata_api_client.model.declarative_organization_permission import DeclarativeOrganizationPermission +from pprint import pprint +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = gooddata_api_client.Configuration( + host = "http://localhost" +) + + +# Enter a context with an instance of the API client +with gooddata_api_client.ApiClient() as api_client: + # Create an instance of the API class + api_instance = permissions_api.PermissionsApi(api_client) + declarative_organization_permission = [ + DeclarativeOrganizationPermission( + assignee=AssigneeIdentifier( + id="id_example", + type="user", + ), + name="MANAGE", + ), + ] # [DeclarativeOrganizationPermission] | + + # example passing only required values which don't have defaults set + try: + # Set organization permissions + api_instance.set_organization_permissions(declarative_organization_permission) + except gooddata_api_client.ApiException as e: + print("Exception when calling PermissionsApi->set_organization_permissions: %s\n" % e) +``` + + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **declarative_organization_permission** | [**[DeclarativeOrganizationPermission]**](DeclarativeOrganizationPermission.md)| | + +### Return type + +void (empty response body) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: Not defined + + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**204** | Organization permissions set. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + # **set_workspace_permissions** > set_workspace_permissions(workspace_id, declarative_workspace_permissions) diff --git a/gooddata-api-client/docs/PermissionsForAssignee.md b/gooddata-api-client/docs/PermissionsForAssignee.md index f5ca7ac37..9d9f840b1 100644 --- a/gooddata-api-client/docs/PermissionsForAssignee.md +++ b/gooddata-api-client/docs/PermissionsForAssignee.md @@ -1,12 +1,12 @@ # PermissionsForAssignee -Desired levels of permissions for an assignee. +Desired levels of permissions for an assignee identified by an identifier. ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**assignee_identifier** | [**AssigneeIdentifier**](AssigneeIdentifier.md) | | **permissions** | **[str]** | | +**assignee_identifier** | [**AssigneeIdentifier**](AssigneeIdentifier.md) | | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/gooddata-api-client/docs/PermissionsForAssigneeAllOf.md b/gooddata-api-client/docs/PermissionsForAssigneeAllOf.md new file mode 100644 index 000000000..91f1bf02b --- /dev/null +++ b/gooddata-api-client/docs/PermissionsForAssigneeAllOf.md @@ -0,0 +1,12 @@ +# PermissionsForAssigneeAllOf + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**assignee_identifier** | [**AssigneeIdentifier**](AssigneeIdentifier.md) | | [optional] +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/gooddata-api-client/docs/PermissionsForAssigneeRule.md b/gooddata-api-client/docs/PermissionsForAssigneeRule.md new file mode 100644 index 000000000..25029abb9 --- /dev/null +++ b/gooddata-api-client/docs/PermissionsForAssigneeRule.md @@ -0,0 +1,14 @@ +# PermissionsForAssigneeRule + +Desired levels of permissions for a collection of assignees identified by a rule. + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**permissions** | **[str]** | | +**assignee_rule** | [**AssigneeRule**](AssigneeRule.md) | | +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/gooddata-api-client/docs/RulePermission.md b/gooddata-api-client/docs/RulePermission.md new file mode 100644 index 000000000..1ab4881cd --- /dev/null +++ b/gooddata-api-client/docs/RulePermission.md @@ -0,0 +1,14 @@ +# RulePermission + +List of rules + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**type** | **str** | Type of the rule | +**permissions** | [**[GrantedPermission]**](GrantedPermission.md) | Permissions granted by the rule | [optional] +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/gooddata-api-client/docs/WorkspacesDeclarativeAPIsApi.md b/gooddata-api-client/docs/WorkspacesDeclarativeAPIsApi.md index f38a1e5b1..794cca727 100644 --- a/gooddata-api-client/docs/WorkspacesDeclarativeAPIsApi.md +++ b/gooddata-api-client/docs/WorkspacesDeclarativeAPIsApi.md @@ -194,13 +194,7 @@ with gooddata_api_client.ApiClient() as api_client: DeclarativeAnalyticalDashboardExtension( id="revenues-analysis", permissions=[ - DeclarativeAnalyticalDashboardPermission( - assignee=AssigneeIdentifier( - id="id_example", - type="user", - ), - name="EDIT", - ), + DeclarativeAnalyticalDashboardPermissionsInner(None), ], ), ], @@ -220,13 +214,7 @@ with gooddata_api_client.ApiClient() as api_client: type="user", ), permissions=[ - DeclarativeAnalyticalDashboardPermission( - assignee=AssigneeIdentifier( - id="id_example", - type="user", - ), - name="EDIT", - ), + DeclarativeAnalyticalDashboardPermissionsInner(None), ], tags=["Revenues"], title="Revenues analysis", @@ -541,13 +529,7 @@ with gooddata_api_client.ApiClient() as api_client: DeclarativeAnalyticalDashboardExtension( id="revenues-analysis", permissions=[ - DeclarativeAnalyticalDashboardPermission( - assignee=AssigneeIdentifier( - id="id_example", - type="user", - ), - name="EDIT", - ), + DeclarativeAnalyticalDashboardPermissionsInner(None), ], ), ], @@ -567,13 +549,7 @@ with gooddata_api_client.ApiClient() as api_client: type="user", ), permissions=[ - DeclarativeAnalyticalDashboardPermission( - assignee=AssigneeIdentifier( - id="id_example", - type="user", - ), - name="EDIT", - ), + DeclarativeAnalyticalDashboardPermissionsInner(None), ], tags=["Revenues"], title="Revenues analysis", diff --git a/gooddata-api-client/gooddata_api_client/api/actions_api.py b/gooddata-api-client/gooddata_api_client/api/actions_api.py index af8ecd1c0..4e6c898e2 100644 --- a/gooddata-api-client/gooddata_api_client/api/actions_api.py +++ b/gooddata-api-client/gooddata_api_client/api/actions_api.py @@ -43,8 +43,9 @@ from gooddata_api_client.model.generate_ldm_request import GenerateLdmRequest from gooddata_api_client.model.hierarchy_object_identification import HierarchyObjectIdentification from gooddata_api_client.model.identifier_duplications import IdentifierDuplications +from gooddata_api_client.model.manage_dashboard_permissions_request_inner import ManageDashboardPermissionsRequestInner +from gooddata_api_client.model.organization_permission_assignment import OrganizationPermissionAssignment from gooddata_api_client.model.pdf_export_request import PdfExportRequest -from gooddata_api_client.model.permissions_for_assignee import PermissionsForAssignee from gooddata_api_client.model.platform_usage import PlatformUsage from gooddata_api_client.model.platform_usage_request import PlatformUsageRequest from gooddata_api_client.model.resolve_settings_request import ResolveSettingsRequest @@ -1259,12 +1260,12 @@ def __init__(self, api_client=None): 'all': [ 'workspace_id', 'dashboard_id', - 'permissions_for_assignee', + 'manage_dashboard_permissions_request_inner', ], 'required': [ 'workspace_id', 'dashboard_id', - 'permissions_for_assignee', + 'manage_dashboard_permissions_request_inner', ], 'nullable': [ ], @@ -1283,8 +1284,8 @@ def __init__(self, api_client=None): (str,), 'dashboard_id': (str,), - 'permissions_for_assignee': - ([PermissionsForAssignee],), + 'manage_dashboard_permissions_request_inner': + ([ManageDashboardPermissionsRequestInner],), }, 'attribute_map': { 'workspace_id': 'workspaceId', @@ -1293,7 +1294,55 @@ def __init__(self, api_client=None): 'location_map': { 'workspace_id': 'path', 'dashboard_id': 'path', - 'permissions_for_assignee': 'body', + 'manage_dashboard_permissions_request_inner': 'body', + }, + 'collection_format_map': { + } + }, + headers_map={ + 'accept': [], + 'content_type': [ + 'application/json' + ] + }, + api_client=api_client + ) + self.manage_organization_permissions_endpoint = _Endpoint( + settings={ + 'response_type': None, + 'auth': [], + 'endpoint_path': '/api/v1/actions/organization/managePermissions', + 'operation_id': 'manage_organization_permissions', + 'http_method': 'POST', + 'servers': None, + }, + params_map={ + 'all': [ + 'organization_permission_assignment', + ], + 'required': [ + 'organization_permission_assignment', + ], + 'nullable': [ + ], + 'enum': [ + ], + 'validation': [ + ] + }, + root_map={ + 'validations': { + }, + 'allowed_values': { + }, + 'openapi_types': { + 'organization_permission_assignment': + ([OrganizationPermissionAssignment],), + }, + 'attribute_map': { + }, + 'location_map': { + 'organization_permission_assignment': 'body', }, 'collection_format_map': { } @@ -3846,7 +3895,7 @@ def manage_dashboard_permissions( self, workspace_id, dashboard_id, - permissions_for_assignee, + manage_dashboard_permissions_request_inner, **kwargs ): """Manage Permissions for a Dashboard # noqa: E501 @@ -3854,13 +3903,13 @@ def manage_dashboard_permissions( This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True - >>> thread = api.manage_dashboard_permissions(workspace_id, dashboard_id, permissions_for_assignee, async_req=True) + >>> thread = api.manage_dashboard_permissions(workspace_id, dashboard_id, manage_dashboard_permissions_request_inner, async_req=True) >>> result = thread.get() Args: workspace_id (str): dashboard_id (str): - permissions_for_assignee ([PermissionsForAssignee]): + manage_dashboard_permissions_request_inner ([ManageDashboardPermissionsRequestInner]): Keyword Args: _return_http_data_only (bool): response data without head status @@ -3928,10 +3977,93 @@ def manage_dashboard_permissions( workspace_id kwargs['dashboard_id'] = \ dashboard_id - kwargs['permissions_for_assignee'] = \ - permissions_for_assignee + kwargs['manage_dashboard_permissions_request_inner'] = \ + manage_dashboard_permissions_request_inner return self.manage_dashboard_permissions_endpoint.call_with_http_info(**kwargs) + def manage_organization_permissions( + self, + organization_permission_assignment, + **kwargs + ): + """Manage Permissions for a Organization # noqa: E501 + + Manage Permissions for a Organization # noqa: E501 + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + + >>> thread = api.manage_organization_permissions(organization_permission_assignment, async_req=True) + >>> result = thread.get() + + Args: + organization_permission_assignment ([OrganizationPermissionAssignment]): + + Keyword Args: + _return_http_data_only (bool): response data without head status + code and headers. Default is True. + _preload_content (bool): if False, the urllib3.HTTPResponse object + will be returned without reading/decoding response data. + Default is True. + _request_timeout (int/float/tuple): timeout setting for this request. If + one number provided, it will be total request timeout. It can also + be a pair (tuple) of (connection, read) timeouts. + Default is None. + _check_input_type (bool): specifies if type checking + should be done one the data sent to the server. + Default is True. + _check_return_type (bool): specifies if type checking + should be done one the data received from the server. + Default is True. + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _content_type (str/None): force body content-type. + Default is None and content-type will be predicted by allowed + content-types and body. + _host_index (int/None): specifies the index of the server + that we want to use. + Default is read from the configuration. + _request_auths (list): set to override the auth_settings for an a single + request; this effectively ignores the authentication + in the spec for a single request. + Default is None + async_req (bool): execute request asynchronously + + Returns: + None + If the method is called asynchronously, returns the request + thread. + """ + kwargs['async_req'] = kwargs.get( + 'async_req', False + ) + kwargs['_return_http_data_only'] = kwargs.get( + '_return_http_data_only', True + ) + kwargs['_preload_content'] = kwargs.get( + '_preload_content', True + ) + kwargs['_request_timeout'] = kwargs.get( + '_request_timeout', None + ) + kwargs['_check_input_type'] = kwargs.get( + '_check_input_type', True + ) + kwargs['_check_return_type'] = kwargs.get( + '_check_return_type', True + ) + kwargs['_spec_property_naming'] = kwargs.get( + '_spec_property_naming', False + ) + kwargs['_content_type'] = kwargs.get( + '_content_type') + kwargs['_host_index'] = kwargs.get('_host_index') + kwargs['_request_auths'] = kwargs.get('_request_auths', None) + kwargs['organization_permission_assignment'] = \ + organization_permission_assignment + return self.manage_organization_permissions_endpoint.call_with_http_info(**kwargs) + def overridden_child_entities( self, workspace_id, diff --git a/gooddata-api-client/gooddata_api_client/api/layout_api.py b/gooddata-api-client/gooddata_api_client/api/layout_api.py index 1d39795a4..821072541 100644 --- a/gooddata-api-client/gooddata_api_client/api/layout_api.py +++ b/gooddata-api-client/gooddata_api_client/api/layout_api.py @@ -26,6 +26,7 @@ from gooddata_api_client.model.declarative_data_sources import DeclarativeDataSources from gooddata_api_client.model.declarative_model import DeclarativeModel from gooddata_api_client.model.declarative_organization import DeclarativeOrganization +from gooddata_api_client.model.declarative_organization_permission import DeclarativeOrganizationPermission from gooddata_api_client.model.declarative_pdm import DeclarativePdm from gooddata_api_client.model.declarative_user_data_filters import DeclarativeUserDataFilters from gooddata_api_client.model.declarative_user_group_permissions import DeclarativeUserGroupPermissions @@ -259,6 +260,48 @@ def __init__(self, api_client=None): }, api_client=api_client ) + self.get_organization_permissions_endpoint = _Endpoint( + settings={ + 'response_type': ([DeclarativeOrganizationPermission],), + 'auth': [], + 'endpoint_path': '/api/v1/layout/organization/permissions', + 'operation_id': 'get_organization_permissions', + 'http_method': 'GET', + 'servers': None, + }, + params_map={ + 'all': [ + ], + 'required': [], + 'nullable': [ + ], + 'enum': [ + ], + 'validation': [ + ] + }, + root_map={ + 'validations': { + }, + 'allowed_values': { + }, + 'openapi_types': { + }, + 'attribute_map': { + }, + 'location_map': { + }, + 'collection_format_map': { + } + }, + headers_map={ + 'accept': [ + 'application/json' + ], + 'content_type': [], + }, + api_client=api_client + ) self.get_pdm_layout_endpoint = _Endpoint( settings={ 'response_type': (DeclarativePdm,), @@ -1187,6 +1230,54 @@ def __init__(self, api_client=None): }, api_client=api_client ) + self.set_organization_permissions_endpoint = _Endpoint( + settings={ + 'response_type': None, + 'auth': [], + 'endpoint_path': '/api/v1/layout/organization/permissions', + 'operation_id': 'set_organization_permissions', + 'http_method': 'PUT', + 'servers': None, + }, + params_map={ + 'all': [ + 'declarative_organization_permission', + ], + 'required': [ + 'declarative_organization_permission', + ], + 'nullable': [ + ], + 'enum': [ + ], + 'validation': [ + ] + }, + root_map={ + 'validations': { + }, + 'allowed_values': { + }, + 'openapi_types': { + 'declarative_organization_permission': + ([DeclarativeOrganizationPermission],), + }, + 'attribute_map': { + }, + 'location_map': { + 'declarative_organization_permission': 'body', + }, + 'collection_format_map': { + } + }, + headers_map={ + 'accept': [], + 'content_type': [ + 'application/json' + ] + }, + api_client=api_client + ) self.set_pdm_layout_endpoint = _Endpoint( settings={ 'response_type': None, @@ -1879,6 +1970,84 @@ def get_organization_layout( kwargs['_request_auths'] = kwargs.get('_request_auths', None) return self.get_organization_layout_endpoint.call_with_http_info(**kwargs) + def get_organization_permissions( + self, + **kwargs + ): + """Get organization permissions # noqa: E501 + + Retrieve organization permissions # noqa: E501 + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + + >>> thread = api.get_organization_permissions(async_req=True) + >>> result = thread.get() + + + Keyword Args: + _return_http_data_only (bool): response data without head status + code and headers. Default is True. + _preload_content (bool): if False, the urllib3.HTTPResponse object + will be returned without reading/decoding response data. + Default is True. + _request_timeout (int/float/tuple): timeout setting for this request. If + one number provided, it will be total request timeout. It can also + be a pair (tuple) of (connection, read) timeouts. + Default is None. + _check_input_type (bool): specifies if type checking + should be done one the data sent to the server. + Default is True. + _check_return_type (bool): specifies if type checking + should be done one the data received from the server. + Default is True. + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _content_type (str/None): force body content-type. + Default is None and content-type will be predicted by allowed + content-types and body. + _host_index (int/None): specifies the index of the server + that we want to use. + Default is read from the configuration. + _request_auths (list): set to override the auth_settings for an a single + request; this effectively ignores the authentication + in the spec for a single request. + Default is None + async_req (bool): execute request asynchronously + + Returns: + [DeclarativeOrganizationPermission] + If the method is called asynchronously, returns the request + thread. + """ + kwargs['async_req'] = kwargs.get( + 'async_req', False + ) + kwargs['_return_http_data_only'] = kwargs.get( + '_return_http_data_only', True + ) + kwargs['_preload_content'] = kwargs.get( + '_preload_content', True + ) + kwargs['_request_timeout'] = kwargs.get( + '_request_timeout', None + ) + kwargs['_check_input_type'] = kwargs.get( + '_check_input_type', True + ) + kwargs['_check_return_type'] = kwargs.get( + '_check_return_type', True + ) + kwargs['_spec_property_naming'] = kwargs.get( + '_spec_property_naming', False + ) + kwargs['_content_type'] = kwargs.get( + '_content_type') + kwargs['_host_index'] = kwargs.get('_host_index') + kwargs['_request_auths'] = kwargs.get('_request_auths', None) + return self.get_organization_permissions_endpoint.call_with_http_info(**kwargs) + def get_pdm_layout( self, data_source_id, @@ -3445,6 +3614,89 @@ def set_organization_layout( declarative_organization return self.set_organization_layout_endpoint.call_with_http_info(**kwargs) + def set_organization_permissions( + self, + declarative_organization_permission, + **kwargs + ): + """Set organization permissions # noqa: E501 + + Sets organization permissions # noqa: E501 + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + + >>> thread = api.set_organization_permissions(declarative_organization_permission, async_req=True) + >>> result = thread.get() + + Args: + declarative_organization_permission ([DeclarativeOrganizationPermission]): + + Keyword Args: + _return_http_data_only (bool): response data without head status + code and headers. Default is True. + _preload_content (bool): if False, the urllib3.HTTPResponse object + will be returned without reading/decoding response data. + Default is True. + _request_timeout (int/float/tuple): timeout setting for this request. If + one number provided, it will be total request timeout. It can also + be a pair (tuple) of (connection, read) timeouts. + Default is None. + _check_input_type (bool): specifies if type checking + should be done one the data sent to the server. + Default is True. + _check_return_type (bool): specifies if type checking + should be done one the data received from the server. + Default is True. + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _content_type (str/None): force body content-type. + Default is None and content-type will be predicted by allowed + content-types and body. + _host_index (int/None): specifies the index of the server + that we want to use. + Default is read from the configuration. + _request_auths (list): set to override the auth_settings for an a single + request; this effectively ignores the authentication + in the spec for a single request. + Default is None + async_req (bool): execute request asynchronously + + Returns: + None + If the method is called asynchronously, returns the request + thread. + """ + kwargs['async_req'] = kwargs.get( + 'async_req', False + ) + kwargs['_return_http_data_only'] = kwargs.get( + '_return_http_data_only', True + ) + kwargs['_preload_content'] = kwargs.get( + '_preload_content', True + ) + kwargs['_request_timeout'] = kwargs.get( + '_request_timeout', None + ) + kwargs['_check_input_type'] = kwargs.get( + '_check_input_type', True + ) + kwargs['_check_return_type'] = kwargs.get( + '_check_return_type', True + ) + kwargs['_spec_property_naming'] = kwargs.get( + '_spec_property_naming', False + ) + kwargs['_content_type'] = kwargs.get( + '_content_type') + kwargs['_host_index'] = kwargs.get('_host_index') + kwargs['_request_auths'] = kwargs.get('_request_auths', None) + kwargs['declarative_organization_permission'] = \ + declarative_organization_permission + return self.set_organization_permissions_endpoint.call_with_http_info(**kwargs) + def set_pdm_layout( self, data_source_id, diff --git a/gooddata-api-client/gooddata_api_client/api/permissions_api.py b/gooddata-api-client/gooddata_api_client/api/permissions_api.py index 65e217427..f7714b826 100644 --- a/gooddata-api-client/gooddata_api_client/api/permissions_api.py +++ b/gooddata-api-client/gooddata_api_client/api/permissions_api.py @@ -24,8 +24,10 @@ ) from gooddata_api_client.model.available_assignees import AvailableAssignees from gooddata_api_client.model.dashboard_permissions import DashboardPermissions +from gooddata_api_client.model.declarative_organization_permission import DeclarativeOrganizationPermission from gooddata_api_client.model.declarative_workspace_permissions import DeclarativeWorkspacePermissions -from gooddata_api_client.model.permissions_for_assignee import PermissionsForAssignee +from gooddata_api_client.model.manage_dashboard_permissions_request_inner import ManageDashboardPermissionsRequestInner +from gooddata_api_client.model.organization_permission_assignment import OrganizationPermissionAssignment class PermissionsApi(object): @@ -149,6 +151,48 @@ def __init__(self, api_client=None): }, api_client=api_client ) + self.get_organization_permissions_endpoint = _Endpoint( + settings={ + 'response_type': ([DeclarativeOrganizationPermission],), + 'auth': [], + 'endpoint_path': '/api/v1/layout/organization/permissions', + 'operation_id': 'get_organization_permissions', + 'http_method': 'GET', + 'servers': None, + }, + params_map={ + 'all': [ + ], + 'required': [], + 'nullable': [ + ], + 'enum': [ + ], + 'validation': [ + ] + }, + root_map={ + 'validations': { + }, + 'allowed_values': { + }, + 'openapi_types': { + }, + 'attribute_map': { + }, + 'location_map': { + }, + 'collection_format_map': { + } + }, + headers_map={ + 'accept': [ + 'application/json' + ], + 'content_type': [], + }, + api_client=api_client + ) self.get_workspace_permissions_endpoint = _Endpoint( settings={ 'response_type': (DeclarativeWorkspacePermissions,), @@ -211,12 +255,12 @@ def __init__(self, api_client=None): 'all': [ 'workspace_id', 'dashboard_id', - 'permissions_for_assignee', + 'manage_dashboard_permissions_request_inner', ], 'required': [ 'workspace_id', 'dashboard_id', - 'permissions_for_assignee', + 'manage_dashboard_permissions_request_inner', ], 'nullable': [ ], @@ -235,8 +279,8 @@ def __init__(self, api_client=None): (str,), 'dashboard_id': (str,), - 'permissions_for_assignee': - ([PermissionsForAssignee],), + 'manage_dashboard_permissions_request_inner': + ([ManageDashboardPermissionsRequestInner],), }, 'attribute_map': { 'workspace_id': 'workspaceId', @@ -245,7 +289,103 @@ def __init__(self, api_client=None): 'location_map': { 'workspace_id': 'path', 'dashboard_id': 'path', - 'permissions_for_assignee': 'body', + 'manage_dashboard_permissions_request_inner': 'body', + }, + 'collection_format_map': { + } + }, + headers_map={ + 'accept': [], + 'content_type': [ + 'application/json' + ] + }, + api_client=api_client + ) + self.manage_organization_permissions_endpoint = _Endpoint( + settings={ + 'response_type': None, + 'auth': [], + 'endpoint_path': '/api/v1/actions/organization/managePermissions', + 'operation_id': 'manage_organization_permissions', + 'http_method': 'POST', + 'servers': None, + }, + params_map={ + 'all': [ + 'organization_permission_assignment', + ], + 'required': [ + 'organization_permission_assignment', + ], + 'nullable': [ + ], + 'enum': [ + ], + 'validation': [ + ] + }, + root_map={ + 'validations': { + }, + 'allowed_values': { + }, + 'openapi_types': { + 'organization_permission_assignment': + ([OrganizationPermissionAssignment],), + }, + 'attribute_map': { + }, + 'location_map': { + 'organization_permission_assignment': 'body', + }, + 'collection_format_map': { + } + }, + headers_map={ + 'accept': [], + 'content_type': [ + 'application/json' + ] + }, + api_client=api_client + ) + self.set_organization_permissions_endpoint = _Endpoint( + settings={ + 'response_type': None, + 'auth': [], + 'endpoint_path': '/api/v1/layout/organization/permissions', + 'operation_id': 'set_organization_permissions', + 'http_method': 'PUT', + 'servers': None, + }, + params_map={ + 'all': [ + 'declarative_organization_permission', + ], + 'required': [ + 'declarative_organization_permission', + ], + 'nullable': [ + ], + 'enum': [ + ], + 'validation': [ + ] + }, + root_map={ + 'validations': { + }, + 'allowed_values': { + }, + 'openapi_types': { + 'declarative_organization_permission': + ([DeclarativeOrganizationPermission],), + }, + 'attribute_map': { + }, + 'location_map': { + 'declarative_organization_permission': 'body', }, 'collection_format_map': { } @@ -485,6 +625,84 @@ def dashboard_permissions( dashboard_id return self.dashboard_permissions_endpoint.call_with_http_info(**kwargs) + def get_organization_permissions( + self, + **kwargs + ): + """Get organization permissions # noqa: E501 + + Retrieve organization permissions # noqa: E501 + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + + >>> thread = api.get_organization_permissions(async_req=True) + >>> result = thread.get() + + + Keyword Args: + _return_http_data_only (bool): response data without head status + code and headers. Default is True. + _preload_content (bool): if False, the urllib3.HTTPResponse object + will be returned without reading/decoding response data. + Default is True. + _request_timeout (int/float/tuple): timeout setting for this request. If + one number provided, it will be total request timeout. It can also + be a pair (tuple) of (connection, read) timeouts. + Default is None. + _check_input_type (bool): specifies if type checking + should be done one the data sent to the server. + Default is True. + _check_return_type (bool): specifies if type checking + should be done one the data received from the server. + Default is True. + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _content_type (str/None): force body content-type. + Default is None and content-type will be predicted by allowed + content-types and body. + _host_index (int/None): specifies the index of the server + that we want to use. + Default is read from the configuration. + _request_auths (list): set to override the auth_settings for an a single + request; this effectively ignores the authentication + in the spec for a single request. + Default is None + async_req (bool): execute request asynchronously + + Returns: + [DeclarativeOrganizationPermission] + If the method is called asynchronously, returns the request + thread. + """ + kwargs['async_req'] = kwargs.get( + 'async_req', False + ) + kwargs['_return_http_data_only'] = kwargs.get( + '_return_http_data_only', True + ) + kwargs['_preload_content'] = kwargs.get( + '_preload_content', True + ) + kwargs['_request_timeout'] = kwargs.get( + '_request_timeout', None + ) + kwargs['_check_input_type'] = kwargs.get( + '_check_input_type', True + ) + kwargs['_check_return_type'] = kwargs.get( + '_check_return_type', True + ) + kwargs['_spec_property_naming'] = kwargs.get( + '_spec_property_naming', False + ) + kwargs['_content_type'] = kwargs.get( + '_content_type') + kwargs['_host_index'] = kwargs.get('_host_index') + kwargs['_request_auths'] = kwargs.get('_request_auths', None) + return self.get_organization_permissions_endpoint.call_with_http_info(**kwargs) + def get_workspace_permissions( self, workspace_id, @@ -572,7 +790,7 @@ def manage_dashboard_permissions( self, workspace_id, dashboard_id, - permissions_for_assignee, + manage_dashboard_permissions_request_inner, **kwargs ): """Manage Permissions for a Dashboard # noqa: E501 @@ -580,13 +798,13 @@ def manage_dashboard_permissions( This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True - >>> thread = api.manage_dashboard_permissions(workspace_id, dashboard_id, permissions_for_assignee, async_req=True) + >>> thread = api.manage_dashboard_permissions(workspace_id, dashboard_id, manage_dashboard_permissions_request_inner, async_req=True) >>> result = thread.get() Args: workspace_id (str): dashboard_id (str): - permissions_for_assignee ([PermissionsForAssignee]): + manage_dashboard_permissions_request_inner ([ManageDashboardPermissionsRequestInner]): Keyword Args: _return_http_data_only (bool): response data without head status @@ -654,10 +872,176 @@ def manage_dashboard_permissions( workspace_id kwargs['dashboard_id'] = \ dashboard_id - kwargs['permissions_for_assignee'] = \ - permissions_for_assignee + kwargs['manage_dashboard_permissions_request_inner'] = \ + manage_dashboard_permissions_request_inner return self.manage_dashboard_permissions_endpoint.call_with_http_info(**kwargs) + def manage_organization_permissions( + self, + organization_permission_assignment, + **kwargs + ): + """Manage Permissions for a Organization # noqa: E501 + + Manage Permissions for a Organization # noqa: E501 + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + + >>> thread = api.manage_organization_permissions(organization_permission_assignment, async_req=True) + >>> result = thread.get() + + Args: + organization_permission_assignment ([OrganizationPermissionAssignment]): + + Keyword Args: + _return_http_data_only (bool): response data without head status + code and headers. Default is True. + _preload_content (bool): if False, the urllib3.HTTPResponse object + will be returned without reading/decoding response data. + Default is True. + _request_timeout (int/float/tuple): timeout setting for this request. If + one number provided, it will be total request timeout. It can also + be a pair (tuple) of (connection, read) timeouts. + Default is None. + _check_input_type (bool): specifies if type checking + should be done one the data sent to the server. + Default is True. + _check_return_type (bool): specifies if type checking + should be done one the data received from the server. + Default is True. + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _content_type (str/None): force body content-type. + Default is None and content-type will be predicted by allowed + content-types and body. + _host_index (int/None): specifies the index of the server + that we want to use. + Default is read from the configuration. + _request_auths (list): set to override the auth_settings for an a single + request; this effectively ignores the authentication + in the spec for a single request. + Default is None + async_req (bool): execute request asynchronously + + Returns: + None + If the method is called asynchronously, returns the request + thread. + """ + kwargs['async_req'] = kwargs.get( + 'async_req', False + ) + kwargs['_return_http_data_only'] = kwargs.get( + '_return_http_data_only', True + ) + kwargs['_preload_content'] = kwargs.get( + '_preload_content', True + ) + kwargs['_request_timeout'] = kwargs.get( + '_request_timeout', None + ) + kwargs['_check_input_type'] = kwargs.get( + '_check_input_type', True + ) + kwargs['_check_return_type'] = kwargs.get( + '_check_return_type', True + ) + kwargs['_spec_property_naming'] = kwargs.get( + '_spec_property_naming', False + ) + kwargs['_content_type'] = kwargs.get( + '_content_type') + kwargs['_host_index'] = kwargs.get('_host_index') + kwargs['_request_auths'] = kwargs.get('_request_auths', None) + kwargs['organization_permission_assignment'] = \ + organization_permission_assignment + return self.manage_organization_permissions_endpoint.call_with_http_info(**kwargs) + + def set_organization_permissions( + self, + declarative_organization_permission, + **kwargs + ): + """Set organization permissions # noqa: E501 + + Sets organization permissions # noqa: E501 + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + + >>> thread = api.set_organization_permissions(declarative_organization_permission, async_req=True) + >>> result = thread.get() + + Args: + declarative_organization_permission ([DeclarativeOrganizationPermission]): + + Keyword Args: + _return_http_data_only (bool): response data without head status + code and headers. Default is True. + _preload_content (bool): if False, the urllib3.HTTPResponse object + will be returned without reading/decoding response data. + Default is True. + _request_timeout (int/float/tuple): timeout setting for this request. If + one number provided, it will be total request timeout. It can also + be a pair (tuple) of (connection, read) timeouts. + Default is None. + _check_input_type (bool): specifies if type checking + should be done one the data sent to the server. + Default is True. + _check_return_type (bool): specifies if type checking + should be done one the data received from the server. + Default is True. + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _content_type (str/None): force body content-type. + Default is None and content-type will be predicted by allowed + content-types and body. + _host_index (int/None): specifies the index of the server + that we want to use. + Default is read from the configuration. + _request_auths (list): set to override the auth_settings for an a single + request; this effectively ignores the authentication + in the spec for a single request. + Default is None + async_req (bool): execute request asynchronously + + Returns: + None + If the method is called asynchronously, returns the request + thread. + """ + kwargs['async_req'] = kwargs.get( + 'async_req', False + ) + kwargs['_return_http_data_only'] = kwargs.get( + '_return_http_data_only', True + ) + kwargs['_preload_content'] = kwargs.get( + '_preload_content', True + ) + kwargs['_request_timeout'] = kwargs.get( + '_request_timeout', None + ) + kwargs['_check_input_type'] = kwargs.get( + '_check_input_type', True + ) + kwargs['_check_return_type'] = kwargs.get( + '_check_return_type', True + ) + kwargs['_spec_property_naming'] = kwargs.get( + '_spec_property_naming', False + ) + kwargs['_content_type'] = kwargs.get( + '_content_type') + kwargs['_host_index'] = kwargs.get('_host_index') + kwargs['_request_auths'] = kwargs.get('_request_auths', None) + kwargs['declarative_organization_permission'] = \ + declarative_organization_permission + return self.set_organization_permissions_endpoint.call_with_http_info(**kwargs) + def set_workspace_permissions( self, workspace_id, diff --git a/gooddata-api-client/gooddata_api_client/model/api_entitlement.py b/gooddata-api-client/gooddata_api_client/model/api_entitlement.py index 8ae488dc8..537cb8688 100644 --- a/gooddata-api-client/gooddata_api_client/model/api_entitlement.py +++ b/gooddata-api-client/gooddata_api_client/model/api_entitlement.py @@ -61,6 +61,7 @@ class ApiEntitlement(ModelNormal): 'CONTRACT': "Contract", 'CUSTOMTHEMING': "CustomTheming", 'EXTRACACHE': "ExtraCache", + 'HIPAA': "Hipaa", 'PDFEXPORTS': "PdfExports", 'MANAGEDOIDC': "ManagedOIDC", 'UILOCALIZATION': "UiLocalization", diff --git a/gooddata-api-client/gooddata_api_client/model/assignee_rule.py b/gooddata-api-client/gooddata_api_client/model/assignee_rule.py new file mode 100644 index 000000000..5889af62a --- /dev/null +++ b/gooddata-api-client/gooddata_api_client/model/assignee_rule.py @@ -0,0 +1,275 @@ +""" + OpenAPI definition + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) # noqa: E501 + + The version of the OpenAPI document: v0 + Contact: support@gooddata.com + Generated by: https://openapi-generator.tech +""" + + +import re # noqa: F401 +import sys # noqa: F401 + +from gooddata_api_client.model_utils import ( # noqa: F401 + ApiTypeError, + ModelComposed, + ModelNormal, + ModelSimple, + cached_property, + change_keys_js_to_python, + convert_js_args_to_python_args, + date, + datetime, + file_type, + none_type, + validate_get_composed_info, + OpenApiModel +) +from gooddata_api_client.exceptions import ApiAttributeError + + + +class AssigneeRule(ModelNormal): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + + Attributes: + allowed_values (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + with a capitalized key describing the allowed value and an allowed + value. These dicts store the allowed enum values. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + discriminator_value_class_map (dict): A dict to go from the discriminator + variable value to the discriminator class name. + validations (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + that stores validations for max_length, min_length, max_items, + min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, + inclusive_minimum, and regex. + additional_properties_type (tuple): A tuple of classes accepted + as additional properties values. + """ + + allowed_values = { + ('type',): { + 'ALLWORKSPACEUSERS': "allWorkspaceUsers", + }, + } + + validations = { + } + + @cached_property + def additional_properties_type(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + """ + return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501 + + _nullable = False + + @cached_property + def openapi_types(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + + Returns + openapi_types (dict): The key is attribute name + and the value is attribute type. + """ + return { + 'type': (str,), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'type': 'type', # noqa: E501 + } + + read_only_vars = { + } + + _composed_schemas = {} + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 + """AssigneeRule - a model defined in OpenAPI + + Args: + + Keyword Args: + type (str): defaults to "allWorkspaceUsers", must be one of ["allWorkspaceUsers", ] # noqa: E501 + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + """ + + type = kwargs.get('type', "allWorkspaceUsers") + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', True) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + self = super(OpenApiModel, cls).__new__(cls) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + self.type = type + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + return self + + required_properties = set([ + '_data_store', + '_check_type', + '_spec_property_naming', + '_path_to_item', + '_configuration', + '_visited_composed_classes', + ]) + + @convert_js_args_to_python_args + def __init__(self, *args, **kwargs): # noqa: E501 + """AssigneeRule - a model defined in OpenAPI + + Args: + + Keyword Args: + type (str): defaults to "allWorkspaceUsers", must be one of ["allWorkspaceUsers", ] # noqa: E501 + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + """ + + type = kwargs.get('type', "allWorkspaceUsers") + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + self.type = type + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + if var_name in self.read_only_vars: + raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate " + f"class with read only attributes.") diff --git a/gooddata-api-client/gooddata_api_client/model/dashboard_permissions.py b/gooddata-api-client/gooddata_api_client/model/dashboard_permissions.py index 64dd0934a..8d307bdf5 100644 --- a/gooddata-api-client/gooddata_api_client/model/dashboard_permissions.py +++ b/gooddata-api-client/gooddata_api_client/model/dashboard_permissions.py @@ -31,8 +31,10 @@ def lazy_import(): + from gooddata_api_client.model.rule_permission import RulePermission from gooddata_api_client.model.user_group_permission import UserGroupPermission from gooddata_api_client.model.user_permission import UserPermission + globals()['RulePermission'] = RulePermission globals()['UserGroupPermission'] = UserGroupPermission globals()['UserPermission'] = UserPermission @@ -90,6 +92,7 @@ def openapi_types(): """ lazy_import() return { + 'rules': ([RulePermission],), # noqa: E501 'user_groups': ([UserGroupPermission],), # noqa: E501 'users': ([UserPermission],), # noqa: E501 } @@ -100,6 +103,7 @@ def discriminator(): attribute_map = { + 'rules': 'rules', # noqa: E501 'user_groups': 'userGroups', # noqa: E501 'users': 'users', # noqa: E501 } @@ -111,10 +115,11 @@ def discriminator(): @classmethod @convert_js_args_to_python_args - def _from_openapi_data(cls, user_groups, users, *args, **kwargs): # noqa: E501 + def _from_openapi_data(cls, rules, user_groups, users, *args, **kwargs): # noqa: E501 """DashboardPermissions - a model defined in OpenAPI Args: + rules ([RulePermission]): List of rules user_groups ([UserGroupPermission]): List of user groups users ([UserPermission]): List of users @@ -180,6 +185,7 @@ def _from_openapi_data(cls, user_groups, users, *args, **kwargs): # noqa: E501 self._configuration = _configuration self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + self.rules = rules self.user_groups = user_groups self.users = users for var_name, var_value in kwargs.items(): @@ -202,10 +208,11 @@ def _from_openapi_data(cls, user_groups, users, *args, **kwargs): # noqa: E501 ]) @convert_js_args_to_python_args - def __init__(self, user_groups, users, *args, **kwargs): # noqa: E501 + def __init__(self, rules, user_groups, users, *args, **kwargs): # noqa: E501 """DashboardPermissions - a model defined in OpenAPI Args: + rules ([RulePermission]): List of rules user_groups ([UserGroupPermission]): List of user groups users ([UserPermission]): List of users @@ -269,6 +276,7 @@ def __init__(self, user_groups, users, *args, **kwargs): # noqa: E501 self._configuration = _configuration self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + self.rules = rules self.user_groups = user_groups self.users = users for var_name, var_value in kwargs.items(): diff --git a/gooddata-api-client/gooddata_api_client/model/dashboard_permissions_assignment.py b/gooddata-api-client/gooddata_api_client/model/dashboard_permissions_assignment.py new file mode 100644 index 000000000..674515ff4 --- /dev/null +++ b/gooddata-api-client/gooddata_api_client/model/dashboard_permissions_assignment.py @@ -0,0 +1,275 @@ +""" + OpenAPI definition + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) # noqa: E501 + + The version of the OpenAPI document: v0 + Contact: support@gooddata.com + Generated by: https://openapi-generator.tech +""" + + +import re # noqa: F401 +import sys # noqa: F401 + +from gooddata_api_client.model_utils import ( # noqa: F401 + ApiTypeError, + ModelComposed, + ModelNormal, + ModelSimple, + cached_property, + change_keys_js_to_python, + convert_js_args_to_python_args, + date, + datetime, + file_type, + none_type, + validate_get_composed_info, + OpenApiModel +) +from gooddata_api_client.exceptions import ApiAttributeError + + + +class DashboardPermissionsAssignment(ModelNormal): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + + Attributes: + allowed_values (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + with a capitalized key describing the allowed value and an allowed + value. These dicts store the allowed enum values. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + discriminator_value_class_map (dict): A dict to go from the discriminator + variable value to the discriminator class name. + validations (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + that stores validations for max_length, min_length, max_items, + min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, + inclusive_minimum, and regex. + additional_properties_type (tuple): A tuple of classes accepted + as additional properties values. + """ + + allowed_values = { + ('permissions',): { + 'EDIT': "EDIT", + 'SHARE': "SHARE", + 'VIEW': "VIEW", + }, + } + + validations = { + } + + @cached_property + def additional_properties_type(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + """ + return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501 + + _nullable = False + + @cached_property + def openapi_types(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + + Returns + openapi_types (dict): The key is attribute name + and the value is attribute type. + """ + return { + 'permissions': ([str],), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'permissions': 'permissions', # noqa: E501 + } + + read_only_vars = { + } + + _composed_schemas = {} + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, permissions, *args, **kwargs): # noqa: E501 + """DashboardPermissionsAssignment - a model defined in OpenAPI + + Args: + permissions ([str]): + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', True) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + self = super(OpenApiModel, cls).__new__(cls) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + self.permissions = permissions + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + return self + + required_properties = set([ + '_data_store', + '_check_type', + '_spec_property_naming', + '_path_to_item', + '_configuration', + '_visited_composed_classes', + ]) + + @convert_js_args_to_python_args + def __init__(self, permissions, *args, **kwargs): # noqa: E501 + """DashboardPermissionsAssignment - a model defined in OpenAPI + + Args: + permissions ([str]): + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + self.permissions = permissions + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + if var_name in self.read_only_vars: + raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate " + f"class with read only attributes.") diff --git a/gooddata-api-client/gooddata_api_client/model/declarative_analytical_dashboard.py b/gooddata-api-client/gooddata_api_client/model/declarative_analytical_dashboard.py index e3a3f535c..96e76f6db 100644 --- a/gooddata-api-client/gooddata_api_client/model/declarative_analytical_dashboard.py +++ b/gooddata-api-client/gooddata_api_client/model/declarative_analytical_dashboard.py @@ -31,9 +31,9 @@ def lazy_import(): - from gooddata_api_client.model.declarative_analytical_dashboard_permission import DeclarativeAnalyticalDashboardPermission + from gooddata_api_client.model.declarative_analytical_dashboard_permissions_inner import DeclarativeAnalyticalDashboardPermissionsInner from gooddata_api_client.model.declarative_user_identifier import DeclarativeUserIdentifier - globals()['DeclarativeAnalyticalDashboardPermission'] = DeclarativeAnalyticalDashboardPermission + globals()['DeclarativeAnalyticalDashboardPermissionsInner'] = DeclarativeAnalyticalDashboardPermissionsInner globals()['DeclarativeUserIdentifier'] = DeclarativeUserIdentifier @@ -121,7 +121,7 @@ def openapi_types(): 'description': (str,), # noqa: E501 'modified_at': (str, none_type,), # noqa: E501 'modified_by': (DeclarativeUserIdentifier,), # noqa: E501 - 'permissions': ([DeclarativeAnalyticalDashboardPermission],), # noqa: E501 + 'permissions': ([DeclarativeAnalyticalDashboardPermissionsInner],), # noqa: E501 'tags': ([str],), # noqa: E501 } @@ -194,7 +194,7 @@ def _from_openapi_data(cls, content, id, title, *args, **kwargs): # noqa: E501 description (str): Analytical dashboard description.. [optional] # noqa: E501 modified_at (str, none_type): Time of the last entity modification.. [optional] # noqa: E501 modified_by (DeclarativeUserIdentifier): [optional] # noqa: E501 - permissions ([DeclarativeAnalyticalDashboardPermission]): A list of permissions.. [optional] # noqa: E501 + permissions ([DeclarativeAnalyticalDashboardPermissionsInner]): A list of permissions.. [optional] # noqa: E501 tags ([str]): A list of tags.. [optional] # noqa: E501 """ @@ -294,7 +294,7 @@ def __init__(self, content, id, title, *args, **kwargs): # noqa: E501 description (str): Analytical dashboard description.. [optional] # noqa: E501 modified_at (str, none_type): Time of the last entity modification.. [optional] # noqa: E501 modified_by (DeclarativeUserIdentifier): [optional] # noqa: E501 - permissions ([DeclarativeAnalyticalDashboardPermission]): A list of permissions.. [optional] # noqa: E501 + permissions ([DeclarativeAnalyticalDashboardPermissionsInner]): A list of permissions.. [optional] # noqa: E501 tags ([str]): A list of tags.. [optional] # noqa: E501 """ diff --git a/gooddata-api-client/gooddata_api_client/model/declarative_analytical_dashboard_extension.py b/gooddata-api-client/gooddata_api_client/model/declarative_analytical_dashboard_extension.py index 29b937e29..35c50b79d 100644 --- a/gooddata-api-client/gooddata_api_client/model/declarative_analytical_dashboard_extension.py +++ b/gooddata-api-client/gooddata_api_client/model/declarative_analytical_dashboard_extension.py @@ -31,8 +31,8 @@ def lazy_import(): - from gooddata_api_client.model.declarative_analytical_dashboard_permission import DeclarativeAnalyticalDashboardPermission - globals()['DeclarativeAnalyticalDashboardPermission'] = DeclarativeAnalyticalDashboardPermission + from gooddata_api_client.model.declarative_analytical_dashboard_permissions_inner import DeclarativeAnalyticalDashboardPermissionsInner + globals()['DeclarativeAnalyticalDashboardPermissionsInner'] = DeclarativeAnalyticalDashboardPermissionsInner class DeclarativeAnalyticalDashboardExtension(ModelNormal): @@ -94,7 +94,7 @@ def openapi_types(): lazy_import() return { 'id': (str,), # noqa: E501 - 'permissions': ([DeclarativeAnalyticalDashboardPermission],), # noqa: E501 + 'permissions': ([DeclarativeAnalyticalDashboardPermissionsInner],), # noqa: E501 } @cached_property @@ -119,7 +119,7 @@ def _from_openapi_data(cls, id, permissions, *args, **kwargs): # noqa: E501 Args: id (str): Analytical dashboard ID. - permissions ([DeclarativeAnalyticalDashboardPermission]): A list of permissions. + permissions ([DeclarativeAnalyticalDashboardPermissionsInner]): A list of permissions. Keyword Args: _check_type (bool): if True, values for parameters in openapi_types @@ -210,7 +210,7 @@ def __init__(self, id, permissions, *args, **kwargs): # noqa: E501 Args: id (str): Analytical dashboard ID. - permissions ([DeclarativeAnalyticalDashboardPermission]): A list of permissions. + permissions ([DeclarativeAnalyticalDashboardPermissionsInner]): A list of permissions. Keyword Args: _check_type (bool): if True, values for parameters in openapi_types diff --git a/gooddata-api-client/gooddata_api_client/model/declarative_analytical_dashboard_permission.py b/gooddata-api-client/gooddata_api_client/model/declarative_analytical_dashboard_permission_assignment.py similarity index 93% rename from gooddata-api-client/gooddata_api_client/model/declarative_analytical_dashboard_permission.py rename to gooddata-api-client/gooddata_api_client/model/declarative_analytical_dashboard_permission_assignment.py index b21624486..677f9d867 100644 --- a/gooddata-api-client/gooddata_api_client/model/declarative_analytical_dashboard_permission.py +++ b/gooddata-api-client/gooddata_api_client/model/declarative_analytical_dashboard_permission_assignment.py @@ -30,12 +30,8 @@ from gooddata_api_client.exceptions import ApiAttributeError -def lazy_import(): - from gooddata_api_client.model.assignee_identifier import AssigneeIdentifier - globals()['AssigneeIdentifier'] = AssigneeIdentifier - -class DeclarativeAnalyticalDashboardPermission(ModelNormal): +class DeclarativeAnalyticalDashboardPermissionAssignment(ModelNormal): """NOTE: This class is auto generated by OpenAPI Generator. Ref: https://openapi-generator.tech @@ -76,7 +72,6 @@ def additional_properties_type(): This must be a method because a model may have properties that are of type self, this must run after the class is loaded """ - lazy_import() return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501 _nullable = False @@ -91,9 +86,7 @@ def openapi_types(): openapi_types (dict): The key is attribute name and the value is attribute type. """ - lazy_import() return { - 'assignee': (AssigneeIdentifier,), # noqa: E501 'name': (str,), # noqa: E501 } @@ -103,7 +96,6 @@ def discriminator(): attribute_map = { - 'assignee': 'assignee', # noqa: E501 'name': 'name', # noqa: E501 } @@ -114,11 +106,10 @@ def discriminator(): @classmethod @convert_js_args_to_python_args - def _from_openapi_data(cls, assignee, name, *args, **kwargs): # noqa: E501 - """DeclarativeAnalyticalDashboardPermission - a model defined in OpenAPI + def _from_openapi_data(cls, name, *args, **kwargs): # noqa: E501 + """DeclarativeAnalyticalDashboardPermissionAssignment - a model defined in OpenAPI Args: - assignee (AssigneeIdentifier): name (str): Permission name. Keyword Args: @@ -183,7 +174,6 @@ def _from_openapi_data(cls, assignee, name, *args, **kwargs): # noqa: E501 self._configuration = _configuration self._visited_composed_classes = _visited_composed_classes + (self.__class__,) - self.assignee = assignee self.name = name for var_name, var_value in kwargs.items(): if var_name not in self.attribute_map and \ @@ -205,11 +195,10 @@ def _from_openapi_data(cls, assignee, name, *args, **kwargs): # noqa: E501 ]) @convert_js_args_to_python_args - def __init__(self, assignee, name, *args, **kwargs): # noqa: E501 - """DeclarativeAnalyticalDashboardPermission - a model defined in OpenAPI + def __init__(self, name, *args, **kwargs): # noqa: E501 + """DeclarativeAnalyticalDashboardPermissionAssignment - a model defined in OpenAPI Args: - assignee (AssigneeIdentifier): name (str): Permission name. Keyword Args: @@ -272,7 +261,6 @@ def __init__(self, assignee, name, *args, **kwargs): # noqa: E501 self._configuration = _configuration self._visited_composed_classes = _visited_composed_classes + (self.__class__,) - self.assignee = assignee self.name = name for var_name, var_value in kwargs.items(): if var_name not in self.attribute_map and \ diff --git a/gooddata-api-client/gooddata_api_client/model/declarative_analytical_dashboard_permission_for_assignee.py b/gooddata-api-client/gooddata_api_client/model/declarative_analytical_dashboard_permission_for_assignee.py new file mode 100644 index 000000000..7be09d3c8 --- /dev/null +++ b/gooddata-api-client/gooddata_api_client/model/declarative_analytical_dashboard_permission_for_assignee.py @@ -0,0 +1,334 @@ +""" + OpenAPI definition + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) # noqa: E501 + + The version of the OpenAPI document: v0 + Contact: support@gooddata.com + Generated by: https://openapi-generator.tech +""" + + +import re # noqa: F401 +import sys # noqa: F401 + +from gooddata_api_client.model_utils import ( # noqa: F401 + ApiTypeError, + ModelComposed, + ModelNormal, + ModelSimple, + cached_property, + change_keys_js_to_python, + convert_js_args_to_python_args, + date, + datetime, + file_type, + none_type, + validate_get_composed_info, + OpenApiModel +) +from gooddata_api_client.exceptions import ApiAttributeError + + +def lazy_import(): + from gooddata_api_client.model.assignee_identifier import AssigneeIdentifier + from gooddata_api_client.model.declarative_analytical_dashboard_permission_assignment import DeclarativeAnalyticalDashboardPermissionAssignment + from gooddata_api_client.model.declarative_analytical_dashboard_permission_for_assignee_all_of import DeclarativeAnalyticalDashboardPermissionForAssigneeAllOf + globals()['AssigneeIdentifier'] = AssigneeIdentifier + globals()['DeclarativeAnalyticalDashboardPermissionAssignment'] = DeclarativeAnalyticalDashboardPermissionAssignment + globals()['DeclarativeAnalyticalDashboardPermissionForAssigneeAllOf'] = DeclarativeAnalyticalDashboardPermissionForAssigneeAllOf + + +class DeclarativeAnalyticalDashboardPermissionForAssignee(ModelComposed): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + + Attributes: + allowed_values (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + with a capitalized key describing the allowed value and an allowed + value. These dicts store the allowed enum values. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + discriminator_value_class_map (dict): A dict to go from the discriminator + variable value to the discriminator class name. + validations (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + that stores validations for max_length, min_length, max_items, + min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, + inclusive_minimum, and regex. + additional_properties_type (tuple): A tuple of classes accepted + as additional properties values. + """ + + allowed_values = { + ('name',): { + 'EDIT': "EDIT", + 'SHARE': "SHARE", + 'VIEW': "VIEW", + }, + } + + validations = { + } + + @cached_property + def additional_properties_type(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + """ + lazy_import() + return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501 + + _nullable = False + + @cached_property + def openapi_types(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + + Returns + openapi_types (dict): The key is attribute name + and the value is attribute type. + """ + lazy_import() + return { + 'name': (str,), # noqa: E501 + 'assignee': (AssigneeIdentifier,), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'name': 'name', # noqa: E501 + 'assignee': 'assignee', # noqa: E501 + } + + read_only_vars = { + } + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 + """DeclarativeAnalyticalDashboardPermissionForAssignee - a model defined in OpenAPI + + Keyword Args: + name (str): Permission name. + assignee (AssigneeIdentifier): + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + self = super(OpenApiModel, cls).__new__(cls) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + constant_args = { + '_check_type': _check_type, + '_path_to_item': _path_to_item, + '_spec_property_naming': _spec_property_naming, + '_configuration': _configuration, + '_visited_composed_classes': self._visited_composed_classes, + } + composed_info = validate_get_composed_info( + constant_args, kwargs, self) + self._composed_instances = composed_info[0] + self._var_name_to_model_instances = composed_info[1] + self._additional_properties_model_instances = composed_info[2] + discarded_args = composed_info[3] + + for var_name, var_value in kwargs.items(): + if var_name in discarded_args and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self._additional_properties_model_instances: + # discard variable. + continue + setattr(self, var_name, var_value) + + return self + + required_properties = set([ + '_data_store', + '_check_type', + '_spec_property_naming', + '_path_to_item', + '_configuration', + '_visited_composed_classes', + '_composed_instances', + '_var_name_to_model_instances', + '_additional_properties_model_instances', + ]) + + @convert_js_args_to_python_args + def __init__(self, *args, **kwargs): # noqa: E501 + """DeclarativeAnalyticalDashboardPermissionForAssignee - a model defined in OpenAPI + + Keyword Args: + name (str): Permission name. + assignee (AssigneeIdentifier): + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + constant_args = { + '_check_type': _check_type, + '_path_to_item': _path_to_item, + '_spec_property_naming': _spec_property_naming, + '_configuration': _configuration, + '_visited_composed_classes': self._visited_composed_classes, + } + composed_info = validate_get_composed_info( + constant_args, kwargs, self) + self._composed_instances = composed_info[0] + self._var_name_to_model_instances = composed_info[1] + self._additional_properties_model_instances = composed_info[2] + discarded_args = composed_info[3] + + for var_name, var_value in kwargs.items(): + if var_name in discarded_args and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self._additional_properties_model_instances: + # discard variable. + continue + setattr(self, var_name, var_value) + if var_name in self.read_only_vars: + raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate " + f"class with read only attributes.") + + @cached_property + def _composed_schemas(): + # we need this here to make our import statements work + # we must store _composed_schemas in here so the code is only run + # when we invoke this method. If we kept this at the class + # level we would get an error because the class level + # code would be run when this module is imported, and these composed + # classes don't exist yet because their module has not finished + # loading + lazy_import() + return { + 'anyOf': [ + ], + 'allOf': [ + DeclarativeAnalyticalDashboardPermissionAssignment, + DeclarativeAnalyticalDashboardPermissionForAssigneeAllOf, + ], + 'oneOf': [ + ], + } diff --git a/gooddata-api-client/gooddata_api_client/model/declarative_analytical_dashboard_permission_for_assignee_all_of.py b/gooddata-api-client/gooddata_api_client/model/declarative_analytical_dashboard_permission_for_assignee_all_of.py new file mode 100644 index 000000000..023f2346d --- /dev/null +++ b/gooddata-api-client/gooddata_api_client/model/declarative_analytical_dashboard_permission_for_assignee_all_of.py @@ -0,0 +1,270 @@ +""" + OpenAPI definition + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) # noqa: E501 + + The version of the OpenAPI document: v0 + Contact: support@gooddata.com + Generated by: https://openapi-generator.tech +""" + + +import re # noqa: F401 +import sys # noqa: F401 + +from gooddata_api_client.model_utils import ( # noqa: F401 + ApiTypeError, + ModelComposed, + ModelNormal, + ModelSimple, + cached_property, + change_keys_js_to_python, + convert_js_args_to_python_args, + date, + datetime, + file_type, + none_type, + validate_get_composed_info, + OpenApiModel +) +from gooddata_api_client.exceptions import ApiAttributeError + + +def lazy_import(): + from gooddata_api_client.model.assignee_identifier import AssigneeIdentifier + globals()['AssigneeIdentifier'] = AssigneeIdentifier + + +class DeclarativeAnalyticalDashboardPermissionForAssigneeAllOf(ModelNormal): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + + Attributes: + allowed_values (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + with a capitalized key describing the allowed value and an allowed + value. These dicts store the allowed enum values. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + discriminator_value_class_map (dict): A dict to go from the discriminator + variable value to the discriminator class name. + validations (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + that stores validations for max_length, min_length, max_items, + min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, + inclusive_minimum, and regex. + additional_properties_type (tuple): A tuple of classes accepted + as additional properties values. + """ + + allowed_values = { + } + + validations = { + } + + @cached_property + def additional_properties_type(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + """ + lazy_import() + return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501 + + _nullable = False + + @cached_property + def openapi_types(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + + Returns + openapi_types (dict): The key is attribute name + and the value is attribute type. + """ + lazy_import() + return { + 'assignee': (AssigneeIdentifier,), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'assignee': 'assignee', # noqa: E501 + } + + read_only_vars = { + } + + _composed_schemas = {} + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 + """DeclarativeAnalyticalDashboardPermissionForAssigneeAllOf - a model defined in OpenAPI + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + assignee (AssigneeIdentifier): [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', True) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + self = super(OpenApiModel, cls).__new__(cls) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + return self + + required_properties = set([ + '_data_store', + '_check_type', + '_spec_property_naming', + '_path_to_item', + '_configuration', + '_visited_composed_classes', + ]) + + @convert_js_args_to_python_args + def __init__(self, *args, **kwargs): # noqa: E501 + """DeclarativeAnalyticalDashboardPermissionForAssigneeAllOf - a model defined in OpenAPI + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + assignee (AssigneeIdentifier): [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + if var_name in self.read_only_vars: + raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate " + f"class with read only attributes.") diff --git a/gooddata-api-client/gooddata_api_client/model/declarative_analytical_dashboard_permission_for_assignee_rule.py b/gooddata-api-client/gooddata_api_client/model/declarative_analytical_dashboard_permission_for_assignee_rule.py new file mode 100644 index 000000000..6cdafcb1b --- /dev/null +++ b/gooddata-api-client/gooddata_api_client/model/declarative_analytical_dashboard_permission_for_assignee_rule.py @@ -0,0 +1,334 @@ +""" + OpenAPI definition + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) # noqa: E501 + + The version of the OpenAPI document: v0 + Contact: support@gooddata.com + Generated by: https://openapi-generator.tech +""" + + +import re # noqa: F401 +import sys # noqa: F401 + +from gooddata_api_client.model_utils import ( # noqa: F401 + ApiTypeError, + ModelComposed, + ModelNormal, + ModelSimple, + cached_property, + change_keys_js_to_python, + convert_js_args_to_python_args, + date, + datetime, + file_type, + none_type, + validate_get_composed_info, + OpenApiModel +) +from gooddata_api_client.exceptions import ApiAttributeError + + +def lazy_import(): + from gooddata_api_client.model.assignee_rule import AssigneeRule + from gooddata_api_client.model.declarative_analytical_dashboard_permission_assignment import DeclarativeAnalyticalDashboardPermissionAssignment + from gooddata_api_client.model.declarative_analytical_dashboard_permission_for_assignee_rule_all_of import DeclarativeAnalyticalDashboardPermissionForAssigneeRuleAllOf + globals()['AssigneeRule'] = AssigneeRule + globals()['DeclarativeAnalyticalDashboardPermissionAssignment'] = DeclarativeAnalyticalDashboardPermissionAssignment + globals()['DeclarativeAnalyticalDashboardPermissionForAssigneeRuleAllOf'] = DeclarativeAnalyticalDashboardPermissionForAssigneeRuleAllOf + + +class DeclarativeAnalyticalDashboardPermissionForAssigneeRule(ModelComposed): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + + Attributes: + allowed_values (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + with a capitalized key describing the allowed value and an allowed + value. These dicts store the allowed enum values. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + discriminator_value_class_map (dict): A dict to go from the discriminator + variable value to the discriminator class name. + validations (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + that stores validations for max_length, min_length, max_items, + min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, + inclusive_minimum, and regex. + additional_properties_type (tuple): A tuple of classes accepted + as additional properties values. + """ + + allowed_values = { + ('name',): { + 'EDIT': "EDIT", + 'SHARE': "SHARE", + 'VIEW': "VIEW", + }, + } + + validations = { + } + + @cached_property + def additional_properties_type(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + """ + lazy_import() + return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501 + + _nullable = False + + @cached_property + def openapi_types(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + + Returns + openapi_types (dict): The key is attribute name + and the value is attribute type. + """ + lazy_import() + return { + 'name': (str,), # noqa: E501 + 'assignee_rule': (AssigneeRule,), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'name': 'name', # noqa: E501 + 'assignee_rule': 'assigneeRule', # noqa: E501 + } + + read_only_vars = { + } + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 + """DeclarativeAnalyticalDashboardPermissionForAssigneeRule - a model defined in OpenAPI + + Keyword Args: + name (str): Permission name. + assignee_rule (AssigneeRule): + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + self = super(OpenApiModel, cls).__new__(cls) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + constant_args = { + '_check_type': _check_type, + '_path_to_item': _path_to_item, + '_spec_property_naming': _spec_property_naming, + '_configuration': _configuration, + '_visited_composed_classes': self._visited_composed_classes, + } + composed_info = validate_get_composed_info( + constant_args, kwargs, self) + self._composed_instances = composed_info[0] + self._var_name_to_model_instances = composed_info[1] + self._additional_properties_model_instances = composed_info[2] + discarded_args = composed_info[3] + + for var_name, var_value in kwargs.items(): + if var_name in discarded_args and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self._additional_properties_model_instances: + # discard variable. + continue + setattr(self, var_name, var_value) + + return self + + required_properties = set([ + '_data_store', + '_check_type', + '_spec_property_naming', + '_path_to_item', + '_configuration', + '_visited_composed_classes', + '_composed_instances', + '_var_name_to_model_instances', + '_additional_properties_model_instances', + ]) + + @convert_js_args_to_python_args + def __init__(self, *args, **kwargs): # noqa: E501 + """DeclarativeAnalyticalDashboardPermissionForAssigneeRule - a model defined in OpenAPI + + Keyword Args: + name (str): Permission name. + assignee_rule (AssigneeRule): + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + constant_args = { + '_check_type': _check_type, + '_path_to_item': _path_to_item, + '_spec_property_naming': _spec_property_naming, + '_configuration': _configuration, + '_visited_composed_classes': self._visited_composed_classes, + } + composed_info = validate_get_composed_info( + constant_args, kwargs, self) + self._composed_instances = composed_info[0] + self._var_name_to_model_instances = composed_info[1] + self._additional_properties_model_instances = composed_info[2] + discarded_args = composed_info[3] + + for var_name, var_value in kwargs.items(): + if var_name in discarded_args and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self._additional_properties_model_instances: + # discard variable. + continue + setattr(self, var_name, var_value) + if var_name in self.read_only_vars: + raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate " + f"class with read only attributes.") + + @cached_property + def _composed_schemas(): + # we need this here to make our import statements work + # we must store _composed_schemas in here so the code is only run + # when we invoke this method. If we kept this at the class + # level we would get an error because the class level + # code would be run when this module is imported, and these composed + # classes don't exist yet because their module has not finished + # loading + lazy_import() + return { + 'anyOf': [ + ], + 'allOf': [ + DeclarativeAnalyticalDashboardPermissionAssignment, + DeclarativeAnalyticalDashboardPermissionForAssigneeRuleAllOf, + ], + 'oneOf': [ + ], + } diff --git a/gooddata-api-client/gooddata_api_client/model/declarative_analytical_dashboard_permission_for_assignee_rule_all_of.py b/gooddata-api-client/gooddata_api_client/model/declarative_analytical_dashboard_permission_for_assignee_rule_all_of.py new file mode 100644 index 000000000..364d9cb4b --- /dev/null +++ b/gooddata-api-client/gooddata_api_client/model/declarative_analytical_dashboard_permission_for_assignee_rule_all_of.py @@ -0,0 +1,270 @@ +""" + OpenAPI definition + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) # noqa: E501 + + The version of the OpenAPI document: v0 + Contact: support@gooddata.com + Generated by: https://openapi-generator.tech +""" + + +import re # noqa: F401 +import sys # noqa: F401 + +from gooddata_api_client.model_utils import ( # noqa: F401 + ApiTypeError, + ModelComposed, + ModelNormal, + ModelSimple, + cached_property, + change_keys_js_to_python, + convert_js_args_to_python_args, + date, + datetime, + file_type, + none_type, + validate_get_composed_info, + OpenApiModel +) +from gooddata_api_client.exceptions import ApiAttributeError + + +def lazy_import(): + from gooddata_api_client.model.assignee_rule import AssigneeRule + globals()['AssigneeRule'] = AssigneeRule + + +class DeclarativeAnalyticalDashboardPermissionForAssigneeRuleAllOf(ModelNormal): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + + Attributes: + allowed_values (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + with a capitalized key describing the allowed value and an allowed + value. These dicts store the allowed enum values. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + discriminator_value_class_map (dict): A dict to go from the discriminator + variable value to the discriminator class name. + validations (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + that stores validations for max_length, min_length, max_items, + min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, + inclusive_minimum, and regex. + additional_properties_type (tuple): A tuple of classes accepted + as additional properties values. + """ + + allowed_values = { + } + + validations = { + } + + @cached_property + def additional_properties_type(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + """ + lazy_import() + return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501 + + _nullable = False + + @cached_property + def openapi_types(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + + Returns + openapi_types (dict): The key is attribute name + and the value is attribute type. + """ + lazy_import() + return { + 'assignee_rule': (AssigneeRule,), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'assignee_rule': 'assigneeRule', # noqa: E501 + } + + read_only_vars = { + } + + _composed_schemas = {} + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 + """DeclarativeAnalyticalDashboardPermissionForAssigneeRuleAllOf - a model defined in OpenAPI + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + assignee_rule (AssigneeRule): [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', True) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + self = super(OpenApiModel, cls).__new__(cls) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + return self + + required_properties = set([ + '_data_store', + '_check_type', + '_spec_property_naming', + '_path_to_item', + '_configuration', + '_visited_composed_classes', + ]) + + @convert_js_args_to_python_args + def __init__(self, *args, **kwargs): # noqa: E501 + """DeclarativeAnalyticalDashboardPermissionForAssigneeRuleAllOf - a model defined in OpenAPI + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + assignee_rule (AssigneeRule): [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + if var_name in self.read_only_vars: + raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate " + f"class with read only attributes.") diff --git a/gooddata-api-client/gooddata_api_client/model/declarative_analytical_dashboard_permissions_inner.py b/gooddata-api-client/gooddata_api_client/model/declarative_analytical_dashboard_permissions_inner.py new file mode 100644 index 000000000..a2e7cc3c4 --- /dev/null +++ b/gooddata-api-client/gooddata_api_client/model/declarative_analytical_dashboard_permissions_inner.py @@ -0,0 +1,340 @@ +""" + OpenAPI definition + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) # noqa: E501 + + The version of the OpenAPI document: v0 + Contact: support@gooddata.com + Generated by: https://openapi-generator.tech +""" + + +import re # noqa: F401 +import sys # noqa: F401 + +from gooddata_api_client.model_utils import ( # noqa: F401 + ApiTypeError, + ModelComposed, + ModelNormal, + ModelSimple, + cached_property, + change_keys_js_to_python, + convert_js_args_to_python_args, + date, + datetime, + file_type, + none_type, + validate_get_composed_info, + OpenApiModel +) +from gooddata_api_client.exceptions import ApiAttributeError + + +def lazy_import(): + from gooddata_api_client.model.assignee_identifier import AssigneeIdentifier + from gooddata_api_client.model.assignee_rule import AssigneeRule + from gooddata_api_client.model.declarative_analytical_dashboard_permission_for_assignee import DeclarativeAnalyticalDashboardPermissionForAssignee + from gooddata_api_client.model.declarative_analytical_dashboard_permission_for_assignee_rule import DeclarativeAnalyticalDashboardPermissionForAssigneeRule + globals()['AssigneeIdentifier'] = AssigneeIdentifier + globals()['AssigneeRule'] = AssigneeRule + globals()['DeclarativeAnalyticalDashboardPermissionForAssignee'] = DeclarativeAnalyticalDashboardPermissionForAssignee + globals()['DeclarativeAnalyticalDashboardPermissionForAssigneeRule'] = DeclarativeAnalyticalDashboardPermissionForAssigneeRule + + +class DeclarativeAnalyticalDashboardPermissionsInner(ModelComposed): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + + Attributes: + allowed_values (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + with a capitalized key describing the allowed value and an allowed + value. These dicts store the allowed enum values. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + discriminator_value_class_map (dict): A dict to go from the discriminator + variable value to the discriminator class name. + validations (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + that stores validations for max_length, min_length, max_items, + min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, + inclusive_minimum, and regex. + additional_properties_type (tuple): A tuple of classes accepted + as additional properties values. + """ + + allowed_values = { + ('name',): { + 'EDIT': "EDIT", + 'SHARE': "SHARE", + 'VIEW': "VIEW", + }, + } + + validations = { + } + + @cached_property + def additional_properties_type(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + """ + lazy_import() + return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501 + + _nullable = False + + @cached_property + def openapi_types(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + + Returns + openapi_types (dict): The key is attribute name + and the value is attribute type. + """ + lazy_import() + return { + 'name': (str,), # noqa: E501 + 'assignee': (AssigneeIdentifier,), # noqa: E501 + 'assignee_rule': (AssigneeRule,), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'name': 'name', # noqa: E501 + 'assignee': 'assignee', # noqa: E501 + 'assignee_rule': 'assigneeRule', # noqa: E501 + } + + read_only_vars = { + } + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 + """DeclarativeAnalyticalDashboardPermissionsInner - a model defined in OpenAPI + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + name (str): Permission name.. [optional] # noqa: E501 + assignee (AssigneeIdentifier): [optional] # noqa: E501 + assignee_rule (AssigneeRule): [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + self = super(OpenApiModel, cls).__new__(cls) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + constant_args = { + '_check_type': _check_type, + '_path_to_item': _path_to_item, + '_spec_property_naming': _spec_property_naming, + '_configuration': _configuration, + '_visited_composed_classes': self._visited_composed_classes, + } + composed_info = validate_get_composed_info( + constant_args, kwargs, self) + self._composed_instances = composed_info[0] + self._var_name_to_model_instances = composed_info[1] + self._additional_properties_model_instances = composed_info[2] + discarded_args = composed_info[3] + + for var_name, var_value in kwargs.items(): + if var_name in discarded_args and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self._additional_properties_model_instances: + # discard variable. + continue + setattr(self, var_name, var_value) + + return self + + required_properties = set([ + '_data_store', + '_check_type', + '_spec_property_naming', + '_path_to_item', + '_configuration', + '_visited_composed_classes', + '_composed_instances', + '_var_name_to_model_instances', + '_additional_properties_model_instances', + ]) + + @convert_js_args_to_python_args + def __init__(self, *args, **kwargs): # noqa: E501 + """DeclarativeAnalyticalDashboardPermissionsInner - a model defined in OpenAPI + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + name (str): Permission name.. [optional] # noqa: E501 + assignee (AssigneeIdentifier): [optional] # noqa: E501 + assignee_rule (AssigneeRule): [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + constant_args = { + '_check_type': _check_type, + '_path_to_item': _path_to_item, + '_spec_property_naming': _spec_property_naming, + '_configuration': _configuration, + '_visited_composed_classes': self._visited_composed_classes, + } + composed_info = validate_get_composed_info( + constant_args, kwargs, self) + self._composed_instances = composed_info[0] + self._var_name_to_model_instances = composed_info[1] + self._additional_properties_model_instances = composed_info[2] + discarded_args = composed_info[3] + + for var_name, var_value in kwargs.items(): + if var_name in discarded_args and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self._additional_properties_model_instances: + # discard variable. + continue + setattr(self, var_name, var_value) + if var_name in self.read_only_vars: + raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate " + f"class with read only attributes.") + + @cached_property + def _composed_schemas(): + # we need this here to make our import statements work + # we must store _composed_schemas in here so the code is only run + # when we invoke this method. If we kept this at the class + # level we would get an error because the class level + # code would be run when this module is imported, and these composed + # classes don't exist yet because their module has not finished + # loading + lazy_import() + return { + 'anyOf': [ + ], + 'allOf': [ + ], + 'oneOf': [ + DeclarativeAnalyticalDashboardPermissionForAssignee, + DeclarativeAnalyticalDashboardPermissionForAssigneeRule, + ], + } diff --git a/gooddata-api-client/gooddata_api_client/model/declarative_organization_permission.py b/gooddata-api-client/gooddata_api_client/model/declarative_organization_permission.py index 56218819b..568a424e1 100644 --- a/gooddata-api-client/gooddata_api_client/model/declarative_organization_permission.py +++ b/gooddata-api-client/gooddata_api_client/model/declarative_organization_permission.py @@ -62,6 +62,7 @@ class DeclarativeOrganizationPermission(ModelNormal): allowed_values = { ('name',): { 'MANAGE': "MANAGE", + 'SELF_CREATE_TOKEN': "SELF_CREATE_TOKEN", }, } @@ -112,14 +113,14 @@ def discriminator(): @classmethod @convert_js_args_to_python_args - def _from_openapi_data(cls, assignee, *args, **kwargs): # noqa: E501 + def _from_openapi_data(cls, assignee, name, *args, **kwargs): # noqa: E501 """DeclarativeOrganizationPermission - a model defined in OpenAPI Args: assignee (AssigneeIdentifier): + name (str): Permission name. Keyword Args: - name (str): Permission name.. defaults to "MANAGE", must be one of ["MANAGE", ] # noqa: E501 _check_type (bool): if True, values for parameters in openapi_types will be type checked and a TypeError will be raised if the wrong type is input. @@ -152,7 +153,6 @@ def _from_openapi_data(cls, assignee, *args, **kwargs): # noqa: E501 _visited_composed_classes = (Animal,) """ - name = kwargs.get('name', "MANAGE") _check_type = kwargs.pop('_check_type', True) _spec_property_naming = kwargs.pop('_spec_property_naming', True) _path_to_item = kwargs.pop('_path_to_item', ()) @@ -204,14 +204,14 @@ def _from_openapi_data(cls, assignee, *args, **kwargs): # noqa: E501 ]) @convert_js_args_to_python_args - def __init__(self, assignee, *args, **kwargs): # noqa: E501 + def __init__(self, assignee, name, *args, **kwargs): # noqa: E501 """DeclarativeOrganizationPermission - a model defined in OpenAPI Args: assignee (AssigneeIdentifier): + name (str): Permission name. Keyword Args: - name (str): Permission name.. defaults to "MANAGE", must be one of ["MANAGE", ] # noqa: E501 _check_type (bool): if True, values for parameters in openapi_types will be type checked and a TypeError will be raised if the wrong type is input. @@ -244,7 +244,6 @@ def __init__(self, assignee, *args, **kwargs): # noqa: E501 _visited_composed_classes = (Animal,) """ - name = kwargs.get('name', "MANAGE") _check_type = kwargs.pop('_check_type', True) _spec_property_naming = kwargs.pop('_spec_property_naming', False) _path_to_item = kwargs.pop('_path_to_item', ()) diff --git a/gooddata-api-client/gooddata_api_client/model/elements_request.py b/gooddata-api-client/gooddata_api_client/model/elements_request.py index 693a1fa05..68e25ffa8 100644 --- a/gooddata-api-client/gooddata_api_client/model/elements_request.py +++ b/gooddata-api-client/gooddata_api_client/model/elements_request.py @@ -100,7 +100,7 @@ def openapi_types(): 'label': (str,), # noqa: E501 'complement_filter': (bool,), # noqa: E501 'data_sampling_percentage': (float,), # noqa: E501 - 'exact_filter': ([str],), # noqa: E501 + 'exact_filter': ([str, none_type],), # noqa: E501 'exclude_primary_label': (bool,), # noqa: E501 'filter_by': (FilterBy,), # noqa: E501 'pattern_filter': (str,), # noqa: E501 @@ -168,8 +168,8 @@ def _from_openapi_data(cls, label, *args, **kwargs): # noqa: E501 through its discriminator because we passed in _visited_composed_classes = (Animal,) complement_filter (bool): Inverse filters: * ```false``` - return items matching ```patternFilter``` and ```exactFilter``` * ```true``` - return items not matching ```patternFilter``` and ```exactFilter```. [optional] if omitted the server will use the default value of False # noqa: E501 - data_sampling_percentage (float): Specifies percentage of source table data scanned during the computation. This field is deprecated and is no longer used during the elements computation.. [optional] if omitted the server will use the default value of 100 # noqa: E501 - exact_filter ([str]): Return only items, whose ```label``` title exactly matches one of ```filter```.. [optional] # noqa: E501 + data_sampling_percentage (float): Specifies percentage of source table data scanned during the computation. This field is deprecated and is no longer used during the elements computation.. [optional] if omitted the server will use the default value of 100.0 # noqa: E501 + exact_filter ([str, none_type]): Return only items, whose ```label``` title exactly matches one of ```filter```.. [optional] # noqa: E501 exclude_primary_label (bool): Excludes items from the result that differ only by primary label * ```false``` - return items with distinct primary label * ```true``` - return items with distinct requested label. [optional] if omitted the server will use the default value of False # noqa: E501 filter_by (FilterBy): [optional] # noqa: E501 pattern_filter (str): Return only items, whose ```label``` title case insensitively contains ```filter``` as substring.. [optional] # noqa: E501 @@ -264,8 +264,8 @@ def __init__(self, label, *args, **kwargs): # noqa: E501 through its discriminator because we passed in _visited_composed_classes = (Animal,) complement_filter (bool): Inverse filters: * ```false``` - return items matching ```patternFilter``` and ```exactFilter``` * ```true``` - return items not matching ```patternFilter``` and ```exactFilter```. [optional] if omitted the server will use the default value of False # noqa: E501 - data_sampling_percentage (float): Specifies percentage of source table data scanned during the computation. This field is deprecated and is no longer used during the elements computation.. [optional] if omitted the server will use the default value of 100 # noqa: E501 - exact_filter ([str]): Return only items, whose ```label``` title exactly matches one of ```filter```.. [optional] # noqa: E501 + data_sampling_percentage (float): Specifies percentage of source table data scanned during the computation. This field is deprecated and is no longer used during the elements computation.. [optional] if omitted the server will use the default value of 100.0 # noqa: E501 + exact_filter ([str, none_type]): Return only items, whose ```label``` title exactly matches one of ```filter```.. [optional] # noqa: E501 exclude_primary_label (bool): Excludes items from the result that differ only by primary label * ```false``` - return items with distinct primary label * ```true``` - return items with distinct requested label. [optional] if omitted the server will use the default value of False # noqa: E501 filter_by (FilterBy): [optional] # noqa: E501 pattern_filter (str): Return only items, whose ```label``` title case insensitively contains ```filter``` as substring.. [optional] # noqa: E501 diff --git a/gooddata-api-client/gooddata_api_client/model/entitlements_request.py b/gooddata-api-client/gooddata_api_client/model/entitlements_request.py index 5bbf00e8e..a4582379d 100644 --- a/gooddata-api-client/gooddata_api_client/model/entitlements_request.py +++ b/gooddata-api-client/gooddata_api_client/model/entitlements_request.py @@ -61,6 +61,7 @@ class EntitlementsRequest(ModelNormal): 'CONTRACT': "Contract", 'CUSTOMTHEMING': "CustomTheming", 'EXTRACACHE': "ExtraCache", + 'HIPAA': "Hipaa", 'PDFEXPORTS': "PdfExports", 'MANAGEDOIDC': "ManagedOIDC", 'UILOCALIZATION': "UiLocalization", diff --git a/gooddata-api-client/gooddata_api_client/model/json_api_organization_out_meta.py b/gooddata-api-client/gooddata_api_client/model/json_api_organization_out_meta.py index e2f738357..cbd10176e 100644 --- a/gooddata-api-client/gooddata_api_client/model/json_api_organization_out_meta.py +++ b/gooddata-api-client/gooddata_api_client/model/json_api_organization_out_meta.py @@ -58,6 +58,7 @@ class JsonApiOrganizationOutMeta(ModelNormal): allowed_values = { ('permissions',): { 'MANAGE': "MANAGE", + 'SELF_CREATE_TOKEN': "SELF_CREATE_TOKEN", }, } diff --git a/gooddata-api-client/gooddata_api_client/model/manage_dashboard_permissions_request_inner.py b/gooddata-api-client/gooddata_api_client/model/manage_dashboard_permissions_request_inner.py new file mode 100644 index 000000000..72b4aa6ad --- /dev/null +++ b/gooddata-api-client/gooddata_api_client/model/manage_dashboard_permissions_request_inner.py @@ -0,0 +1,340 @@ +""" + OpenAPI definition + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) # noqa: E501 + + The version of the OpenAPI document: v0 + Contact: support@gooddata.com + Generated by: https://openapi-generator.tech +""" + + +import re # noqa: F401 +import sys # noqa: F401 + +from gooddata_api_client.model_utils import ( # noqa: F401 + ApiTypeError, + ModelComposed, + ModelNormal, + ModelSimple, + cached_property, + change_keys_js_to_python, + convert_js_args_to_python_args, + date, + datetime, + file_type, + none_type, + validate_get_composed_info, + OpenApiModel +) +from gooddata_api_client.exceptions import ApiAttributeError + + +def lazy_import(): + from gooddata_api_client.model.assignee_identifier import AssigneeIdentifier + from gooddata_api_client.model.assignee_rule import AssigneeRule + from gooddata_api_client.model.permissions_for_assignee import PermissionsForAssignee + from gooddata_api_client.model.permissions_for_assignee_rule import PermissionsForAssigneeRule + globals()['AssigneeIdentifier'] = AssigneeIdentifier + globals()['AssigneeRule'] = AssigneeRule + globals()['PermissionsForAssignee'] = PermissionsForAssignee + globals()['PermissionsForAssigneeRule'] = PermissionsForAssigneeRule + + +class ManageDashboardPermissionsRequestInner(ModelComposed): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + + Attributes: + allowed_values (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + with a capitalized key describing the allowed value and an allowed + value. These dicts store the allowed enum values. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + discriminator_value_class_map (dict): A dict to go from the discriminator + variable value to the discriminator class name. + validations (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + that stores validations for max_length, min_length, max_items, + min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, + inclusive_minimum, and regex. + additional_properties_type (tuple): A tuple of classes accepted + as additional properties values. + """ + + allowed_values = { + ('permissions',): { + 'EDIT': "EDIT", + 'SHARE': "SHARE", + 'VIEW': "VIEW", + }, + } + + validations = { + } + + @cached_property + def additional_properties_type(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + """ + lazy_import() + return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501 + + _nullable = False + + @cached_property + def openapi_types(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + + Returns + openapi_types (dict): The key is attribute name + and the value is attribute type. + """ + lazy_import() + return { + 'permissions': ([str],), # noqa: E501 + 'assignee_identifier': (AssigneeIdentifier,), # noqa: E501 + 'assignee_rule': (AssigneeRule,), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'permissions': 'permissions', # noqa: E501 + 'assignee_identifier': 'assigneeIdentifier', # noqa: E501 + 'assignee_rule': 'assigneeRule', # noqa: E501 + } + + read_only_vars = { + } + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 + """ManageDashboardPermissionsRequestInner - a model defined in OpenAPI + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + permissions ([str]): [optional] # noqa: E501 + assignee_identifier (AssigneeIdentifier): [optional] # noqa: E501 + assignee_rule (AssigneeRule): [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + self = super(OpenApiModel, cls).__new__(cls) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + constant_args = { + '_check_type': _check_type, + '_path_to_item': _path_to_item, + '_spec_property_naming': _spec_property_naming, + '_configuration': _configuration, + '_visited_composed_classes': self._visited_composed_classes, + } + composed_info = validate_get_composed_info( + constant_args, kwargs, self) + self._composed_instances = composed_info[0] + self._var_name_to_model_instances = composed_info[1] + self._additional_properties_model_instances = composed_info[2] + discarded_args = composed_info[3] + + for var_name, var_value in kwargs.items(): + if var_name in discarded_args and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self._additional_properties_model_instances: + # discard variable. + continue + setattr(self, var_name, var_value) + + return self + + required_properties = set([ + '_data_store', + '_check_type', + '_spec_property_naming', + '_path_to_item', + '_configuration', + '_visited_composed_classes', + '_composed_instances', + '_var_name_to_model_instances', + '_additional_properties_model_instances', + ]) + + @convert_js_args_to_python_args + def __init__(self, *args, **kwargs): # noqa: E501 + """ManageDashboardPermissionsRequestInner - a model defined in OpenAPI + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + permissions ([str]): [optional] # noqa: E501 + assignee_identifier (AssigneeIdentifier): [optional] # noqa: E501 + assignee_rule (AssigneeRule): [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + constant_args = { + '_check_type': _check_type, + '_path_to_item': _path_to_item, + '_spec_property_naming': _spec_property_naming, + '_configuration': _configuration, + '_visited_composed_classes': self._visited_composed_classes, + } + composed_info = validate_get_composed_info( + constant_args, kwargs, self) + self._composed_instances = composed_info[0] + self._var_name_to_model_instances = composed_info[1] + self._additional_properties_model_instances = composed_info[2] + discarded_args = composed_info[3] + + for var_name, var_value in kwargs.items(): + if var_name in discarded_args and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self._additional_properties_model_instances: + # discard variable. + continue + setattr(self, var_name, var_value) + if var_name in self.read_only_vars: + raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate " + f"class with read only attributes.") + + @cached_property + def _composed_schemas(): + # we need this here to make our import statements work + # we must store _composed_schemas in here so the code is only run + # when we invoke this method. If we kept this at the class + # level we would get an error because the class level + # code would be run when this module is imported, and these composed + # classes don't exist yet because their module has not finished + # loading + lazy_import() + return { + 'anyOf': [ + ], + 'allOf': [ + ], + 'oneOf': [ + PermissionsForAssignee, + PermissionsForAssigneeRule, + ], + } diff --git a/gooddata-api-client/gooddata_api_client/model/organization_permission_assignment.py b/gooddata-api-client/gooddata_api_client/model/organization_permission_assignment.py new file mode 100644 index 000000000..dbb2a0554 --- /dev/null +++ b/gooddata-api-client/gooddata_api_client/model/organization_permission_assignment.py @@ -0,0 +1,286 @@ +""" + OpenAPI definition + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) # noqa: E501 + + The version of the OpenAPI document: v0 + Contact: support@gooddata.com + Generated by: https://openapi-generator.tech +""" + + +import re # noqa: F401 +import sys # noqa: F401 + +from gooddata_api_client.model_utils import ( # noqa: F401 + ApiTypeError, + ModelComposed, + ModelNormal, + ModelSimple, + cached_property, + change_keys_js_to_python, + convert_js_args_to_python_args, + date, + datetime, + file_type, + none_type, + validate_get_composed_info, + OpenApiModel +) +from gooddata_api_client.exceptions import ApiAttributeError + + +def lazy_import(): + from gooddata_api_client.model.assignee_identifier import AssigneeIdentifier + globals()['AssigneeIdentifier'] = AssigneeIdentifier + + +class OrganizationPermissionAssignment(ModelNormal): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + + Attributes: + allowed_values (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + with a capitalized key describing the allowed value and an allowed + value. These dicts store the allowed enum values. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + discriminator_value_class_map (dict): A dict to go from the discriminator + variable value to the discriminator class name. + validations (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + that stores validations for max_length, min_length, max_items, + min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, + inclusive_minimum, and regex. + additional_properties_type (tuple): A tuple of classes accepted + as additional properties values. + """ + + allowed_values = { + ('permissions',): { + 'MANAGE': "MANAGE", + 'SELF_CREATE_TOKEN': "SELF_CREATE_TOKEN", + }, + } + + validations = { + } + + @cached_property + def additional_properties_type(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + """ + lazy_import() + return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501 + + _nullable = False + + @cached_property + def openapi_types(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + + Returns + openapi_types (dict): The key is attribute name + and the value is attribute type. + """ + lazy_import() + return { + 'assignee_identifier': (AssigneeIdentifier,), # noqa: E501 + 'permissions': ([str],), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'assignee_identifier': 'assigneeIdentifier', # noqa: E501 + 'permissions': 'permissions', # noqa: E501 + } + + read_only_vars = { + } + + _composed_schemas = {} + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, assignee_identifier, permissions, *args, **kwargs): # noqa: E501 + """OrganizationPermissionAssignment - a model defined in OpenAPI + + Args: + assignee_identifier (AssigneeIdentifier): + permissions ([str]): + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', True) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + self = super(OpenApiModel, cls).__new__(cls) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + self.assignee_identifier = assignee_identifier + self.permissions = permissions + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + return self + + required_properties = set([ + '_data_store', + '_check_type', + '_spec_property_naming', + '_path_to_item', + '_configuration', + '_visited_composed_classes', + ]) + + @convert_js_args_to_python_args + def __init__(self, assignee_identifier, permissions, *args, **kwargs): # noqa: E501 + """OrganizationPermissionAssignment - a model defined in OpenAPI + + Args: + assignee_identifier (AssigneeIdentifier): + permissions ([str]): + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + self.assignee_identifier = assignee_identifier + self.permissions = permissions + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + if var_name in self.read_only_vars: + raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate " + f"class with read only attributes.") diff --git a/gooddata-api-client/gooddata_api_client/model/permissions_for_assignee.py b/gooddata-api-client/gooddata_api_client/model/permissions_for_assignee.py index 1fa36028d..0e4fb2e89 100644 --- a/gooddata-api-client/gooddata_api_client/model/permissions_for_assignee.py +++ b/gooddata-api-client/gooddata_api_client/model/permissions_for_assignee.py @@ -32,10 +32,14 @@ def lazy_import(): from gooddata_api_client.model.assignee_identifier import AssigneeIdentifier + from gooddata_api_client.model.dashboard_permissions_assignment import DashboardPermissionsAssignment + from gooddata_api_client.model.permissions_for_assignee_all_of import PermissionsForAssigneeAllOf globals()['AssigneeIdentifier'] = AssigneeIdentifier + globals()['DashboardPermissionsAssignment'] = DashboardPermissionsAssignment + globals()['PermissionsForAssigneeAllOf'] = PermissionsForAssigneeAllOf -class PermissionsForAssignee(ModelNormal): +class PermissionsForAssignee(ModelComposed): """NOTE: This class is auto generated by OpenAPI Generator. Ref: https://openapi-generator.tech @@ -93,8 +97,8 @@ def openapi_types(): """ lazy_import() return { - 'assignee_identifier': (AssigneeIdentifier,), # noqa: E501 'permissions': ([str],), # noqa: E501 + 'assignee_identifier': (AssigneeIdentifier,), # noqa: E501 } @cached_property @@ -103,25 +107,21 @@ def discriminator(): attribute_map = { - 'assignee_identifier': 'assigneeIdentifier', # noqa: E501 'permissions': 'permissions', # noqa: E501 + 'assignee_identifier': 'assigneeIdentifier', # noqa: E501 } read_only_vars = { } - _composed_schemas = {} - @classmethod @convert_js_args_to_python_args - def _from_openapi_data(cls, assignee_identifier, permissions, *args, **kwargs): # noqa: E501 + def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 """PermissionsForAssignee - a model defined in OpenAPI - Args: - assignee_identifier (AssigneeIdentifier): - permissions ([str]): - Keyword Args: + permissions ([str]): + assignee_identifier (AssigneeIdentifier): _check_type (bool): if True, values for parameters in openapi_types will be type checked and a TypeError will be raised if the wrong type is input. @@ -155,7 +155,7 @@ def _from_openapi_data(cls, assignee_identifier, permissions, *args, **kwargs): """ _check_type = kwargs.pop('_check_type', True) - _spec_property_naming = kwargs.pop('_spec_property_naming', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) _path_to_item = kwargs.pop('_path_to_item', ()) _configuration = kwargs.pop('_configuration', None) _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) @@ -183,16 +183,29 @@ def _from_openapi_data(cls, assignee_identifier, permissions, *args, **kwargs): self._configuration = _configuration self._visited_composed_classes = _visited_composed_classes + (self.__class__,) - self.assignee_identifier = assignee_identifier - self.permissions = permissions + constant_args = { + '_check_type': _check_type, + '_path_to_item': _path_to_item, + '_spec_property_naming': _spec_property_naming, + '_configuration': _configuration, + '_visited_composed_classes': self._visited_composed_classes, + } + composed_info = validate_get_composed_info( + constant_args, kwargs, self) + self._composed_instances = composed_info[0] + self._var_name_to_model_instances = composed_info[1] + self._additional_properties_model_instances = composed_info[2] + discarded_args = composed_info[3] + for var_name, var_value in kwargs.items(): - if var_name not in self.attribute_map and \ + if var_name in discarded_args and \ self._configuration is not None and \ self._configuration.discard_unknown_keys and \ - self.additional_properties_type is None: + self._additional_properties_model_instances: # discard variable. continue setattr(self, var_name, var_value) + return self required_properties = set([ @@ -202,17 +215,18 @@ def _from_openapi_data(cls, assignee_identifier, permissions, *args, **kwargs): '_path_to_item', '_configuration', '_visited_composed_classes', + '_composed_instances', + '_var_name_to_model_instances', + '_additional_properties_model_instances', ]) @convert_js_args_to_python_args - def __init__(self, assignee_identifier, permissions, *args, **kwargs): # noqa: E501 + def __init__(self, *args, **kwargs): # noqa: E501 """PermissionsForAssignee - a model defined in OpenAPI - Args: - assignee_identifier (AssigneeIdentifier): - permissions ([str]): - Keyword Args: + permissions ([str]): + assignee_identifier (AssigneeIdentifier): _check_type (bool): if True, values for parameters in openapi_types will be type checked and a TypeError will be raised if the wrong type is input. @@ -272,16 +286,49 @@ def __init__(self, assignee_identifier, permissions, *args, **kwargs): # noqa: self._configuration = _configuration self._visited_composed_classes = _visited_composed_classes + (self.__class__,) - self.assignee_identifier = assignee_identifier - self.permissions = permissions + constant_args = { + '_check_type': _check_type, + '_path_to_item': _path_to_item, + '_spec_property_naming': _spec_property_naming, + '_configuration': _configuration, + '_visited_composed_classes': self._visited_composed_classes, + } + composed_info = validate_get_composed_info( + constant_args, kwargs, self) + self._composed_instances = composed_info[0] + self._var_name_to_model_instances = composed_info[1] + self._additional_properties_model_instances = composed_info[2] + discarded_args = composed_info[3] + for var_name, var_value in kwargs.items(): - if var_name not in self.attribute_map and \ + if var_name in discarded_args and \ self._configuration is not None and \ self._configuration.discard_unknown_keys and \ - self.additional_properties_type is None: + self._additional_properties_model_instances: # discard variable. continue setattr(self, var_name, var_value) if var_name in self.read_only_vars: raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate " f"class with read only attributes.") + + @cached_property + def _composed_schemas(): + # we need this here to make our import statements work + # we must store _composed_schemas in here so the code is only run + # when we invoke this method. If we kept this at the class + # level we would get an error because the class level + # code would be run when this module is imported, and these composed + # classes don't exist yet because their module has not finished + # loading + lazy_import() + return { + 'anyOf': [ + ], + 'allOf': [ + DashboardPermissionsAssignment, + PermissionsForAssigneeAllOf, + ], + 'oneOf': [ + ], + } diff --git a/gooddata-api-client/gooddata_api_client/model/permissions_for_assignee_all_of.py b/gooddata-api-client/gooddata_api_client/model/permissions_for_assignee_all_of.py new file mode 100644 index 000000000..e3230b392 --- /dev/null +++ b/gooddata-api-client/gooddata_api_client/model/permissions_for_assignee_all_of.py @@ -0,0 +1,270 @@ +""" + OpenAPI definition + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) # noqa: E501 + + The version of the OpenAPI document: v0 + Contact: support@gooddata.com + Generated by: https://openapi-generator.tech +""" + + +import re # noqa: F401 +import sys # noqa: F401 + +from gooddata_api_client.model_utils import ( # noqa: F401 + ApiTypeError, + ModelComposed, + ModelNormal, + ModelSimple, + cached_property, + change_keys_js_to_python, + convert_js_args_to_python_args, + date, + datetime, + file_type, + none_type, + validate_get_composed_info, + OpenApiModel +) +from gooddata_api_client.exceptions import ApiAttributeError + + +def lazy_import(): + from gooddata_api_client.model.assignee_identifier import AssigneeIdentifier + globals()['AssigneeIdentifier'] = AssigneeIdentifier + + +class PermissionsForAssigneeAllOf(ModelNormal): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + + Attributes: + allowed_values (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + with a capitalized key describing the allowed value and an allowed + value. These dicts store the allowed enum values. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + discriminator_value_class_map (dict): A dict to go from the discriminator + variable value to the discriminator class name. + validations (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + that stores validations for max_length, min_length, max_items, + min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, + inclusive_minimum, and regex. + additional_properties_type (tuple): A tuple of classes accepted + as additional properties values. + """ + + allowed_values = { + } + + validations = { + } + + @cached_property + def additional_properties_type(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + """ + lazy_import() + return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501 + + _nullable = False + + @cached_property + def openapi_types(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + + Returns + openapi_types (dict): The key is attribute name + and the value is attribute type. + """ + lazy_import() + return { + 'assignee_identifier': (AssigneeIdentifier,), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'assignee_identifier': 'assigneeIdentifier', # noqa: E501 + } + + read_only_vars = { + } + + _composed_schemas = {} + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 + """PermissionsForAssigneeAllOf - a model defined in OpenAPI + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + assignee_identifier (AssigneeIdentifier): [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', True) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + self = super(OpenApiModel, cls).__new__(cls) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + return self + + required_properties = set([ + '_data_store', + '_check_type', + '_spec_property_naming', + '_path_to_item', + '_configuration', + '_visited_composed_classes', + ]) + + @convert_js_args_to_python_args + def __init__(self, *args, **kwargs): # noqa: E501 + """PermissionsForAssigneeAllOf - a model defined in OpenAPI + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + assignee_identifier (AssigneeIdentifier): [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + if var_name in self.read_only_vars: + raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate " + f"class with read only attributes.") diff --git a/gooddata-api-client/gooddata_api_client/model/permissions_for_assignee_rule.py b/gooddata-api-client/gooddata_api_client/model/permissions_for_assignee_rule.py new file mode 100644 index 000000000..320b6cb96 --- /dev/null +++ b/gooddata-api-client/gooddata_api_client/model/permissions_for_assignee_rule.py @@ -0,0 +1,334 @@ +""" + OpenAPI definition + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) # noqa: E501 + + The version of the OpenAPI document: v0 + Contact: support@gooddata.com + Generated by: https://openapi-generator.tech +""" + + +import re # noqa: F401 +import sys # noqa: F401 + +from gooddata_api_client.model_utils import ( # noqa: F401 + ApiTypeError, + ModelComposed, + ModelNormal, + ModelSimple, + cached_property, + change_keys_js_to_python, + convert_js_args_to_python_args, + date, + datetime, + file_type, + none_type, + validate_get_composed_info, + OpenApiModel +) +from gooddata_api_client.exceptions import ApiAttributeError + + +def lazy_import(): + from gooddata_api_client.model.assignee_rule import AssigneeRule + from gooddata_api_client.model.dashboard_permissions_assignment import DashboardPermissionsAssignment + from gooddata_api_client.model.declarative_analytical_dashboard_permission_for_assignee_rule_all_of import DeclarativeAnalyticalDashboardPermissionForAssigneeRuleAllOf + globals()['AssigneeRule'] = AssigneeRule + globals()['DashboardPermissionsAssignment'] = DashboardPermissionsAssignment + globals()['DeclarativeAnalyticalDashboardPermissionForAssigneeRuleAllOf'] = DeclarativeAnalyticalDashboardPermissionForAssigneeRuleAllOf + + +class PermissionsForAssigneeRule(ModelComposed): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + + Attributes: + allowed_values (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + with a capitalized key describing the allowed value and an allowed + value. These dicts store the allowed enum values. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + discriminator_value_class_map (dict): A dict to go from the discriminator + variable value to the discriminator class name. + validations (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + that stores validations for max_length, min_length, max_items, + min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, + inclusive_minimum, and regex. + additional_properties_type (tuple): A tuple of classes accepted + as additional properties values. + """ + + allowed_values = { + ('permissions',): { + 'EDIT': "EDIT", + 'SHARE': "SHARE", + 'VIEW': "VIEW", + }, + } + + validations = { + } + + @cached_property + def additional_properties_type(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + """ + lazy_import() + return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501 + + _nullable = False + + @cached_property + def openapi_types(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + + Returns + openapi_types (dict): The key is attribute name + and the value is attribute type. + """ + lazy_import() + return { + 'permissions': ([str],), # noqa: E501 + 'assignee_rule': (AssigneeRule,), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'permissions': 'permissions', # noqa: E501 + 'assignee_rule': 'assigneeRule', # noqa: E501 + } + + read_only_vars = { + } + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 + """PermissionsForAssigneeRule - a model defined in OpenAPI + + Keyword Args: + permissions ([str]): + assignee_rule (AssigneeRule): + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + self = super(OpenApiModel, cls).__new__(cls) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + constant_args = { + '_check_type': _check_type, + '_path_to_item': _path_to_item, + '_spec_property_naming': _spec_property_naming, + '_configuration': _configuration, + '_visited_composed_classes': self._visited_composed_classes, + } + composed_info = validate_get_composed_info( + constant_args, kwargs, self) + self._composed_instances = composed_info[0] + self._var_name_to_model_instances = composed_info[1] + self._additional_properties_model_instances = composed_info[2] + discarded_args = composed_info[3] + + for var_name, var_value in kwargs.items(): + if var_name in discarded_args and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self._additional_properties_model_instances: + # discard variable. + continue + setattr(self, var_name, var_value) + + return self + + required_properties = set([ + '_data_store', + '_check_type', + '_spec_property_naming', + '_path_to_item', + '_configuration', + '_visited_composed_classes', + '_composed_instances', + '_var_name_to_model_instances', + '_additional_properties_model_instances', + ]) + + @convert_js_args_to_python_args + def __init__(self, *args, **kwargs): # noqa: E501 + """PermissionsForAssigneeRule - a model defined in OpenAPI + + Keyword Args: + permissions ([str]): + assignee_rule (AssigneeRule): + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + constant_args = { + '_check_type': _check_type, + '_path_to_item': _path_to_item, + '_spec_property_naming': _spec_property_naming, + '_configuration': _configuration, + '_visited_composed_classes': self._visited_composed_classes, + } + composed_info = validate_get_composed_info( + constant_args, kwargs, self) + self._composed_instances = composed_info[0] + self._var_name_to_model_instances = composed_info[1] + self._additional_properties_model_instances = composed_info[2] + discarded_args = composed_info[3] + + for var_name, var_value in kwargs.items(): + if var_name in discarded_args and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self._additional_properties_model_instances: + # discard variable. + continue + setattr(self, var_name, var_value) + if var_name in self.read_only_vars: + raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate " + f"class with read only attributes.") + + @cached_property + def _composed_schemas(): + # we need this here to make our import statements work + # we must store _composed_schemas in here so the code is only run + # when we invoke this method. If we kept this at the class + # level we would get an error because the class level + # code would be run when this module is imported, and these composed + # classes don't exist yet because their module has not finished + # loading + lazy_import() + return { + 'anyOf': [ + ], + 'allOf': [ + DashboardPermissionsAssignment, + DeclarativeAnalyticalDashboardPermissionForAssigneeRuleAllOf, + ], + 'oneOf': [ + ], + } diff --git a/gooddata-api-client/gooddata_api_client/model/rule_permission.py b/gooddata-api-client/gooddata_api_client/model/rule_permission.py new file mode 100644 index 000000000..1eb60c551 --- /dev/null +++ b/gooddata-api-client/gooddata_api_client/model/rule_permission.py @@ -0,0 +1,280 @@ +""" + OpenAPI definition + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) # noqa: E501 + + The version of the OpenAPI document: v0 + Contact: support@gooddata.com + Generated by: https://openapi-generator.tech +""" + + +import re # noqa: F401 +import sys # noqa: F401 + +from gooddata_api_client.model_utils import ( # noqa: F401 + ApiTypeError, + ModelComposed, + ModelNormal, + ModelSimple, + cached_property, + change_keys_js_to_python, + convert_js_args_to_python_args, + date, + datetime, + file_type, + none_type, + validate_get_composed_info, + OpenApiModel +) +from gooddata_api_client.exceptions import ApiAttributeError + + +def lazy_import(): + from gooddata_api_client.model.granted_permission import GrantedPermission + globals()['GrantedPermission'] = GrantedPermission + + +class RulePermission(ModelNormal): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + + Attributes: + allowed_values (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + with a capitalized key describing the allowed value and an allowed + value. These dicts store the allowed enum values. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + discriminator_value_class_map (dict): A dict to go from the discriminator + variable value to the discriminator class name. + validations (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + that stores validations for max_length, min_length, max_items, + min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, + inclusive_minimum, and regex. + additional_properties_type (tuple): A tuple of classes accepted + as additional properties values. + """ + + allowed_values = { + } + + validations = { + } + + @cached_property + def additional_properties_type(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + """ + lazy_import() + return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501 + + _nullable = False + + @cached_property + def openapi_types(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + + Returns + openapi_types (dict): The key is attribute name + and the value is attribute type. + """ + lazy_import() + return { + 'type': (str,), # noqa: E501 + 'permissions': ([GrantedPermission],), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'type': 'type', # noqa: E501 + 'permissions': 'permissions', # noqa: E501 + } + + read_only_vars = { + } + + _composed_schemas = {} + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, type, *args, **kwargs): # noqa: E501 + """RulePermission - a model defined in OpenAPI + + Args: + type (str): Type of the rule + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + permissions ([GrantedPermission]): Permissions granted by the rule. [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', True) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + self = super(OpenApiModel, cls).__new__(cls) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + self.type = type + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + return self + + required_properties = set([ + '_data_store', + '_check_type', + '_spec_property_naming', + '_path_to_item', + '_configuration', + '_visited_composed_classes', + ]) + + @convert_js_args_to_python_args + def __init__(self, type, *args, **kwargs): # noqa: E501 + """RulePermission - a model defined in OpenAPI + + Args: + type (str): Type of the rule + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + permissions ([GrantedPermission]): Permissions granted by the rule. [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + self.type = type + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + if var_name in self.read_only_vars: + raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate " + f"class with read only attributes.") diff --git a/gooddata-api-client/gooddata_api_client/model_utils.py b/gooddata-api-client/gooddata_api_client/model_utils.py index f4b206eae..498706555 100644 --- a/gooddata-api-client/gooddata_api_client/model_utils.py +++ b/gooddata-api-client/gooddata_api_client/model_utils.py @@ -1873,6 +1873,12 @@ def get_oneof_instance(cls, model_kwargs, constant_kwargs, model_arg=None): oneof_instance = oneof_class._from_openapi_data(**model_kwargs, **constant_kwargs) else: oneof_instance = oneof_class(**model_kwargs, **constant_kwargs) + + # Workaround for missing OneOf schema support by the generator + # Checks if the defined schema is a subset of received model + # This way we can ensure forward-compatibility support of new fields in API + assert set(oneof_class.openapi_types.keys()) <= set(model_kwargs.keys()) + else: if issubclass(oneof_class, ModelSimple): if constant_kwargs.get('_spec_property_naming'): diff --git a/gooddata-api-client/gooddata_api_client/models/__init__.py b/gooddata-api-client/gooddata_api_client/models/__init__.py index d893c9c9f..b201551b8 100644 --- a/gooddata-api-client/gooddata_api_client/models/__init__.py +++ b/gooddata-api-client/gooddata_api_client/models/__init__.py @@ -35,6 +35,7 @@ from gooddata_api_client.model.arithmetic_measure_definition import ArithmeticMeasureDefinition from gooddata_api_client.model.arithmetic_measure_definition_arithmetic_measure import ArithmeticMeasureDefinitionArithmeticMeasure from gooddata_api_client.model.assignee_identifier import AssigneeIdentifier +from gooddata_api_client.model.assignee_rule import AssigneeRule from gooddata_api_client.model.attribute_execution_result_header import AttributeExecutionResultHeader from gooddata_api_client.model.attribute_filter import AttributeFilter from gooddata_api_client.model.attribute_filter_elements import AttributeFilterElements @@ -51,6 +52,7 @@ from gooddata_api_client.model.custom_metric import CustomMetric from gooddata_api_client.model.custom_override import CustomOverride from gooddata_api_client.model.dashboard_permissions import DashboardPermissions +from gooddata_api_client.model.dashboard_permissions_assignment import DashboardPermissionsAssignment from gooddata_api_client.model.data_column_locator import DataColumnLocator from gooddata_api_client.model.data_column_locators import DataColumnLocators from gooddata_api_client.model.data_source_parameter import DataSourceParameter @@ -62,7 +64,12 @@ from gooddata_api_client.model.date_filter import DateFilter from gooddata_api_client.model.declarative_analytical_dashboard import DeclarativeAnalyticalDashboard from gooddata_api_client.model.declarative_analytical_dashboard_extension import DeclarativeAnalyticalDashboardExtension -from gooddata_api_client.model.declarative_analytical_dashboard_permission import DeclarativeAnalyticalDashboardPermission +from gooddata_api_client.model.declarative_analytical_dashboard_permission_assignment import DeclarativeAnalyticalDashboardPermissionAssignment +from gooddata_api_client.model.declarative_analytical_dashboard_permission_for_assignee import DeclarativeAnalyticalDashboardPermissionForAssignee +from gooddata_api_client.model.declarative_analytical_dashboard_permission_for_assignee_all_of import DeclarativeAnalyticalDashboardPermissionForAssigneeAllOf +from gooddata_api_client.model.declarative_analytical_dashboard_permission_for_assignee_rule import DeclarativeAnalyticalDashboardPermissionForAssigneeRule +from gooddata_api_client.model.declarative_analytical_dashboard_permission_for_assignee_rule_all_of import DeclarativeAnalyticalDashboardPermissionForAssigneeRuleAllOf +from gooddata_api_client.model.declarative_analytical_dashboard_permissions_inner import DeclarativeAnalyticalDashboardPermissionsInner from gooddata_api_client.model.declarative_analytics import DeclarativeAnalytics from gooddata_api_client.model.declarative_analytics_layer import DeclarativeAnalyticsLayer from gooddata_api_client.model.declarative_attribute import DeclarativeAttribute @@ -528,6 +535,7 @@ from gooddata_api_client.model.label_identifier import LabelIdentifier from gooddata_api_client.model.list_links import ListLinks from gooddata_api_client.model.list_links_all_of import ListLinksAllOf +from gooddata_api_client.model.manage_dashboard_permissions_request_inner import ManageDashboardPermissionsRequestInner from gooddata_api_client.model.measure_definition import MeasureDefinition from gooddata_api_client.model.measure_execution_result_header import MeasureExecutionResultHeader from gooddata_api_client.model.measure_group_headers import MeasureGroupHeaders @@ -539,12 +547,15 @@ from gooddata_api_client.model.negative_attribute_filter_negative_attribute_filter import NegativeAttributeFilterNegativeAttributeFilter from gooddata_api_client.model.object_links import ObjectLinks from gooddata_api_client.model.object_links_container import ObjectLinksContainer +from gooddata_api_client.model.organization_permission_assignment import OrganizationPermissionAssignment from gooddata_api_client.model.paging import Paging from gooddata_api_client.model.parameter import Parameter from gooddata_api_client.model.pdf_export_request import PdfExportRequest from gooddata_api_client.model.pdm_ldm_request import PdmLdmRequest from gooddata_api_client.model.pdm_sql import PdmSql from gooddata_api_client.model.permissions_for_assignee import PermissionsForAssignee +from gooddata_api_client.model.permissions_for_assignee_all_of import PermissionsForAssigneeAllOf +from gooddata_api_client.model.permissions_for_assignee_rule import PermissionsForAssigneeRule from gooddata_api_client.model.platform_usage import PlatformUsage from gooddata_api_client.model.platform_usage_request import PlatformUsageRequest from gooddata_api_client.model.pop_dataset import PopDataset @@ -572,6 +583,7 @@ from gooddata_api_client.model.result_dimension_header import ResultDimensionHeader from gooddata_api_client.model.result_spec import ResultSpec from gooddata_api_client.model.rsa_specification import RsaSpecification +from gooddata_api_client.model.rule_permission import RulePermission from gooddata_api_client.model.scan_request import ScanRequest from gooddata_api_client.model.scan_result_pdm import ScanResultPdm from gooddata_api_client.model.scan_sql_request import ScanSqlRequest diff --git a/gooddata-fdw/tests/execute/fixtures/execute_compute_table_all_columns.yaml b/gooddata-fdw/tests/execute/fixtures/execute_compute_table_all_columns.yaml index fa073de6d..a8766fab4 100644 --- a/gooddata-fdw/tests/execute/fixtures/execute_compute_table_all_columns.yaml +++ b/gooddata-fdw/tests/execute/fixtures/execute_compute_table_all_columns.yaml @@ -184,10 +184,10 @@ interactions: name: Revenue localIdentifier: dim_1 links: - executionResult: 87e035a3cb3244205b3f16e2a0d35a9799ab6e80 + executionResult: 6eefd811ae465a1592de7160683649b31802aa8f - request: method: GET - uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/87e035a3cb3244205b3f16e2a0d35a9799ab6e80?offset=0%2C0&limit=512%2C256 + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/6eefd811ae465a1592de7160683649b31802aa8f?offset=0%2C0&limit=512%2C256 body: null headers: Accept: diff --git a/gooddata-fdw/tests/execute/fixtures/execute_compute_table_metrics_only.yaml b/gooddata-fdw/tests/execute/fixtures/execute_compute_table_metrics_only.yaml index f4a0c41f8..dd315cf3b 100644 --- a/gooddata-fdw/tests/execute/fixtures/execute_compute_table_metrics_only.yaml +++ b/gooddata-fdw/tests/execute/fixtures/execute_compute_table_metrics_only.yaml @@ -140,10 +140,10 @@ interactions: name: Revenue localIdentifier: dim_0 links: - executionResult: d4b388354673f3f2ca52ef6cefc3543669300e49 + executionResult: fe5c167f5bd3e92f1c94e093b8510f8afecaca18 - request: method: GET - uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/d4b388354673f3f2ca52ef6cefc3543669300e49?offset=0&limit=256 + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/fe5c167f5bd3e92f1c94e093b8510f8afecaca18?offset=0&limit=256 body: null headers: Accept: diff --git a/gooddata-fdw/tests/execute/fixtures/execute_compute_table_with_reduced_granularity.yaml b/gooddata-fdw/tests/execute/fixtures/execute_compute_table_with_reduced_granularity.yaml index fcf50e668..1b02cf5c8 100644 --- a/gooddata-fdw/tests/execute/fixtures/execute_compute_table_with_reduced_granularity.yaml +++ b/gooddata-fdw/tests/execute/fixtures/execute_compute_table_with_reduced_granularity.yaml @@ -141,10 +141,10 @@ interactions: name: Revenue localIdentifier: dim_1 links: - executionResult: b8d300974a2aed5fbb461117afe692bb238eb464 + executionResult: 00d0299adce52f12bf8dc9aa3383d7f6615db632 - request: method: GET - uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/b8d300974a2aed5fbb461117afe692bb238eb464?offset=0%2C0&limit=512%2C256 + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/00d0299adce52f12bf8dc9aa3383d7f6615db632?offset=0%2C0&limit=512%2C256 body: null headers: Accept: diff --git a/gooddata-fdw/tests/execute/fixtures/execute_insight_all_columns.yaml b/gooddata-fdw/tests/execute/fixtures/execute_insight_all_columns.yaml index 2e833a5f3..1afe325e7 100644 --- a/gooddata-fdw/tests/execute/fixtures/execute_insight_all_columns.yaml +++ b/gooddata-fdw/tests/execute/fixtures/execute_insight_all_columns.yaml @@ -28,7 +28,7 @@ interactions: Connection: - keep-alive Content-Length: - - '4703' + - '5006' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -174,7 +174,12 @@ interactions: direction: asc version: '2' visualizationUrl: local:table + createdAt: 2023-10-24 11:00 relationships: + createdBy: + data: + id: admin + type: userIdentifier metrics: data: - id: percent_revenue_in_category @@ -183,10 +188,10 @@ interactions: type: metric facts: data: - - id: price - type: fact - id: quantity type: fact + - id: price + type: fact labels: data: - id: products.category @@ -216,6 +221,7 @@ interactions: attributes: title: Revenue description: '' + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} @@ -246,6 +252,11 @@ interactions: valueType: TEXT links: self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_name + - id: admin + type: userIdentifier + attributes: {} + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/userIdentifiers/admin - id: customer_name type: label attributes: @@ -263,6 +274,7 @@ interactions: type: metric attributes: title: '% Revenue in Category' + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, @@ -466,10 +478,10 @@ interactions: name: Revenue localIdentifier: dim_1 links: - executionResult: 0da271826abfb80b2ee7d82ac6ac5ea18b19dd6e + executionResult: a3841c000c13f542e43aa6306a6cd98e1bdc2ba9 - request: method: GET - uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/0da271826abfb80b2ee7d82ac6ac5ea18b19dd6e?offset=0%2C0&limit=512%2C256 + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/a3841c000c13f542e43aa6306a6cd98e1bdc2ba9?offset=0%2C0&limit=512%2C256 body: null headers: Accept: diff --git a/gooddata-fdw/tests/execute/fixtures/execute_insight_some_columns.yaml b/gooddata-fdw/tests/execute/fixtures/execute_insight_some_columns.yaml index 2e833a5f3..1afe325e7 100644 --- a/gooddata-fdw/tests/execute/fixtures/execute_insight_some_columns.yaml +++ b/gooddata-fdw/tests/execute/fixtures/execute_insight_some_columns.yaml @@ -28,7 +28,7 @@ interactions: Connection: - keep-alive Content-Length: - - '4703' + - '5006' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -174,7 +174,12 @@ interactions: direction: asc version: '2' visualizationUrl: local:table + createdAt: 2023-10-24 11:00 relationships: + createdBy: + data: + id: admin + type: userIdentifier metrics: data: - id: percent_revenue_in_category @@ -183,10 +188,10 @@ interactions: type: metric facts: data: - - id: price - type: fact - id: quantity type: fact + - id: price + type: fact labels: data: - id: products.category @@ -216,6 +221,7 @@ interactions: attributes: title: Revenue description: '' + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} @@ -246,6 +252,11 @@ interactions: valueType: TEXT links: self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_name + - id: admin + type: userIdentifier + attributes: {} + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/userIdentifiers/admin - id: customer_name type: label attributes: @@ -263,6 +274,7 @@ interactions: type: metric attributes: title: '% Revenue in Category' + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, @@ -466,10 +478,10 @@ interactions: name: Revenue localIdentifier: dim_1 links: - executionResult: 0da271826abfb80b2ee7d82ac6ac5ea18b19dd6e + executionResult: a3841c000c13f542e43aa6306a6cd98e1bdc2ba9 - request: method: GET - uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/0da271826abfb80b2ee7d82ac6ac5ea18b19dd6e?offset=0%2C0&limit=512%2C256 + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/a3841c000c13f542e43aa6306a6cd98e1bdc2ba9?offset=0%2C0&limit=512%2C256 body: null headers: Accept: diff --git a/gooddata-fdw/tests/import_foreign_schema/fixtures/import_compute_without_restrictions.yaml b/gooddata-fdw/tests/import_foreign_schema/fixtures/import_compute_without_restrictions.yaml index 266018499..dd0a4b4a6 100644 --- a/gooddata-fdw/tests/import_foreign_schema/fixtures/import_compute_without_restrictions.yaml +++ b/gooddata-fdw/tests/import_foreign_schema/fixtures/import_compute_without_restrictions.yaml @@ -28,7 +28,7 @@ interactions: Connection: - keep-alive Content-Length: - - '27018' + - '27121' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -76,743 +76,743 @@ interactions: body: string: data: - - id: campaign_channels.category + - id: date.minute type: attribute attributes: - title: Category - description: Category + title: Date - Minute + description: Minute tags: - - Campaign channels + - Date + granularity: MINUTE areRelationsValid: true - sourceColumn: category - sourceColumnDataType: STRING relationships: dataset: data: - id: campaign_channels + id: date type: dataset labels: data: - - id: campaign_channels.category + - id: date.minute type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute meta: origin: originType: NATIVE originId: demo - - id: campaign_channel_id + - id: date.hour type: attribute attributes: - title: Campaign channel id - description: Campaign channel id + title: Date - Hour + description: Hour tags: - - Campaign channels + - Date + granularity: HOUR areRelationsValid: true - sourceColumn: campaign_channel_id - sourceColumnDataType: STRING relationships: dataset: data: - id: campaign_channels + id: date type: dataset labels: data: - - id: campaign_channel_id + - id: date.hour type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour meta: origin: originType: NATIVE originId: demo - - id: type + - id: date.day type: attribute attributes: - title: Type - description: Type + title: Date - Date + description: Date tags: - - Campaign channels + - Date + granularity: DAY areRelationsValid: true - sourceColumn: type - sourceColumnDataType: STRING relationships: dataset: data: - id: campaign_channels + id: date type: dataset labels: data: - - id: type + - id: date.day type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day meta: origin: originType: NATIVE originId: demo - - id: campaign_name + - id: date.week type: attribute attributes: - title: Campaign name - description: Campaign name + title: Date - Week/Year + description: Week and Year (W52/2020) tags: - - Campaigns + - Date + granularity: WEEK areRelationsValid: true - sourceColumn: campaign_name - sourceColumnDataType: STRING relationships: dataset: data: - id: campaigns + id: date type: dataset labels: data: - - id: campaign_name + - id: date.week type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week meta: origin: originType: NATIVE originId: demo - - id: campaign_id + - id: date.month type: attribute attributes: - title: Campaign id - description: Campaign id + title: Date - Month/Year + description: Month and Year (12/2020) tags: - - Campaigns + - Date + granularity: MONTH areRelationsValid: true - sourceColumn: campaign_id - sourceColumnDataType: INT relationships: dataset: data: - id: campaigns + id: date type: dataset labels: data: - - id: campaign_id + - id: date.month type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month meta: origin: originType: NATIVE originId: demo - - id: state + - id: date.quarter type: attribute attributes: - title: State - description: State + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) tags: - - Customers + - Date + granularity: QUARTER areRelationsValid: true - sourceColumn: state - sourceColumnDataType: STRING relationships: - defaultView: - data: - id: state - type: label dataset: data: - id: customers + id: date type: dataset labels: data: - - id: state - type: label - - id: geo__state__location + - id: date.quarter type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter meta: origin: originType: NATIVE originId: demo - - id: region + - id: date.year type: attribute attributes: - title: Region - description: Region + title: Date - Year + description: Year tags: - - Customers + - Date + granularity: YEAR areRelationsValid: true - sourceColumn: region - sourceColumnDataType: STRING relationships: dataset: data: - id: customers + id: date type: dataset labels: data: - - id: region + - id: date.year type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year meta: origin: originType: NATIVE originId: demo - - id: customer_name + - id: date.minuteOfHour type: attribute attributes: - title: Customer name - description: Customer name + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) tags: - - Customers + - Date + granularity: MINUTE_OF_HOUR areRelationsValid: true - sourceColumn: customer_name - sourceColumnDataType: STRING relationships: dataset: data: - id: customers + id: date type: dataset labels: data: - - id: customer_name + - id: date.minuteOfHour type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour meta: origin: originType: NATIVE originId: demo - - id: customer_id + - id: date.hourOfDay type: attribute attributes: - title: Customer id - description: Customer id + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) tags: - - Customers + - Date + granularity: HOUR_OF_DAY areRelationsValid: true - sourceColumn: customer_id - sourceColumnDataType: INT relationships: dataset: data: - id: customers + id: date type: dataset labels: data: - - id: customer_id + - id: date.hourOfDay type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay meta: origin: originType: NATIVE originId: demo - - id: order_status + - id: date.dayOfWeek type: attribute attributes: - title: Order status - description: Order status + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) tags: - - Order lines + - Date + granularity: DAY_OF_WEEK areRelationsValid: true - sourceColumn: order_status - sourceColumnDataType: STRING relationships: dataset: data: - id: order_lines + id: date type: dataset labels: data: - - id: order_status + - id: date.dayOfWeek type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek meta: origin: originType: NATIVE originId: demo - - id: order_line_id + - id: date.dayOfMonth type: attribute attributes: - title: Order line id - description: Order line id + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) tags: - - Order lines + - Date + granularity: DAY_OF_MONTH areRelationsValid: true - sourceColumn: order_line_id - sourceColumnDataType: STRING relationships: dataset: data: - id: order_lines + id: date type: dataset labels: data: - - id: order_line_id + - id: date.dayOfMonth type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth meta: origin: originType: NATIVE originId: demo - - id: order_id + - id: date.dayOfYear type: attribute attributes: - title: Order id - description: Order id + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) tags: - - Order lines + - Date + granularity: DAY_OF_YEAR areRelationsValid: true - sourceColumn: order_id - sourceColumnDataType: STRING relationships: dataset: data: - id: order_lines + id: date type: dataset labels: data: - - id: order_id + - id: date.dayOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear meta: origin: originType: NATIVE originId: demo - - id: product_name + - id: date.weekOfYear type: attribute attributes: - title: Product name - description: Product name + title: Date - Week of Year + description: Generic Week (W1-W53) tags: - - Products + - Date + granularity: WEEK_OF_YEAR areRelationsValid: true - sourceColumn: product_name - sourceColumnDataType: STRING relationships: dataset: data: - id: products + id: date type: dataset labels: data: - - id: product_name + - id: date.weekOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear meta: origin: originType: NATIVE originId: demo - - id: product_id + - id: date.monthOfYear type: attribute attributes: - title: Product id - description: Product id + title: Date - Month of Year + description: Generic Month (M1-M12) tags: - - Products + - Date + granularity: MONTH_OF_YEAR areRelationsValid: true - sourceColumn: product_id - sourceColumnDataType: INT relationships: dataset: data: - id: products + id: date type: dataset labels: data: - - id: product_id + - id: date.monthOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear meta: origin: originType: NATIVE originId: demo - - id: products.category + - id: date.quarterOfYear type: attribute attributes: - title: Category - description: Category + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) tags: - - Products + - Date + granularity: QUARTER_OF_YEAR areRelationsValid: true - sourceColumn: category - sourceColumnDataType: STRING relationships: dataset: data: - id: products + id: date type: dataset labels: data: - - id: products.category + - id: date.quarterOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear meta: origin: originType: NATIVE originId: demo - - id: date.quarterOfYear + - id: campaign_channel_id type: attribute attributes: - title: Date - Quarter of Year - description: Generic Quarter (Q1-Q4) + title: Campaign channel id + description: Campaign channel id tags: - - Date - granularity: QUARTER_OF_YEAR + - Campaign channels areRelationsValid: true + sourceColumn: campaign_channel_id + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaign_channels type: dataset labels: data: - - id: date.quarterOfYear + - id: campaign_channel_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id meta: origin: originType: NATIVE originId: demo - - id: date.monthOfYear + - id: campaign_channels.category type: attribute attributes: - title: Date - Month of Year - description: Generic Month (M1-M12) + title: Category + description: Category tags: - - Date - granularity: MONTH_OF_YEAR + - Campaign channels areRelationsValid: true + sourceColumn: category + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaign_channels type: dataset labels: data: - - id: date.monthOfYear + - id: campaign_channels.category type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category meta: origin: originType: NATIVE originId: demo - - id: date.weekOfYear + - id: type type: attribute - attributes: - title: Date - Week of Year - description: Generic Week (W1-W53) + attributes: + title: Type + description: Type tags: - - Date - granularity: WEEK_OF_YEAR + - Campaign channels areRelationsValid: true + sourceColumn: type + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaign_channels type: dataset labels: data: - - id: date.weekOfYear + - id: type type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type meta: origin: originType: NATIVE originId: demo - - id: date.dayOfYear + - id: campaign_id type: attribute attributes: - title: Date - Day of Year - description: Generic Day of the Year (D1-D366) + title: Campaign id + description: Campaign id tags: - - Date - granularity: DAY_OF_YEAR + - Campaigns areRelationsValid: true + sourceColumn: campaign_id + sourceColumnDataType: INT relationships: dataset: data: - id: date + id: campaigns type: dataset labels: data: - - id: date.dayOfYear + - id: campaign_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id meta: origin: originType: NATIVE originId: demo - - id: date.dayOfMonth + - id: campaign_name type: attribute attributes: - title: Date - Day of Month - description: Generic Day of the Month (D1-D31) + title: Campaign name + description: Campaign name tags: - - Date - granularity: DAY_OF_MONTH + - Campaigns areRelationsValid: true + sourceColumn: campaign_name + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaigns type: dataset labels: data: - - id: date.dayOfMonth + - id: campaign_name type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name meta: origin: originType: NATIVE originId: demo - - id: date.dayOfWeek + - id: customer_id type: attribute attributes: - title: Date - Day of Week - description: Generic Day of the Week (D1-D7) + title: Customer id + description: Customer id tags: - - Date - granularity: DAY_OF_WEEK + - Customers areRelationsValid: true + sourceColumn: customer_id + sourceColumnDataType: INT relationships: dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.dayOfWeek + - id: customer_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id meta: origin: originType: NATIVE originId: demo - - id: date.hourOfDay + - id: customer_name type: attribute attributes: - title: Date - Hour of Day - description: Generic Hour of the Day(H1-H24) + title: Customer name + description: Customer name tags: - - Date - granularity: HOUR_OF_DAY + - Customers areRelationsValid: true + sourceColumn: customer_name + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.hourOfDay + - id: customer_name type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name meta: origin: originType: NATIVE originId: demo - - id: date.minuteOfHour + - id: region type: attribute attributes: - title: Date - Minute of Hour - description: Generic Minute of the Hour(MI1-MI60) + title: Region + description: Region tags: - - Date - granularity: MINUTE_OF_HOUR + - Customers areRelationsValid: true + sourceColumn: region + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.minuteOfHour + - id: region type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region meta: origin: originType: NATIVE originId: demo - - id: date.year + - id: state type: attribute attributes: - title: Date - Year - description: Year + title: State + description: State tags: - - Date - granularity: YEAR + - Customers areRelationsValid: true + sourceColumn: state + sourceColumnDataType: STRING relationships: + defaultView: + data: + id: state + type: label dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.year + - id: geo__state__location + type: label + - id: state type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state meta: origin: originType: NATIVE originId: demo - - id: date.quarter + - id: order_id type: attribute attributes: - title: Date - Quarter/Year - description: Quarter and Year (Q1/2020) + title: Order id + description: Order id tags: - - Date - granularity: QUARTER + - Order lines areRelationsValid: true + sourceColumn: order_id + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: order_lines type: dataset labels: data: - - id: date.quarter + - id: order_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id meta: origin: originType: NATIVE originId: demo - - id: date.month + - id: order_line_id type: attribute attributes: - title: Date - Month/Year - description: Month and Year (12/2020) + title: Order line id + description: Order line id tags: - - Date - granularity: MONTH + - Order lines areRelationsValid: true + sourceColumn: order_line_id + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: order_lines type: dataset labels: data: - - id: date.month + - id: order_line_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id meta: origin: originType: NATIVE originId: demo - - id: date.week + - id: order_status type: attribute attributes: - title: Date - Week/Year - description: Week and Year (W52/2020) + title: Order status + description: Order status tags: - - Date - granularity: WEEK + - Order lines areRelationsValid: true + sourceColumn: order_status + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: order_lines type: dataset labels: data: - - id: date.week + - id: order_status type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status meta: origin: originType: NATIVE originId: demo - - id: date.day + - id: product_id type: attribute attributes: - title: Date - Date - description: Date + title: Product id + description: Product id tags: - - Date - granularity: DAY + - Products areRelationsValid: true + sourceColumn: product_id + sourceColumnDataType: INT relationships: dataset: data: - id: date + id: products type: dataset labels: data: - - id: date.day + - id: product_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id meta: origin: originType: NATIVE originId: demo - - id: date.hour + - id: product_name type: attribute attributes: - title: Date - Hour - description: Hour + title: Product name + description: Product name tags: - - Date - granularity: HOUR + - Products areRelationsValid: true + sourceColumn: product_name + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: products type: dataset labels: data: - - id: date.hour + - id: product_name type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name meta: origin: originType: NATIVE originId: demo - - id: date.minute + - id: products.category type: attribute attributes: - title: Date - Minute - description: Minute + title: Category + description: Category tags: - - Date - granularity: MINUTE + - Products areRelationsValid: true + sourceColumn: category + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: products type: dataset labels: data: - - id: date.minute + - id: products.category type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category meta: origin: originType: NATIVE @@ -876,51 +876,59 @@ interactions: grain: - id: order_line_id type: attribute - order: 0 referenceProperties: - identifier: - id: products + id: date type: dataset multivalue: false + sources: null sourceColumns: - - product_id + - date sourceColumnDataTypes: - - INT + - DATE - identifier: id: customers type: dataset multivalue: false + sources: null sourceColumns: - customer_id sourceColumnDataTypes: - INT - identifier: - id: date + id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - - date + - campaign_id sourceColumnDataTypes: - - DATE + - INT - identifier: - id: campaigns + id: products type: dataset multivalue: false + sources: null sourceColumns: - - campaign_id + - product_id sourceColumnDataTypes: - INT dataSourceTableId: demo-test-ds:order_lines dataSourceTablePath: - demo - order_lines - workspaceDataFilterProperties: - - workspaceDataFilterIdentifier: + workspaceDataFilterColumns: + - name: wdf__state + dataType: STRING + - name: wdf__region + dataType: STRING + workspaceDataFilterReferences: + - filterId: id: wdf__state type: workspaceDataFilter filterColumn: wdf__state filterColumnDataType: STRING - - workspaceDataFilterIdentifier: + - filterId: id: wdf__region type: workspaceDataFilter filterColumn: wdf__region @@ -962,12 +970,12 @@ interactions: grain: - id: campaign_channel_id type: attribute - order: 0 referenceProperties: - identifier: id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - campaign_id sourceColumnDataTypes: @@ -1057,7 +1065,6 @@ interactions: grain: - id: campaign_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:campaigns dataSourceTablePath: - demo @@ -1114,7 +1121,6 @@ interactions: grain: - id: customer_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:customers dataSourceTablePath: - demo @@ -1240,7 +1246,6 @@ interactions: grain: - id: product_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:products dataSourceTablePath: - demo @@ -1344,8 +1349,8 @@ interactions: links: self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_id links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels,datasets&page=0&size=500 - next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels,datasets&page=1&size=500 + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&page=1&size=500 - request: method: GET uri: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500 @@ -1373,7 +1378,7 @@ interactions: Connection: - keep-alive Content-Length: - - '13953' + - '14899' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -1420,6 +1425,54 @@ interactions: body: string: data: + - id: date + type: dataset + attributes: + title: Date + description: '' + tags: + - Date + areRelationsValid: true + type: DATE + relationships: + attributes: + data: + - id: date.quarter + type: attribute + - id: date.minute + type: attribute + - id: date.hourOfDay + type: attribute + - id: date.minuteOfHour + type: attribute + - id: date.dayOfYear + type: attribute + - id: date.monthOfYear + type: attribute + - id: date.weekOfYear + type: attribute + - id: date.week + type: attribute + - id: date.year + type: attribute + - id: date.dayOfWeek + type: attribute + - id: date.hour + type: attribute + - id: date.dayOfMonth + type: attribute + - id: date.month + type: attribute + - id: date.quarterOfYear + type: attribute + - id: date.day + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date + meta: + origin: + originType: NATIVE + originId: demo - id: campaign_channels type: dataset attributes: @@ -1430,16 +1483,20 @@ interactions: grain: - id: campaign_channel_id type: attribute - order: 0 referenceProperties: - identifier: id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - campaign_id - sourceColumnDataTypes: null + sourceColumnDataTypes: + - INT dataSourceTableId: demo-test-ds:campaign_channels + dataSourceTablePath: + - demo + - campaign_channels areRelationsValid: true type: NORMAL relationships: @@ -1447,10 +1504,10 @@ interactions: data: - id: campaign_channel_id type: attribute - - id: type - type: attribute - id: campaign_channels.category type: attribute + - id: type + type: attribute facts: data: - id: budget @@ -1463,6 +1520,68 @@ interactions: origin: originType: NATIVE originId: demo + - id: campaigns + 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 + relationships: + attributes: + data: + - id: campaign_id + type: attribute + - id: campaign_name + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns + meta: + origin: + originType: NATIVE + originId: demo + - id: customers + 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 + relationships: + attributes: + data: + - id: customer_id + type: attribute + - id: state + type: attribute + - id: customer_name + type: attribute + - id: region + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers + meta: + origin: + originType: NATIVE + originId: demo - id: order_lines type: dataset attributes: @@ -1473,45 +1592,60 @@ interactions: grain: - id: order_line_id type: attribute - order: 0 referenceProperties: - identifier: - id: products + id: date type: dataset multivalue: false + sources: null sourceColumns: - - product_id - sourceColumnDataTypes: null + - date + sourceColumnDataTypes: + - DATE - identifier: id: customers type: dataset multivalue: false + sources: null sourceColumns: - customer_id - sourceColumnDataTypes: null + sourceColumnDataTypes: + - INT - identifier: - id: date + id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - - date - sourceColumnDataTypes: null + - campaign_id + sourceColumnDataTypes: + - INT - identifier: - id: campaigns + id: products type: dataset multivalue: false + sources: null sourceColumns: - - campaign_id - sourceColumnDataTypes: null + - product_id + sourceColumnDataTypes: + - INT dataSourceTableId: demo-test-ds:order_lines + dataSourceTablePath: + - demo + - order_lines areRelationsValid: true - workspaceDataFilterProperties: - - workspaceDataFilterIdentifier: + workspaceDataFilterColumns: + - name: wdf__state + dataType: STRING + - name: wdf__region + dataType: STRING + workspaceDataFilterReferences: + - filterId: id: wdf__state type: workspaceDataFilter filterColumn: wdf__state filterColumnDataType: STRING - - workspaceDataFilterIdentifier: + - filterId: id: wdf__region type: workspaceDataFilter filterColumn: wdf__region @@ -1520,12 +1654,12 @@ interactions: relationships: attributes: data: - - id: order_status - type: attribute - id: order_id type: attribute - id: order_line_id type: attribute + - id: order_status + type: attribute facts: data: - id: price @@ -1548,18 +1682,20 @@ interactions: grain: - id: product_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:products + dataSourceTablePath: + - demo + - products areRelationsValid: true type: NORMAL relationships: attributes: data: - - id: product_name + - id: products.category type: attribute - id: product_id type: attribute - - id: products.category + - id: product_name type: attribute links: self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/products @@ -1567,112 +1703,6 @@ interactions: origin: originType: NATIVE originId: demo - - id: date - type: dataset - attributes: - title: Date - description: '' - tags: - - Date - areRelationsValid: true - type: DATE - relationships: - attributes: - data: - - id: date.quarterOfYear - type: attribute - - id: date.weekOfYear - type: attribute - - id: date.dayOfMonth - type: attribute - - id: date.monthOfYear - type: attribute - - id: date.minuteOfHour - type: attribute - - id: date.hour - type: attribute - - id: date.year - type: attribute - - id: date.week - type: attribute - - id: date.quarter - type: attribute - - id: date.dayOfYear - type: attribute - - id: date.dayOfWeek - type: attribute - - id: date.minute - type: attribute - - id: date.day - type: attribute - - id: date.month - type: attribute - - id: date.hourOfDay - type: attribute - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date - meta: - origin: - originType: NATIVE - originId: demo - - id: campaigns - type: dataset - attributes: - title: Campaigns - description: Campaigns - tags: - - Campaigns - grain: - - id: campaign_id - type: attribute - order: 0 - dataSourceTableId: demo-test-ds:campaigns - areRelationsValid: true - type: NORMAL - relationships: - attributes: - data: - - id: campaign_id - type: attribute - - id: campaign_name - type: attribute - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns - meta: - origin: - originType: NATIVE - originId: demo - - id: customers - type: dataset - attributes: - title: Customers - description: Customers - tags: - - Customers - grain: - - id: customer_id - type: attribute - order: 0 - dataSourceTableId: demo-test-ds:customers - areRelationsValid: true - type: NORMAL - relationships: - attributes: - data: - - id: region - type: attribute - - id: state - type: attribute - - id: customer_id - type: attribute - - id: customer_name - type: attribute - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers - meta: - origin: - originType: NATIVE - originId: demo included: - id: product_id type: attribute @@ -1682,6 +1712,7 @@ interactions: tags: - Products sourceColumn: product_id + sourceColumnDataType: INT links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id - id: budget @@ -1692,6 +1723,7 @@ interactions: tags: - Campaign channels sourceColumn: budget + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/budget - id: date.year @@ -1712,6 +1744,7 @@ interactions: tags: - Products sourceColumn: product_name + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name - id: date.month @@ -1732,6 +1765,7 @@ interactions: tags: - Products sourceColumn: category + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category - id: date.dayOfMonth @@ -1772,6 +1806,7 @@ interactions: tags: - Campaign channels sourceColumn: category + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category - id: date.minute @@ -1792,6 +1827,7 @@ interactions: tags: - Customers sourceColumn: state + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state - id: date.week @@ -1812,6 +1848,7 @@ interactions: tags: - Order lines sourceColumn: order_id + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id - id: date.hour @@ -1832,6 +1869,7 @@ interactions: tags: - Campaigns sourceColumn: campaign_name + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name - id: price @@ -1842,6 +1880,7 @@ interactions: tags: - Order lines sourceColumn: price + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/price - id: date.dayOfWeek @@ -1872,6 +1911,7 @@ interactions: tags: - Customers sourceColumn: region + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region - id: campaign_channel_id @@ -1882,6 +1922,7 @@ interactions: tags: - Campaign channels sourceColumn: campaign_channel_id + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id - id: customer_id @@ -1892,6 +1933,7 @@ interactions: tags: - Customers sourceColumn: customer_id + sourceColumnDataType: INT links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id - id: date.hourOfDay @@ -1912,6 +1954,7 @@ interactions: tags: - Order lines sourceColumn: quantity + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity - id: campaign_id @@ -1922,6 +1965,7 @@ interactions: tags: - Campaigns sourceColumn: campaign_id + sourceColumnDataType: INT links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id - id: type @@ -1932,6 +1976,7 @@ interactions: tags: - Campaign channels sourceColumn: type + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type - id: spend @@ -1942,6 +1987,7 @@ interactions: tags: - Campaign channels sourceColumn: spend + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/spend - id: date.dayOfYear @@ -1982,6 +2028,7 @@ interactions: tags: - Order lines sourceColumn: order_status + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status - id: date.monthOfYear @@ -2002,6 +2049,7 @@ interactions: tags: - Customers sourceColumn: customer_name + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name - id: order_line_id @@ -2012,11 +2060,12 @@ interactions: tags: - Order lines sourceColumn: order_line_id + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=0&size=500 - next: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=1&size=500 + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=1&size=500 - request: method: GET uri: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500 @@ -2044,7 +2093,7 @@ interactions: Connection: - keep-alive Content-Length: - - '9799' + - '10543' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -2096,6 +2145,7 @@ interactions: attributes: title: '# of Active Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0' maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) @@ -2110,6 +2160,7 @@ interactions: attributes: title: '# of Orders' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0' maql: SELECT COUNT({attribute/order_id}) @@ -2124,6 +2175,7 @@ interactions: attributes: title: '# of Top Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0' maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT @@ -2140,6 +2192,7 @@ interactions: title: '# of Valid Orders' description: '' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.00' maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} @@ -2155,6 +2208,7 @@ interactions: attributes: title: Campaign Spend areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT SUM({fact/spend}) @@ -2169,6 +2223,7 @@ interactions: attributes: title: Order Amount areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT SUM({fact/price}*{fact/quantity}) @@ -2183,6 +2238,7 @@ interactions: attributes: title: '% Revenue' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / {metric/total_revenue} @@ -2197,6 +2253,7 @@ interactions: attributes: title: '% Revenue from Top 10 Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ @@ -2212,6 +2269,7 @@ interactions: attributes: title: '% Revenue from Top 10% Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ @@ -2227,6 +2285,7 @@ interactions: attributes: title: '% Revenue from Top 10% Products' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ @@ -2242,6 +2301,7 @@ interactions: attributes: title: '% Revenue from Top 10 Products' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ @@ -2257,6 +2317,7 @@ interactions: attributes: title: '% Revenue in Category' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, @@ -2272,6 +2333,7 @@ interactions: attributes: title: '% Revenue per Product' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL @@ -2288,6 +2350,7 @@ interactions: title: Revenue description: '' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} @@ -2303,6 +2366,7 @@ interactions: attributes: title: Revenue (Clothing) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2318,6 +2382,7 @@ interactions: attributes: title: Revenue (Electronic) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2333,6 +2398,7 @@ interactions: attributes: title: Revenue (Home) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2348,6 +2414,7 @@ interactions: attributes: title: Revenue (Outdoor) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2363,6 +2430,7 @@ interactions: attributes: title: Revenue per Customer areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0.0 maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) @@ -2377,6 +2445,7 @@ interactions: attributes: title: Revenue per Dollar Spent areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0.0 maql: SELECT {metric/revenue} / {metric/campaign_spend} @@ -2391,6 +2460,7 @@ interactions: attributes: title: Revenue / Top 10 areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) @@ -2405,6 +2475,7 @@ interactions: attributes: title: Revenue / Top 10% areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) @@ -2419,6 +2490,7 @@ interactions: attributes: title: Total Revenue areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} BY ALL OTHER @@ -2433,6 +2505,7 @@ interactions: attributes: title: Total Revenue (No Filters) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER diff --git a/gooddata-fdw/tests/import_foreign_schema/fixtures/import_insights_without_restrictions.yaml b/gooddata-fdw/tests/import_foreign_schema/fixtures/import_insights_without_restrictions.yaml index 61f6048bc..72a7964fa 100644 --- a/gooddata-fdw/tests/import_foreign_schema/fixtures/import_insights_without_restrictions.yaml +++ b/gooddata-fdw/tests/import_foreign_schema/fixtures/import_insights_without_restrictions.yaml @@ -28,7 +28,7 @@ interactions: Connection: - keep-alive Content-Length: - - '27018' + - '27121' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -76,743 +76,743 @@ interactions: body: string: data: - - id: campaign_channels.category + - id: date.minute type: attribute attributes: - title: Category - description: Category + title: Date - Minute + description: Minute tags: - - Campaign channels + - Date + granularity: MINUTE areRelationsValid: true - sourceColumn: category - sourceColumnDataType: STRING relationships: dataset: data: - id: campaign_channels + id: date type: dataset labels: data: - - id: campaign_channels.category + - id: date.minute type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute meta: origin: originType: NATIVE originId: demo - - id: campaign_channel_id + - id: date.hour type: attribute attributes: - title: Campaign channel id - description: Campaign channel id + title: Date - Hour + description: Hour tags: - - Campaign channels + - Date + granularity: HOUR areRelationsValid: true - sourceColumn: campaign_channel_id - sourceColumnDataType: STRING relationships: dataset: data: - id: campaign_channels + id: date type: dataset labels: data: - - id: campaign_channel_id + - id: date.hour type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour meta: origin: originType: NATIVE originId: demo - - id: type + - id: date.day type: attribute attributes: - title: Type - description: Type + title: Date - Date + description: Date tags: - - Campaign channels + - Date + granularity: DAY areRelationsValid: true - sourceColumn: type - sourceColumnDataType: STRING relationships: dataset: data: - id: campaign_channels + id: date type: dataset labels: data: - - id: type + - id: date.day type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day meta: origin: originType: NATIVE originId: demo - - id: campaign_name + - id: date.week type: attribute attributes: - title: Campaign name - description: Campaign name + title: Date - Week/Year + description: Week and Year (W52/2020) tags: - - Campaigns + - Date + granularity: WEEK areRelationsValid: true - sourceColumn: campaign_name - sourceColumnDataType: STRING relationships: dataset: data: - id: campaigns + id: date type: dataset labels: data: - - id: campaign_name + - id: date.week type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week meta: origin: originType: NATIVE originId: demo - - id: campaign_id + - id: date.month type: attribute attributes: - title: Campaign id - description: Campaign id + title: Date - Month/Year + description: Month and Year (12/2020) tags: - - Campaigns + - Date + granularity: MONTH areRelationsValid: true - sourceColumn: campaign_id - sourceColumnDataType: INT relationships: dataset: data: - id: campaigns + id: date type: dataset labels: data: - - id: campaign_id + - id: date.month type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month meta: origin: originType: NATIVE originId: demo - - id: state + - id: date.quarter type: attribute attributes: - title: State - description: State + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) tags: - - Customers + - Date + granularity: QUARTER areRelationsValid: true - sourceColumn: state - sourceColumnDataType: STRING relationships: - defaultView: - data: - id: state - type: label dataset: data: - id: customers + id: date type: dataset labels: data: - - id: state - type: label - - id: geo__state__location + - id: date.quarter type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter meta: origin: originType: NATIVE originId: demo - - id: region + - id: date.year type: attribute attributes: - title: Region - description: Region + title: Date - Year + description: Year tags: - - Customers + - Date + granularity: YEAR areRelationsValid: true - sourceColumn: region - sourceColumnDataType: STRING relationships: dataset: data: - id: customers + id: date type: dataset labels: data: - - id: region + - id: date.year type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year meta: origin: originType: NATIVE originId: demo - - id: customer_name + - id: date.minuteOfHour type: attribute attributes: - title: Customer name - description: Customer name + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) tags: - - Customers + - Date + granularity: MINUTE_OF_HOUR areRelationsValid: true - sourceColumn: customer_name - sourceColumnDataType: STRING relationships: dataset: data: - id: customers + id: date type: dataset labels: data: - - id: customer_name + - id: date.minuteOfHour type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour meta: origin: originType: NATIVE originId: demo - - id: customer_id + - id: date.hourOfDay type: attribute attributes: - title: Customer id - description: Customer id + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) tags: - - Customers + - Date + granularity: HOUR_OF_DAY areRelationsValid: true - sourceColumn: customer_id - sourceColumnDataType: INT relationships: dataset: data: - id: customers + id: date type: dataset labels: data: - - id: customer_id + - id: date.hourOfDay type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay meta: origin: originType: NATIVE originId: demo - - id: order_status + - id: date.dayOfWeek type: attribute attributes: - title: Order status - description: Order status + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) tags: - - Order lines + - Date + granularity: DAY_OF_WEEK areRelationsValid: true - sourceColumn: order_status - sourceColumnDataType: STRING relationships: dataset: data: - id: order_lines + id: date type: dataset labels: data: - - id: order_status + - id: date.dayOfWeek type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek meta: origin: originType: NATIVE originId: demo - - id: order_line_id + - id: date.dayOfMonth type: attribute attributes: - title: Order line id - description: Order line id + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) tags: - - Order lines + - Date + granularity: DAY_OF_MONTH areRelationsValid: true - sourceColumn: order_line_id - sourceColumnDataType: STRING relationships: dataset: data: - id: order_lines + id: date type: dataset labels: data: - - id: order_line_id + - id: date.dayOfMonth type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth meta: origin: originType: NATIVE originId: demo - - id: order_id + - id: date.dayOfYear type: attribute attributes: - title: Order id - description: Order id + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) tags: - - Order lines + - Date + granularity: DAY_OF_YEAR areRelationsValid: true - sourceColumn: order_id - sourceColumnDataType: STRING relationships: dataset: data: - id: order_lines + id: date type: dataset labels: data: - - id: order_id + - id: date.dayOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear meta: origin: originType: NATIVE originId: demo - - id: product_name + - id: date.weekOfYear type: attribute attributes: - title: Product name - description: Product name + title: Date - Week of Year + description: Generic Week (W1-W53) tags: - - Products + - Date + granularity: WEEK_OF_YEAR areRelationsValid: true - sourceColumn: product_name - sourceColumnDataType: STRING relationships: dataset: data: - id: products + id: date type: dataset labels: data: - - id: product_name + - id: date.weekOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear meta: origin: originType: NATIVE originId: demo - - id: product_id + - id: date.monthOfYear type: attribute attributes: - title: Product id - description: Product id + title: Date - Month of Year + description: Generic Month (M1-M12) tags: - - Products + - Date + granularity: MONTH_OF_YEAR areRelationsValid: true - sourceColumn: product_id - sourceColumnDataType: INT relationships: dataset: data: - id: products + id: date type: dataset labels: data: - - id: product_id + - id: date.monthOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear meta: origin: originType: NATIVE originId: demo - - id: products.category + - id: date.quarterOfYear type: attribute attributes: - title: Category - description: Category + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) tags: - - Products + - Date + granularity: QUARTER_OF_YEAR areRelationsValid: true - sourceColumn: category - sourceColumnDataType: STRING relationships: dataset: data: - id: products + id: date type: dataset labels: data: - - id: products.category + - id: date.quarterOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear meta: origin: originType: NATIVE originId: demo - - id: date.quarterOfYear + - id: campaign_channel_id type: attribute attributes: - title: Date - Quarter of Year - description: Generic Quarter (Q1-Q4) + title: Campaign channel id + description: Campaign channel id tags: - - Date - granularity: QUARTER_OF_YEAR + - Campaign channels areRelationsValid: true + sourceColumn: campaign_channel_id + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaign_channels type: dataset labels: data: - - id: date.quarterOfYear + - id: campaign_channel_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id meta: origin: originType: NATIVE originId: demo - - id: date.monthOfYear + - id: campaign_channels.category type: attribute attributes: - title: Date - Month of Year - description: Generic Month (M1-M12) + title: Category + description: Category tags: - - Date - granularity: MONTH_OF_YEAR + - Campaign channels areRelationsValid: true + sourceColumn: category + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaign_channels type: dataset labels: data: - - id: date.monthOfYear + - id: campaign_channels.category type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category meta: origin: originType: NATIVE originId: demo - - id: date.weekOfYear + - id: type type: attribute attributes: - title: Date - Week of Year - description: Generic Week (W1-W53) + title: Type + description: Type tags: - - Date - granularity: WEEK_OF_YEAR + - Campaign channels areRelationsValid: true + sourceColumn: type + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaign_channels type: dataset labels: data: - - id: date.weekOfYear + - id: type type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type meta: origin: originType: NATIVE originId: demo - - id: date.dayOfYear + - id: campaign_id type: attribute attributes: - title: Date - Day of Year - description: Generic Day of the Year (D1-D366) + title: Campaign id + description: Campaign id tags: - - Date - granularity: DAY_OF_YEAR + - Campaigns areRelationsValid: true + sourceColumn: campaign_id + sourceColumnDataType: INT relationships: dataset: data: - id: date + id: campaigns type: dataset labels: data: - - id: date.dayOfYear + - id: campaign_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id meta: origin: originType: NATIVE originId: demo - - id: date.dayOfMonth + - id: campaign_name type: attribute attributes: - title: Date - Day of Month - description: Generic Day of the Month (D1-D31) + title: Campaign name + description: Campaign name tags: - - Date - granularity: DAY_OF_MONTH + - Campaigns areRelationsValid: true + sourceColumn: campaign_name + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaigns type: dataset labels: data: - - id: date.dayOfMonth + - id: campaign_name type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name meta: origin: originType: NATIVE originId: demo - - id: date.dayOfWeek + - id: customer_id type: attribute attributes: - title: Date - Day of Week - description: Generic Day of the Week (D1-D7) + title: Customer id + description: Customer id tags: - - Date - granularity: DAY_OF_WEEK + - Customers areRelationsValid: true + sourceColumn: customer_id + sourceColumnDataType: INT relationships: dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.dayOfWeek + - id: customer_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id meta: origin: originType: NATIVE originId: demo - - id: date.hourOfDay + - id: customer_name type: attribute attributes: - title: Date - Hour of Day - description: Generic Hour of the Day(H1-H24) + title: Customer name + description: Customer name tags: - - Date - granularity: HOUR_OF_DAY + - Customers areRelationsValid: true + sourceColumn: customer_name + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.hourOfDay + - id: customer_name type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name meta: origin: originType: NATIVE originId: demo - - id: date.minuteOfHour + - id: region type: attribute attributes: - title: Date - Minute of Hour - description: Generic Minute of the Hour(MI1-MI60) + title: Region + description: Region tags: - - Date - granularity: MINUTE_OF_HOUR + - Customers areRelationsValid: true + sourceColumn: region + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.minuteOfHour + - id: region type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region meta: origin: originType: NATIVE originId: demo - - id: date.year + - id: state type: attribute attributes: - title: Date - Year - description: Year + title: State + description: State tags: - - Date - granularity: YEAR + - Customers areRelationsValid: true + sourceColumn: state + sourceColumnDataType: STRING relationships: + defaultView: + data: + id: state + type: label dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.year + - id: geo__state__location + type: label + - id: state type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state meta: origin: originType: NATIVE originId: demo - - id: date.quarter + - id: order_id type: attribute attributes: - title: Date - Quarter/Year - description: Quarter and Year (Q1/2020) + title: Order id + description: Order id tags: - - Date - granularity: QUARTER + - Order lines areRelationsValid: true + sourceColumn: order_id + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: order_lines type: dataset labels: data: - - id: date.quarter + - id: order_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id meta: origin: originType: NATIVE originId: demo - - id: date.month + - id: order_line_id type: attribute attributes: - title: Date - Month/Year - description: Month and Year (12/2020) + title: Order line id + description: Order line id tags: - - Date - granularity: MONTH + - Order lines areRelationsValid: true + sourceColumn: order_line_id + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: order_lines type: dataset labels: data: - - id: date.month + - id: order_line_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id meta: origin: originType: NATIVE originId: demo - - id: date.week + - id: order_status type: attribute attributes: - title: Date - Week/Year - description: Week and Year (W52/2020) + title: Order status + description: Order status tags: - - Date - granularity: WEEK + - Order lines areRelationsValid: true + sourceColumn: order_status + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: order_lines type: dataset labels: data: - - id: date.week + - id: order_status type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status meta: origin: originType: NATIVE originId: demo - - id: date.day + - id: product_id type: attribute attributes: - title: Date - Date - description: Date + title: Product id + description: Product id tags: - - Date - granularity: DAY + - Products areRelationsValid: true + sourceColumn: product_id + sourceColumnDataType: INT relationships: dataset: data: - id: date + id: products type: dataset labels: data: - - id: date.day + - id: product_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id meta: origin: originType: NATIVE originId: demo - - id: date.hour + - id: product_name type: attribute attributes: - title: Date - Hour - description: Hour + title: Product name + description: Product name tags: - - Date - granularity: HOUR + - Products areRelationsValid: true + sourceColumn: product_name + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: products type: dataset labels: data: - - id: date.hour + - id: product_name type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name meta: origin: originType: NATIVE originId: demo - - id: date.minute + - id: products.category type: attribute attributes: - title: Date - Minute - description: Minute + title: Category + description: Category tags: - - Date - granularity: MINUTE + - Products areRelationsValid: true + sourceColumn: category + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: products type: dataset labels: data: - - id: date.minute + - id: products.category type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category meta: origin: originType: NATIVE @@ -876,51 +876,59 @@ interactions: grain: - id: order_line_id type: attribute - order: 0 referenceProperties: - identifier: - id: products + id: date type: dataset multivalue: false + sources: null sourceColumns: - - product_id + - date sourceColumnDataTypes: - - INT + - DATE - identifier: id: customers type: dataset multivalue: false + sources: null sourceColumns: - customer_id sourceColumnDataTypes: - INT - identifier: - id: date + id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - - date + - campaign_id sourceColumnDataTypes: - - DATE + - INT - identifier: - id: campaigns + id: products type: dataset multivalue: false + sources: null sourceColumns: - - campaign_id + - product_id sourceColumnDataTypes: - INT dataSourceTableId: demo-test-ds:order_lines dataSourceTablePath: - demo - order_lines - workspaceDataFilterProperties: - - workspaceDataFilterIdentifier: + workspaceDataFilterColumns: + - name: wdf__state + dataType: STRING + - name: wdf__region + dataType: STRING + workspaceDataFilterReferences: + - filterId: id: wdf__state type: workspaceDataFilter filterColumn: wdf__state filterColumnDataType: STRING - - workspaceDataFilterIdentifier: + - filterId: id: wdf__region type: workspaceDataFilter filterColumn: wdf__region @@ -962,12 +970,12 @@ interactions: grain: - id: campaign_channel_id type: attribute - order: 0 referenceProperties: - identifier: id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - campaign_id sourceColumnDataTypes: @@ -1057,7 +1065,6 @@ interactions: grain: - id: campaign_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:campaigns dataSourceTablePath: - demo @@ -1114,7 +1121,6 @@ interactions: grain: - id: customer_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:customers dataSourceTablePath: - demo @@ -1240,7 +1246,6 @@ interactions: grain: - id: product_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:products dataSourceTablePath: - demo @@ -1344,8 +1349,8 @@ interactions: links: self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_id links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels,datasets&page=0&size=500 - next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels,datasets&page=1&size=500 + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&page=1&size=500 - request: method: GET uri: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500 @@ -1373,7 +1378,7 @@ interactions: Connection: - keep-alive Content-Length: - - '13953' + - '14899' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -1420,6 +1425,54 @@ interactions: body: string: data: + - id: date + type: dataset + attributes: + title: Date + description: '' + tags: + - Date + areRelationsValid: true + type: DATE + relationships: + attributes: + data: + - id: date.quarter + type: attribute + - id: date.minute + type: attribute + - id: date.hourOfDay + type: attribute + - id: date.minuteOfHour + type: attribute + - id: date.dayOfYear + type: attribute + - id: date.monthOfYear + type: attribute + - id: date.weekOfYear + type: attribute + - id: date.week + type: attribute + - id: date.year + type: attribute + - id: date.dayOfWeek + type: attribute + - id: date.hour + type: attribute + - id: date.dayOfMonth + type: attribute + - id: date.month + type: attribute + - id: date.quarterOfYear + type: attribute + - id: date.day + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date + meta: + origin: + originType: NATIVE + originId: demo - id: campaign_channels type: dataset attributes: @@ -1430,16 +1483,20 @@ interactions: grain: - id: campaign_channel_id type: attribute - order: 0 referenceProperties: - identifier: id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - campaign_id - sourceColumnDataTypes: null + sourceColumnDataTypes: + - INT dataSourceTableId: demo-test-ds:campaign_channels + dataSourceTablePath: + - demo + - campaign_channels areRelationsValid: true type: NORMAL relationships: @@ -1447,10 +1504,10 @@ interactions: data: - id: campaign_channel_id type: attribute - - id: type - type: attribute - id: campaign_channels.category type: attribute + - id: type + type: attribute facts: data: - id: budget @@ -1463,6 +1520,68 @@ interactions: origin: originType: NATIVE originId: demo + - id: campaigns + 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 + relationships: + attributes: + data: + - id: campaign_id + type: attribute + - id: campaign_name + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns + meta: + origin: + originType: NATIVE + originId: demo + - id: customers + 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 + relationships: + attributes: + data: + - id: customer_id + type: attribute + - id: state + type: attribute + - id: customer_name + type: attribute + - id: region + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers + meta: + origin: + originType: NATIVE + originId: demo - id: order_lines type: dataset attributes: @@ -1473,45 +1592,60 @@ interactions: grain: - id: order_line_id type: attribute - order: 0 referenceProperties: - identifier: - id: products + id: date type: dataset multivalue: false + sources: null sourceColumns: - - product_id - sourceColumnDataTypes: null + - date + sourceColumnDataTypes: + - DATE - identifier: id: customers type: dataset multivalue: false + sources: null sourceColumns: - customer_id - sourceColumnDataTypes: null + sourceColumnDataTypes: + - INT - identifier: - id: date + id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - - date - sourceColumnDataTypes: null + - campaign_id + sourceColumnDataTypes: + - INT - identifier: - id: campaigns + id: products type: dataset multivalue: false + sources: null sourceColumns: - - campaign_id - sourceColumnDataTypes: null + - product_id + sourceColumnDataTypes: + - INT dataSourceTableId: demo-test-ds:order_lines + dataSourceTablePath: + - demo + - order_lines areRelationsValid: true - workspaceDataFilterProperties: - - workspaceDataFilterIdentifier: + workspaceDataFilterColumns: + - name: wdf__state + dataType: STRING + - name: wdf__region + dataType: STRING + workspaceDataFilterReferences: + - filterId: id: wdf__state type: workspaceDataFilter filterColumn: wdf__state filterColumnDataType: STRING - - workspaceDataFilterIdentifier: + - filterId: id: wdf__region type: workspaceDataFilter filterColumn: wdf__region @@ -1520,12 +1654,12 @@ interactions: relationships: attributes: data: - - id: order_status - type: attribute - id: order_id type: attribute - id: order_line_id type: attribute + - id: order_status + type: attribute facts: data: - id: price @@ -1548,18 +1682,20 @@ interactions: grain: - id: product_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:products + dataSourceTablePath: + - demo + - products areRelationsValid: true type: NORMAL relationships: attributes: data: - - id: product_name + - id: products.category type: attribute - id: product_id type: attribute - - id: products.category + - id: product_name type: attribute links: self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/products @@ -1567,112 +1703,6 @@ interactions: origin: originType: NATIVE originId: demo - - id: date - type: dataset - attributes: - title: Date - description: '' - tags: - - Date - areRelationsValid: true - type: DATE - relationships: - attributes: - data: - - id: date.quarterOfYear - type: attribute - - id: date.weekOfYear - type: attribute - - id: date.dayOfMonth - type: attribute - - id: date.monthOfYear - type: attribute - - id: date.minuteOfHour - type: attribute - - id: date.hour - type: attribute - - id: date.year - type: attribute - - id: date.week - type: attribute - - id: date.quarter - type: attribute - - id: date.dayOfYear - type: attribute - - id: date.dayOfWeek - type: attribute - - id: date.minute - type: attribute - - id: date.day - type: attribute - - id: date.month - type: attribute - - id: date.hourOfDay - type: attribute - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date - meta: - origin: - originType: NATIVE - originId: demo - - id: campaigns - type: dataset - attributes: - title: Campaigns - description: Campaigns - tags: - - Campaigns - grain: - - id: campaign_id - type: attribute - order: 0 - dataSourceTableId: demo-test-ds:campaigns - areRelationsValid: true - type: NORMAL - relationships: - attributes: - data: - - id: campaign_id - type: attribute - - id: campaign_name - type: attribute - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns - meta: - origin: - originType: NATIVE - originId: demo - - id: customers - type: dataset - attributes: - title: Customers - description: Customers - tags: - - Customers - grain: - - id: customer_id - type: attribute - order: 0 - dataSourceTableId: demo-test-ds:customers - areRelationsValid: true - type: NORMAL - relationships: - attributes: - data: - - id: region - type: attribute - - id: state - type: attribute - - id: customer_id - type: attribute - - id: customer_name - type: attribute - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers - meta: - origin: - originType: NATIVE - originId: demo included: - id: product_id type: attribute @@ -1682,6 +1712,7 @@ interactions: tags: - Products sourceColumn: product_id + sourceColumnDataType: INT links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id - id: budget @@ -1692,6 +1723,7 @@ interactions: tags: - Campaign channels sourceColumn: budget + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/budget - id: date.year @@ -1712,6 +1744,7 @@ interactions: tags: - Products sourceColumn: product_name + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name - id: date.month @@ -1732,6 +1765,7 @@ interactions: tags: - Products sourceColumn: category + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category - id: date.dayOfMonth @@ -1772,6 +1806,7 @@ interactions: tags: - Campaign channels sourceColumn: category + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category - id: date.minute @@ -1792,6 +1827,7 @@ interactions: tags: - Customers sourceColumn: state + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state - id: date.week @@ -1812,6 +1848,7 @@ interactions: tags: - Order lines sourceColumn: order_id + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id - id: date.hour @@ -1832,6 +1869,7 @@ interactions: tags: - Campaigns sourceColumn: campaign_name + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name - id: price @@ -1842,6 +1880,7 @@ interactions: tags: - Order lines sourceColumn: price + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/price - id: date.dayOfWeek @@ -1872,6 +1911,7 @@ interactions: tags: - Customers sourceColumn: region + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region - id: campaign_channel_id @@ -1882,6 +1922,7 @@ interactions: tags: - Campaign channels sourceColumn: campaign_channel_id + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id - id: customer_id @@ -1892,6 +1933,7 @@ interactions: tags: - Customers sourceColumn: customer_id + sourceColumnDataType: INT links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id - id: date.hourOfDay @@ -1912,6 +1954,7 @@ interactions: tags: - Order lines sourceColumn: quantity + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity - id: campaign_id @@ -1922,6 +1965,7 @@ interactions: tags: - Campaigns sourceColumn: campaign_id + sourceColumnDataType: INT links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id - id: type @@ -1932,6 +1976,7 @@ interactions: tags: - Campaign channels sourceColumn: type + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type - id: spend @@ -1942,6 +1987,7 @@ interactions: tags: - Campaign channels sourceColumn: spend + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/spend - id: date.dayOfYear @@ -1982,6 +2028,7 @@ interactions: tags: - Order lines sourceColumn: order_status + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status - id: date.monthOfYear @@ -2002,6 +2049,7 @@ interactions: tags: - Customers sourceColumn: customer_name + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name - id: order_line_id @@ -2012,11 +2060,12 @@ interactions: tags: - Order lines sourceColumn: order_line_id + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=0&size=500 - next: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=1&size=500 + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=1&size=500 - request: method: GET uri: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500 @@ -2044,7 +2093,7 @@ interactions: Connection: - keep-alive Content-Length: - - '9799' + - '10543' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -2096,6 +2145,7 @@ interactions: attributes: title: '# of Active Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0' maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) @@ -2110,6 +2160,7 @@ interactions: attributes: title: '# of Orders' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0' maql: SELECT COUNT({attribute/order_id}) @@ -2124,6 +2175,7 @@ interactions: attributes: title: '# of Top Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0' maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT @@ -2140,6 +2192,7 @@ interactions: title: '# of Valid Orders' description: '' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.00' maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} @@ -2155,6 +2208,7 @@ interactions: attributes: title: Campaign Spend areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT SUM({fact/spend}) @@ -2169,6 +2223,7 @@ interactions: attributes: title: Order Amount areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT SUM({fact/price}*{fact/quantity}) @@ -2183,6 +2238,7 @@ interactions: attributes: title: '% Revenue' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / {metric/total_revenue} @@ -2197,6 +2253,7 @@ interactions: attributes: title: '% Revenue from Top 10 Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ @@ -2212,6 +2269,7 @@ interactions: attributes: title: '% Revenue from Top 10% Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ @@ -2227,6 +2285,7 @@ interactions: attributes: title: '% Revenue from Top 10% Products' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ @@ -2242,6 +2301,7 @@ interactions: attributes: title: '% Revenue from Top 10 Products' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ @@ -2257,6 +2317,7 @@ interactions: attributes: title: '% Revenue in Category' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, @@ -2272,6 +2333,7 @@ interactions: attributes: title: '% Revenue per Product' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL @@ -2288,6 +2350,7 @@ interactions: title: Revenue description: '' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} @@ -2303,6 +2366,7 @@ interactions: attributes: title: Revenue (Clothing) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2318,6 +2382,7 @@ interactions: attributes: title: Revenue (Electronic) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2333,6 +2398,7 @@ interactions: attributes: title: Revenue (Home) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2348,6 +2414,7 @@ interactions: attributes: title: Revenue (Outdoor) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2363,6 +2430,7 @@ interactions: attributes: title: Revenue per Customer areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0.0 maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) @@ -2377,6 +2445,7 @@ interactions: attributes: title: Revenue per Dollar Spent areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0.0 maql: SELECT {metric/revenue} / {metric/campaign_spend} @@ -2391,6 +2460,7 @@ interactions: attributes: title: Revenue / Top 10 areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) @@ -2405,6 +2475,7 @@ interactions: attributes: title: Revenue / Top 10% areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) @@ -2419,6 +2490,7 @@ interactions: attributes: title: Total Revenue areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} BY ALL OTHER @@ -2433,6 +2505,7 @@ interactions: attributes: title: Total Revenue (No Filters) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER @@ -2472,7 +2545,7 @@ interactions: Connection: - keep-alive Content-Length: - - '31206' + - '33000' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -2582,7 +2655,12 @@ interactions: position: bottom version: '2' visualizationUrl: local:treemap + createdAt: 2023-10-24 11:00 relationships: + createdBy: + data: + id: admin + type: userIdentifier metrics: data: - id: campaign_spend @@ -2676,7 +2754,12 @@ interactions: rotation: auto version: '2' visualizationUrl: local:combo2 + createdAt: 2023-10-24 11:00 relationships: + createdBy: + data: + id: admin + type: userIdentifier metrics: data: - id: amount_of_active_customers @@ -2775,7 +2858,12 @@ interactions: direction: asc version: '2' visualizationUrl: local:table + createdAt: 2023-10-24 11:00 relationships: + createdBy: + data: + id: admin + type: userIdentifier metrics: data: - id: percent_revenue_per_product @@ -2854,7 +2942,12 @@ interactions: stackMeasuresToPercent: true version: '2' visualizationUrl: local:area + createdAt: 2023-10-24 11:00 relationships: + createdBy: + data: + id: admin + type: userIdentifier metrics: data: - id: amount_of_active_customers @@ -2931,7 +3024,12 @@ interactions: position: bottom version: '2' visualizationUrl: local:treemap + createdAt: 2023-10-24 11:00 relationships: + createdBy: + data: + id: admin + type: userIdentifier metrics: data: - id: revenue @@ -3000,7 +3098,12 @@ interactions: position: bottom version: '2' visualizationUrl: local:donut + createdAt: 2023-10-24 11:00 relationships: + createdBy: + data: + id: admin + type: userIdentifier metrics: data: - id: revenue @@ -3091,7 +3194,12 @@ interactions: visible: false version: '2' visualizationUrl: local:column + createdAt: 2023-10-24 11:00 relationships: + createdBy: + data: + id: admin + type: userIdentifier attributes: data: - id: date.year @@ -3172,7 +3280,12 @@ interactions: enabled: true version: '2' visualizationUrl: local:scatter + createdAt: 2023-10-24 11:00 relationships: + createdBy: + data: + id: admin + type: userIdentifier metrics: data: - id: amount_of_orders @@ -3287,7 +3400,12 @@ interactions: direction: asc version: '2' visualizationUrl: local:table + createdAt: 2023-10-24 11:00 relationships: + createdBy: + data: + id: admin + type: userIdentifier metrics: data: - id: percent_revenue_in_category @@ -3369,7 +3487,12 @@ interactions: position: bottom version: '2' visualizationUrl: local:line + createdAt: 2023-10-24 11:00 relationships: + createdBy: + data: + id: admin + type: userIdentifier metrics: data: - id: revenue @@ -3428,7 +3551,12 @@ interactions: properties: {} version: '2' visualizationUrl: local:bar + createdAt: 2023-10-24 11:00 relationships: + createdBy: + data: + id: admin + type: userIdentifier metrics: data: - id: revenue @@ -3498,7 +3626,12 @@ interactions: min: '0' version: '2' visualizationUrl: local:scatter + createdAt: 2023-10-24 11:00 relationships: + createdBy: + data: + id: admin + type: userIdentifier metrics: data: - id: campaign_spend @@ -3582,7 +3715,12 @@ interactions: rotation: auto version: '2' visualizationUrl: local:combo2 + createdAt: 2023-10-24 11:00 relationships: + createdBy: + data: + id: admin + type: userIdentifier metrics: data: - id: revenue @@ -3659,7 +3797,12 @@ interactions: position: bottom version: '2' visualizationUrl: local:bar + createdAt: 2023-10-24 11:00 relationships: + createdBy: + data: + id: admin + type: userIdentifier metrics: data: - id: revenue_top_10 @@ -3732,7 +3875,12 @@ interactions: position: bottom version: '2' visualizationUrl: local:bar + createdAt: 2023-10-24 11:00 relationships: + createdBy: + data: + id: admin + type: userIdentifier metrics: data: - id: revenue_top_10 @@ -3754,6 +3902,7 @@ interactions: type: metric attributes: title: '# of Orders' + createdAt: 2023-10-24 11:00 content: format: '#,##0' maql: SELECT COUNT({attribute/order_id}) @@ -3764,6 +3913,7 @@ interactions: attributes: title: Revenue description: '' + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} @@ -3821,6 +3971,7 @@ interactions: type: metric attributes: title: '% Revenue in Category' + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, @@ -3831,6 +3982,7 @@ interactions: type: metric attributes: title: Revenue per Customer + createdAt: 2023-10-24 11:00 content: format: $#,##0.0 maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) @@ -3840,6 +3992,7 @@ interactions: type: metric attributes: title: Revenue / Top 10 + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) @@ -3860,6 +4013,7 @@ interactions: type: metric attributes: title: '% Revenue per Product' + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL @@ -3877,6 +4031,11 @@ interactions: sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity + - id: admin + type: userIdentifier + attributes: {} + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/userIdentifiers/admin - id: date type: dataset attributes: @@ -3956,6 +4115,7 @@ interactions: type: metric attributes: title: '# of Active Customers' + createdAt: 2023-10-24 11:00 content: format: '#,##0' maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) @@ -3978,6 +4138,7 @@ interactions: type: metric attributes: title: Campaign Spend + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT SUM({fact/spend}) @@ -3987,6 +4148,7 @@ interactions: type: metric attributes: title: Revenue per Dollar Spent + createdAt: 2023-10-24 11:00 content: format: $#,##0.0 maql: SELECT {metric/revenue} / {metric/campaign_spend} diff --git a/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_bytes_limits_failure.yaml b/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_bytes_limits_failure.yaml index 04e4759f1..21589684b 100644 --- a/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_bytes_limits_failure.yaml +++ b/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_bytes_limits_failure.yaml @@ -181,10 +181,10 @@ interactions: name: Order Amount localIdentifier: dim_1 links: - executionResult: 0608fca6971c95b3b33fd86eb0b6f22ccccb8d0f + executionResult: 5356bfa17f40f2d639cf93be52edbb43d7f6d5f2 - request: method: GET - uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/0608fca6971c95b3b33fd86eb0b6f22ccccb8d0f/metadata + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/5356bfa17f40f2d639cf93be52edbb43d7f6d5f2/metadata body: null headers: Accept: @@ -353,7 +353,7 @@ interactions: name: Order Amount localIdentifier: dim_1 links: - executionResult: 0608fca6971c95b3b33fd86eb0b6f22ccccb8d0f + executionResult: 5356bfa17f40f2d639cf93be52edbb43d7f6d5f2 resultSpec: dimensions: - localIdentifier: dim_0 @@ -367,10 +367,10 @@ interactions: - measureGroup sorting: [] totals: [] - resultSize: 7077 + resultSize: 4237 - request: method: GET - uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/0608fca6971c95b3b33fd86eb0b6f22ccccb8d0f?offset=0%2C0&limit=100%2C100 + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/5356bfa17f40f2d639cf93be52edbb43d7f6d5f2?offset=0%2C0&limit=100%2C100 body: null headers: Accept: diff --git a/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_dimensions_limits_failure.yaml b/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_dimensions_limits_failure.yaml index 04e4759f1..21589684b 100644 --- a/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_dimensions_limits_failure.yaml +++ b/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_dimensions_limits_failure.yaml @@ -181,10 +181,10 @@ interactions: name: Order Amount localIdentifier: dim_1 links: - executionResult: 0608fca6971c95b3b33fd86eb0b6f22ccccb8d0f + executionResult: 5356bfa17f40f2d639cf93be52edbb43d7f6d5f2 - request: method: GET - uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/0608fca6971c95b3b33fd86eb0b6f22ccccb8d0f/metadata + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/5356bfa17f40f2d639cf93be52edbb43d7f6d5f2/metadata body: null headers: Accept: @@ -353,7 +353,7 @@ interactions: name: Order Amount localIdentifier: dim_1 links: - executionResult: 0608fca6971c95b3b33fd86eb0b6f22ccccb8d0f + executionResult: 5356bfa17f40f2d639cf93be52edbb43d7f6d5f2 resultSpec: dimensions: - localIdentifier: dim_0 @@ -367,10 +367,10 @@ interactions: - measureGroup sorting: [] totals: [] - resultSize: 7077 + resultSize: 4237 - request: method: GET - uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/0608fca6971c95b3b33fd86eb0b6f22ccccb8d0f?offset=0%2C0&limit=100%2C100 + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/5356bfa17f40f2d639cf93be52edbb43d7f6d5f2?offset=0%2C0&limit=100%2C100 body: null headers: Accept: diff --git a/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_one_dim1.yaml b/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_one_dim1.yaml index 7dcda1370..b251a6a2e 100644 --- a/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_one_dim1.yaml +++ b/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_one_dim1.yaml @@ -177,10 +177,10 @@ interactions: name: Order Amount localIdentifier: dim_0 links: - executionResult: 02c57cb552d3803900144e2f6d747c2326c4c2d5 + executionResult: e3000fa8926e1b72f2b2608b462d384168f7f8cd - request: method: GET - uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/02c57cb552d3803900144e2f6d747c2326c4c2d5/metadata + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/e3000fa8926e1b72f2b2608b462d384168f7f8cd/metadata body: null headers: Accept: @@ -250,7 +250,7 @@ interactions: X-XSS-Protection: - 1 ; mode=block content-length: - - '1946' + - '1945' body: string: afm: @@ -347,7 +347,7 @@ interactions: name: Order Amount localIdentifier: dim_0 links: - executionResult: 02c57cb552d3803900144e2f6d747c2326c4c2d5 + executionResult: e3000fa8926e1b72f2b2608b462d384168f7f8cd resultSpec: dimensions: - localIdentifier: dim_0 @@ -358,10 +358,10 @@ interactions: - measureGroup sorting: [] totals: [] - resultSize: 34875 + resultSize: 2913 - request: method: GET - uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/02c57cb552d3803900144e2f6d747c2326c4c2d5?offset=0&limit=100 + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/e3000fa8926e1b72f2b2608b462d384168f7f8cd?offset=0&limit=500 body: null headers: Accept: @@ -431,7 +431,7 @@ interactions: X-XSS-Protection: - 1 ; mode=block content-length: - - '27463' + - '98918' body: string: data: @@ -535,7395 +535,106 @@ interactions: - 594.45 - 538.99 - 538.99 - dimensionHeaders: - - headerGroups: - - headers: - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Northeast - primaryLabelValue: Northeast - - attributeHeader: - labelValue: Northeast - primaryLabelValue: Northeast - - attributeHeader: - labelValue: Northeast - primaryLabelValue: Northeast - - attributeHeader: - labelValue: Northeast - primaryLabelValue: Northeast - - attributeHeader: - labelValue: Northeast - primaryLabelValue: Northeast - - attributeHeader: - labelValue: Northeast - primaryLabelValue: Northeast - - attributeHeader: - labelValue: Northeast - primaryLabelValue: Northeast - - attributeHeader: - labelValue: Northeast - primaryLabelValue: Northeast - - headers: - - attributeHeader: - labelValue: Illinois - primaryLabelValue: Illinois - - attributeHeader: - labelValue: Illinois - primaryLabelValue: Illinois - - attributeHeader: - labelValue: Illinois - primaryLabelValue: Illinois - - attributeHeader: - labelValue: Illinois - primaryLabelValue: Illinois - - attributeHeader: - labelValue: Illinois - primaryLabelValue: Illinois - - attributeHeader: - labelValue: Illinois - primaryLabelValue: Illinois - - attributeHeader: - labelValue: Illinois - primaryLabelValue: Illinois - - attributeHeader: - labelValue: Illinois - primaryLabelValue: Illinois - - attributeHeader: - labelValue: Indiana - primaryLabelValue: Indiana - - attributeHeader: - labelValue: Indiana - primaryLabelValue: Indiana - - attributeHeader: - labelValue: Indiana - primaryLabelValue: Indiana - - attributeHeader: - labelValue: Indiana - primaryLabelValue: Indiana - - attributeHeader: - labelValue: Indiana - primaryLabelValue: Indiana - - attributeHeader: - labelValue: Indiana - primaryLabelValue: Indiana - - attributeHeader: - labelValue: Indiana - primaryLabelValue: Indiana - - attributeHeader: - labelValue: Indiana - primaryLabelValue: Indiana - - attributeHeader: - labelValue: Iowa - primaryLabelValue: Iowa - - attributeHeader: - labelValue: Iowa - primaryLabelValue: Iowa - - attributeHeader: - labelValue: Iowa - primaryLabelValue: Iowa - - attributeHeader: - labelValue: Iowa - primaryLabelValue: Iowa - - attributeHeader: - labelValue: Iowa - primaryLabelValue: Iowa - - attributeHeader: - labelValue: Iowa - primaryLabelValue: Iowa - - attributeHeader: - labelValue: Iowa - primaryLabelValue: Iowa - - attributeHeader: - labelValue: Iowa - primaryLabelValue: Iowa - - attributeHeader: - labelValue: Kansas - primaryLabelValue: Kansas - - attributeHeader: - labelValue: Kansas - primaryLabelValue: Kansas - - attributeHeader: - labelValue: Kansas - primaryLabelValue: Kansas - - attributeHeader: - labelValue: Kansas - primaryLabelValue: Kansas - - attributeHeader: - labelValue: Kansas - primaryLabelValue: Kansas - - attributeHeader: - labelValue: Kansas - primaryLabelValue: Kansas - - attributeHeader: - labelValue: Kansas - primaryLabelValue: Kansas - - attributeHeader: - labelValue: Kansas - primaryLabelValue: Kansas - - attributeHeader: - labelValue: Michigan - primaryLabelValue: Michigan - - attributeHeader: - labelValue: Michigan - primaryLabelValue: Michigan - - attributeHeader: - labelValue: Michigan - primaryLabelValue: Michigan - - attributeHeader: - labelValue: Michigan - primaryLabelValue: Michigan - - attributeHeader: - labelValue: Michigan - primaryLabelValue: Michigan - - attributeHeader: - labelValue: Michigan - primaryLabelValue: Michigan - - attributeHeader: - labelValue: Michigan - primaryLabelValue: Michigan - - attributeHeader: - labelValue: Michigan - primaryLabelValue: Michigan - - attributeHeader: - labelValue: Minnesota - primaryLabelValue: Minnesota - - attributeHeader: - labelValue: Minnesota - primaryLabelValue: Minnesota - - attributeHeader: - labelValue: Minnesota - primaryLabelValue: Minnesota - - attributeHeader: - labelValue: Minnesota - primaryLabelValue: Minnesota - - attributeHeader: - labelValue: Minnesota - primaryLabelValue: Minnesota - - attributeHeader: - labelValue: Minnesota - primaryLabelValue: Minnesota - - attributeHeader: - labelValue: Minnesota - primaryLabelValue: Minnesota - - attributeHeader: - labelValue: Minnesota - primaryLabelValue: Minnesota - - attributeHeader: - labelValue: Missouri - primaryLabelValue: Missouri - - attributeHeader: - labelValue: Missouri - primaryLabelValue: Missouri - - attributeHeader: - labelValue: Missouri - primaryLabelValue: Missouri - - attributeHeader: - labelValue: Missouri - primaryLabelValue: Missouri - - attributeHeader: - labelValue: Missouri - primaryLabelValue: Missouri - - attributeHeader: - labelValue: Missouri - primaryLabelValue: Missouri - - attributeHeader: - labelValue: Missouri - primaryLabelValue: Missouri - - attributeHeader: - labelValue: Missouri - primaryLabelValue: Missouri - - attributeHeader: - labelValue: Nebraska - primaryLabelValue: Nebraska - - attributeHeader: - labelValue: Nebraska - primaryLabelValue: Nebraska - - attributeHeader: - labelValue: Nebraska - primaryLabelValue: Nebraska - - attributeHeader: - labelValue: Nebraska - primaryLabelValue: Nebraska - - attributeHeader: - labelValue: Nebraska - primaryLabelValue: Nebraska - - attributeHeader: - labelValue: Nebraska - primaryLabelValue: Nebraska - - attributeHeader: - labelValue: Nebraska - primaryLabelValue: Nebraska - - attributeHeader: - labelValue: Nebraska - primaryLabelValue: Nebraska - - attributeHeader: - labelValue: North Dakota - primaryLabelValue: North Dakota - - attributeHeader: - labelValue: North Dakota - primaryLabelValue: North Dakota - - attributeHeader: - labelValue: North Dakota - primaryLabelValue: North Dakota - - attributeHeader: - labelValue: North Dakota - primaryLabelValue: North Dakota - - attributeHeader: - labelValue: North Dakota - primaryLabelValue: North Dakota - - attributeHeader: - labelValue: North Dakota - primaryLabelValue: North Dakota - - attributeHeader: - labelValue: Ohio - primaryLabelValue: Ohio - - attributeHeader: - labelValue: Ohio - primaryLabelValue: Ohio - - attributeHeader: - labelValue: Ohio - primaryLabelValue: Ohio - - attributeHeader: - labelValue: Ohio - primaryLabelValue: Ohio - - attributeHeader: - labelValue: Ohio - primaryLabelValue: Ohio - - attributeHeader: - labelValue: Ohio - primaryLabelValue: Ohio - - attributeHeader: - labelValue: Ohio - primaryLabelValue: Ohio - - attributeHeader: - labelValue: Ohio - primaryLabelValue: Ohio - - attributeHeader: - labelValue: South Dakota - primaryLabelValue: South Dakota - - attributeHeader: - labelValue: South Dakota - primaryLabelValue: South Dakota - - attributeHeader: - labelValue: South Dakota - primaryLabelValue: South Dakota - - attributeHeader: - labelValue: South Dakota - primaryLabelValue: South Dakota - - attributeHeader: - labelValue: South Dakota - primaryLabelValue: South Dakota - - attributeHeader: - labelValue: South Dakota - primaryLabelValue: South Dakota - - attributeHeader: - labelValue: Wisconsin - primaryLabelValue: Wisconsin - - attributeHeader: - labelValue: Wisconsin - primaryLabelValue: Wisconsin - - attributeHeader: - labelValue: Wisconsin - primaryLabelValue: Wisconsin - - attributeHeader: - labelValue: Wisconsin - primaryLabelValue: Wisconsin - - attributeHeader: - labelValue: Wisconsin - primaryLabelValue: Wisconsin - - attributeHeader: - labelValue: Wisconsin - primaryLabelValue: Wisconsin - - attributeHeader: - labelValue: Wisconsin - primaryLabelValue: Wisconsin - - attributeHeader: - labelValue: Wisconsin - primaryLabelValue: Wisconsin - - attributeHeader: - labelValue: Connecticut - primaryLabelValue: Connecticut - - attributeHeader: - labelValue: Connecticut - primaryLabelValue: Connecticut - - attributeHeader: - labelValue: Connecticut - primaryLabelValue: Connecticut - - attributeHeader: - labelValue: Connecticut - primaryLabelValue: Connecticut - - attributeHeader: - labelValue: Connecticut - primaryLabelValue: Connecticut - - attributeHeader: - labelValue: Connecticut - primaryLabelValue: Connecticut - - attributeHeader: - labelValue: Connecticut - primaryLabelValue: Connecticut - - attributeHeader: - labelValue: Connecticut - primaryLabelValue: Connecticut - - headers: - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - headers: - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - grandTotals: [] - paging: - count: - - 100 - offset: - - 0 - total: - - 364 - - request: - method: GET - uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/02c57cb552d3803900144e2f6d747c2326c4c2d5?offset=100&limit=100 - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - br, gzip, deflate - X-GDC-VALIDATE-RELATIONS: - - 'true' - X-Requested-With: - - XMLHttpRequest - response: - status: - code: 200 - message: OK - headers: - Access-Control-Allow-Credentials: - - 'true' - Access-Control-Expose-Headers: - - Content-Disposition, Content-Length, Content-Range, Set-Cookie - Cache-Control: - - no-cache, no-store, max-age=0, must-revalidate - Connection: - - keep-alive - Content-Security-Policy: - - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' - ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com - src.litix.io matomo.anywhere.gooddata.com *.jquery.com unpkg.com cdn.jsdelivr.net - cdnjs.cloudflare.com; img-src ''self'' data: blob: *.wistia.com *.wistia.net - *.hsforms.net *.hsforms.com embedwistia-a.akamaihd.net privacy-policy.truste.com - www.gooddata.com; style-src ''self'' ''unsafe-inline'' fonts.googleapis.com - cdn.jsdelivr.net fast.fonts.net; font-src ''self'' data: fonts.gstatic.com - *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src - ''self'' *.hsforms.net *.hsforms.com; object-src ''none''; worker-src - ''self'' blob:; child-src blob:; connect-src ''self'' *.tiles.mapbox.com - *.mapbox.com *.litix.io *.wistia.com *.hsforms.net *.hsforms.com embedwistia-a.akamaihd.net - matomo.anywhere.gooddata.com; media-src ''self'' blob: data: *.wistia.com - *.wistia.net embedwistia-a.akamaihd.net' - Content-Type: - - application/json - DATE: *id001 - Expires: - - '0' - GoodData-Deployment: - - aio - Permission-Policy: - - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera - 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment - 'none'; - Pragma: - - no-cache - Referrer-Policy: - - no-referrer - Server: - - nginx - Set-Cookie: - - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 - GMT; HttpOnly; SameSite=Lax - Transfer-Encoding: - - chunked - Vary: - - Origin - - Access-Control-Request-Method - - Access-Control-Request-Headers - X-Content-Type-Options: - - nosniff - X-GDC-TRACE-ID: *id001 - X-XSS-Protection: - - 1 ; mode=block - content-length: - - '27695' - body: - string: - data: - - 955.93 - - 1055.56 - - 1051.5 - - 1729.45 - - 418.92 - - 418.92 - - 1624.52 - - 1624.52 - - 220.46 - - 360.16 - - 161.73 - - 161.73 - - 1007.04 - - 1129.66 - - 537.52 - - 725.32 - - 356.46 - - 356.46 - - 231.84 - - 231.84 - - 5004.64 - - 6162.98 - - 4631.73 - - 6433.78 - - 3316.02 - - 3995.11 - - 8734.63 - - 13727.01 - - 1677.18 - - 2310.61 - - 1746.76 - - 2306.18 - - 952.05 - - 1078.41 - - 9179.44 - - 9706.62 - - 652.4 - - 712.22 - - 949.42 - - 1198.83 - - 759.31 - - 927.48 - - 3837.42 - - 3837.42 - - 527.93 - - 738.82 - - 316.18 - - 422.57 - - 454.73 - - 454.73 - - 3384.84 - - 3384.84 - - 541.01 - - 717.46 - - 906.16 - - 906.16 - - 437.49 - - 556.68 - - 1355.06 - - 1355.06 - - 2518.14 - - 3019.08 - - 3262.11 - - 3945.61 - - 3018.14 - - 3554.04 - - 7595.78 - - 7595.78 - - 8476.07 - - 10448.66 - - 8258.54 - - 10548.47 - - 5960.21 - - 6688.79 - - 19294.85 - - 25807.35 - - 1973.23 - - 2601.99 - - 1805.62 - - 2152.51 - - 1053.23 - - 1294.96 - - 5033.19 - - 5985.75 - - 1304.99 - - 1671.49 - - 1039.04 - - 1153.3 - - 311.97 - - 311.97 - - 223.09 - - 446.18 - - 1274.22 - - 1368.62 - - 1727.11 - - 1943.0 - - 1324.48 - - 1749.62 - - 2185.98 - - 2185.98 - dimensionHeaders: - - headerGroups: - - headers: - - attributeHeader: - labelValue: Northeast - primaryLabelValue: Northeast - - attributeHeader: - labelValue: Northeast - primaryLabelValue: Northeast - - attributeHeader: - labelValue: Northeast - primaryLabelValue: Northeast - - attributeHeader: - labelValue: Northeast - primaryLabelValue: Northeast - - attributeHeader: - labelValue: Northeast - primaryLabelValue: Northeast - - attributeHeader: - labelValue: Northeast - primaryLabelValue: Northeast - - attributeHeader: - labelValue: Northeast - primaryLabelValue: Northeast - - attributeHeader: - labelValue: Northeast - primaryLabelValue: Northeast - - attributeHeader: - labelValue: Northeast - primaryLabelValue: Northeast - - attributeHeader: - labelValue: Northeast - primaryLabelValue: Northeast - - attributeHeader: - labelValue: Northeast - primaryLabelValue: Northeast - - attributeHeader: - labelValue: Northeast - primaryLabelValue: Northeast - - attributeHeader: - labelValue: Northeast - primaryLabelValue: Northeast - - attributeHeader: - labelValue: Northeast - primaryLabelValue: Northeast - - attributeHeader: - labelValue: Northeast - primaryLabelValue: Northeast - - attributeHeader: - labelValue: Northeast - primaryLabelValue: Northeast - - attributeHeader: - labelValue: Northeast - primaryLabelValue: Northeast - - attributeHeader: - labelValue: Northeast - primaryLabelValue: Northeast - - attributeHeader: - labelValue: Northeast - primaryLabelValue: Northeast - - attributeHeader: - labelValue: Northeast - primaryLabelValue: Northeast - - attributeHeader: - labelValue: Northeast - primaryLabelValue: Northeast - - attributeHeader: - labelValue: Northeast - primaryLabelValue: Northeast - - attributeHeader: - labelValue: Northeast - primaryLabelValue: Northeast - - attributeHeader: - labelValue: Northeast - primaryLabelValue: Northeast - - attributeHeader: - labelValue: Northeast - primaryLabelValue: Northeast - - attributeHeader: - labelValue: Northeast - primaryLabelValue: Northeast - - attributeHeader: - labelValue: Northeast - primaryLabelValue: Northeast - - attributeHeader: - labelValue: Northeast - primaryLabelValue: Northeast - - attributeHeader: - labelValue: Northeast - primaryLabelValue: Northeast - - attributeHeader: - labelValue: Northeast - primaryLabelValue: Northeast - - attributeHeader: - labelValue: Northeast - primaryLabelValue: Northeast - - attributeHeader: - labelValue: Northeast - primaryLabelValue: Northeast - - attributeHeader: - labelValue: Northeast - primaryLabelValue: Northeast - - attributeHeader: - labelValue: Northeast - primaryLabelValue: Northeast - - attributeHeader: - labelValue: Northeast - primaryLabelValue: Northeast - - attributeHeader: - labelValue: Northeast - primaryLabelValue: Northeast - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - headers: - - attributeHeader: - labelValue: Massachusetts - primaryLabelValue: Massachusetts - - attributeHeader: - labelValue: Massachusetts - primaryLabelValue: Massachusetts - - attributeHeader: - labelValue: Massachusetts - primaryLabelValue: Massachusetts - - attributeHeader: - labelValue: Massachusetts - primaryLabelValue: Massachusetts - - attributeHeader: - labelValue: Massachusetts - primaryLabelValue: Massachusetts - - attributeHeader: - labelValue: Massachusetts - primaryLabelValue: Massachusetts - - attributeHeader: - labelValue: Massachusetts - primaryLabelValue: Massachusetts - - attributeHeader: - labelValue: Massachusetts - primaryLabelValue: Massachusetts - - attributeHeader: - labelValue: New Hampshire - primaryLabelValue: New Hampshire - - attributeHeader: - labelValue: New Hampshire - primaryLabelValue: New Hampshire - - attributeHeader: - labelValue: New Hampshire - primaryLabelValue: New Hampshire - - attributeHeader: - labelValue: New Hampshire - primaryLabelValue: New Hampshire - - attributeHeader: - labelValue: New Jersey - primaryLabelValue: New Jersey - - attributeHeader: - labelValue: New Jersey - primaryLabelValue: New Jersey - - attributeHeader: - labelValue: New Jersey - primaryLabelValue: New Jersey - - attributeHeader: - labelValue: New Jersey - primaryLabelValue: New Jersey - - attributeHeader: - labelValue: New Jersey - primaryLabelValue: New Jersey - - attributeHeader: - labelValue: New Jersey - primaryLabelValue: New Jersey - - attributeHeader: - labelValue: New Jersey - primaryLabelValue: New Jersey - - attributeHeader: - labelValue: New Jersey - primaryLabelValue: New Jersey - - attributeHeader: - labelValue: New York - primaryLabelValue: New York - - attributeHeader: - labelValue: New York - primaryLabelValue: New York - - attributeHeader: - labelValue: New York - primaryLabelValue: New York - - attributeHeader: - labelValue: New York - primaryLabelValue: New York - - attributeHeader: - labelValue: New York - primaryLabelValue: New York - - attributeHeader: - labelValue: New York - primaryLabelValue: New York - - attributeHeader: - labelValue: New York - primaryLabelValue: New York - - attributeHeader: - labelValue: New York - primaryLabelValue: New York - - attributeHeader: - labelValue: Pennsylvania - primaryLabelValue: Pennsylvania - - attributeHeader: - labelValue: Pennsylvania - primaryLabelValue: Pennsylvania - - attributeHeader: - labelValue: Pennsylvania - primaryLabelValue: Pennsylvania - - attributeHeader: - labelValue: Pennsylvania - primaryLabelValue: Pennsylvania - - attributeHeader: - labelValue: Pennsylvania - primaryLabelValue: Pennsylvania - - attributeHeader: - labelValue: Pennsylvania - primaryLabelValue: Pennsylvania - - attributeHeader: - labelValue: Pennsylvania - primaryLabelValue: Pennsylvania - - attributeHeader: - labelValue: Pennsylvania - primaryLabelValue: Pennsylvania - - attributeHeader: - labelValue: Alabama - primaryLabelValue: Alabama - - attributeHeader: - labelValue: Alabama - primaryLabelValue: Alabama - - attributeHeader: - labelValue: Alabama - primaryLabelValue: Alabama - - attributeHeader: - labelValue: Alabama - primaryLabelValue: Alabama - - attributeHeader: - labelValue: Alabama - primaryLabelValue: Alabama - - attributeHeader: - labelValue: Alabama - primaryLabelValue: Alabama - - attributeHeader: - labelValue: Alabama - primaryLabelValue: Alabama - - attributeHeader: - labelValue: Alabama - primaryLabelValue: Alabama - - attributeHeader: - labelValue: Arkansas - primaryLabelValue: Arkansas - - attributeHeader: - labelValue: Arkansas - primaryLabelValue: Arkansas - - attributeHeader: - labelValue: Arkansas - primaryLabelValue: Arkansas - - attributeHeader: - labelValue: Arkansas - primaryLabelValue: Arkansas - - attributeHeader: - labelValue: Arkansas - primaryLabelValue: Arkansas - - attributeHeader: - labelValue: Arkansas - primaryLabelValue: Arkansas - - attributeHeader: - labelValue: Arkansas - primaryLabelValue: Arkansas - - attributeHeader: - labelValue: Arkansas - primaryLabelValue: Arkansas - - attributeHeader: - labelValue: Delaware - primaryLabelValue: Delaware - - attributeHeader: - labelValue: Delaware - primaryLabelValue: Delaware - - attributeHeader: - labelValue: Delaware - primaryLabelValue: Delaware - - attributeHeader: - labelValue: Delaware - primaryLabelValue: Delaware - - attributeHeader: - labelValue: Delaware - primaryLabelValue: Delaware - - attributeHeader: - labelValue: Delaware - primaryLabelValue: Delaware - - attributeHeader: - labelValue: Delaware - primaryLabelValue: Delaware - - attributeHeader: - labelValue: Delaware - primaryLabelValue: Delaware - - attributeHeader: - labelValue: District of Columbia - primaryLabelValue: District of Columbia - - attributeHeader: - labelValue: District of Columbia - primaryLabelValue: District of Columbia - - attributeHeader: - labelValue: District of Columbia - primaryLabelValue: District of Columbia - - attributeHeader: - labelValue: District of Columbia - primaryLabelValue: District of Columbia - - attributeHeader: - labelValue: District of Columbia - primaryLabelValue: District of Columbia - - attributeHeader: - labelValue: District of Columbia - primaryLabelValue: District of Columbia - - attributeHeader: - labelValue: District of Columbia - primaryLabelValue: District of Columbia - - attributeHeader: - labelValue: District of Columbia - primaryLabelValue: District of Columbia - - attributeHeader: - labelValue: Florida - primaryLabelValue: Florida - - attributeHeader: - labelValue: Florida - primaryLabelValue: Florida - - attributeHeader: - labelValue: Florida - primaryLabelValue: Florida - - attributeHeader: - labelValue: Florida - primaryLabelValue: Florida - - attributeHeader: - labelValue: Florida - primaryLabelValue: Florida - - attributeHeader: - labelValue: Florida - primaryLabelValue: Florida - - attributeHeader: - labelValue: Florida - primaryLabelValue: Florida - - attributeHeader: - labelValue: Florida - primaryLabelValue: Florida - - attributeHeader: - labelValue: Georgia - primaryLabelValue: Georgia - - attributeHeader: - labelValue: Georgia - primaryLabelValue: Georgia - - attributeHeader: - labelValue: Georgia - primaryLabelValue: Georgia - - attributeHeader: - labelValue: Georgia - primaryLabelValue: Georgia - - attributeHeader: - labelValue: Georgia - primaryLabelValue: Georgia - - attributeHeader: - labelValue: Georgia - primaryLabelValue: Georgia - - attributeHeader: - labelValue: Georgia - primaryLabelValue: Georgia - - attributeHeader: - labelValue: Georgia - primaryLabelValue: Georgia - - attributeHeader: - labelValue: Kentucky - primaryLabelValue: Kentucky - - attributeHeader: - labelValue: Kentucky - primaryLabelValue: Kentucky - - attributeHeader: - labelValue: Kentucky - primaryLabelValue: Kentucky - - attributeHeader: - labelValue: Kentucky - primaryLabelValue: Kentucky - - attributeHeader: - labelValue: Kentucky - primaryLabelValue: Kentucky - - attributeHeader: - labelValue: Kentucky - primaryLabelValue: Kentucky - - attributeHeader: - labelValue: Kentucky - primaryLabelValue: Kentucky - - attributeHeader: - labelValue: Kentucky - primaryLabelValue: Kentucky - - attributeHeader: - labelValue: Louisiana - primaryLabelValue: Louisiana - - attributeHeader: - labelValue: Louisiana - primaryLabelValue: Louisiana - - attributeHeader: - labelValue: Louisiana - primaryLabelValue: Louisiana - - attributeHeader: - labelValue: Louisiana - primaryLabelValue: Louisiana - - attributeHeader: - labelValue: Louisiana - primaryLabelValue: Louisiana - - attributeHeader: - labelValue: Louisiana - primaryLabelValue: Louisiana - - attributeHeader: - labelValue: Louisiana - primaryLabelValue: Louisiana - - attributeHeader: - labelValue: Louisiana - primaryLabelValue: Louisiana - - headers: - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - headers: - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - grandTotals: [] - paging: - count: - - 100 - offset: - - 100 - total: - - 364 - - request: - method: GET - uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/02c57cb552d3803900144e2f6d747c2326c4c2d5?offset=200&limit=100 - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - br, gzip, deflate - X-GDC-VALIDATE-RELATIONS: - - 'true' - X-Requested-With: - - XMLHttpRequest - response: - status: - code: 200 - message: OK - headers: - Access-Control-Allow-Credentials: - - 'true' - Access-Control-Expose-Headers: - - Content-Disposition, Content-Length, Content-Range, Set-Cookie - Cache-Control: - - no-cache, no-store, max-age=0, must-revalidate - Connection: - - keep-alive - Content-Security-Policy: - - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' - ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com - src.litix.io matomo.anywhere.gooddata.com *.jquery.com unpkg.com cdn.jsdelivr.net - cdnjs.cloudflare.com; img-src ''self'' data: blob: *.wistia.com *.wistia.net - *.hsforms.net *.hsforms.com embedwistia-a.akamaihd.net privacy-policy.truste.com - www.gooddata.com; style-src ''self'' ''unsafe-inline'' fonts.googleapis.com - cdn.jsdelivr.net fast.fonts.net; font-src ''self'' data: fonts.gstatic.com - *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src - ''self'' *.hsforms.net *.hsforms.com; object-src ''none''; worker-src - ''self'' blob:; child-src blob:; connect-src ''self'' *.tiles.mapbox.com - *.mapbox.com *.litix.io *.wistia.com *.hsforms.net *.hsforms.com embedwistia-a.akamaihd.net - matomo.anywhere.gooddata.com; media-src ''self'' blob: data: *.wistia.com - *.wistia.net embedwistia-a.akamaihd.net' - Content-Type: - - application/json - DATE: *id001 - Expires: - - '0' - GoodData-Deployment: - - aio - Permission-Policy: - - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera - 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment - 'none'; - Pragma: - - no-cache - Referrer-Policy: - - no-referrer - Server: - - nginx - Set-Cookie: - - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 - GMT; HttpOnly; SameSite=Lax - Transfer-Encoding: - - chunked - Vary: - - Origin - - Access-Control-Request-Method - - Access-Control-Request-Headers - X-Content-Type-Options: - - nosniff - X-GDC-TRACE-ID: *id001 - X-XSS-Protection: - - 1 ; mode=block - content-length: - - '27223' - body: - string: - data: - - 1558.28 - - 1952.49 - - 952.3 - - 1226.85 - - 1563.19 - - 2208.04 - - 4344.16 - - 6919.63 - - 408.96 - - 646.74 - - 549.99 - - 790.98 - - 174.34 - - 174.34 - - 2834.07 - - 2834.07 - - 1802.4 - - 2176.17 - - 1450.21 - - 1686.28 - - 1567.11 - - 1704.0 - - 4056.46 - - 4879.18 - - 772.05 - - 1048.43 - - 876.39 - - 876.39 - - 771.44 - - 858.2 - - 6328.89 - - 6328.89 - - 1096.89 - - 1259.77 - - 541.59 - - 541.59 - - 612.65 - - 612.65 - - 1184.6 - - 1184.6 - - 1585.4 - - 1995.05 - - 1291.99 - - 1291.99 - - 616.68 - - 616.68 - - 1649.85 - - 1886.52 - - 9041.19 - - 11279.19 - - 8688.2 - - 10307.9 - - 7196.91 - - 8293.87 - - 19327.65 - - 22670.23 - - 3201.61 - - 3617.53 - - 2547.68 - - 2863.09 - - 2806.15 - - 3446.67 - - 7141.49 - - 7397.6 - - 571.06 - - 681.94 - - 750.01 - - 750.01 - - 810.47 - - 1176.32 - - 523.09 - - 523.09 - - 18.7 - - 18.7 - - 790.0 - - 963.08 - - 869.41 - - 890.67 - - 659.24 - - 926.38 - - 2664.71 - - 2664.71 - - 2294.87 - - 2725.93 - - 2170.62 - - 2380.37 - - 2137.33 - - 2158.09 - - 3676.86 - - 3676.86 - - 11367.24 - - 13561.15 - - 11524.88 - - 13729.96 - - 8522.94 - - 9700.71 - - 25996.75 - - 30393.45 - - 1478.95 - - 1514.89 - dimensionHeaders: - - headerGroups: - - headers: - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: Unknown - primaryLabelValue: Unknown - - attributeHeader: - labelValue: Unknown - primaryLabelValue: Unknown - - attributeHeader: - labelValue: West - primaryLabelValue: West - - attributeHeader: - labelValue: West - primaryLabelValue: West - - attributeHeader: - labelValue: West - primaryLabelValue: West - - attributeHeader: - labelValue: West - primaryLabelValue: West - - attributeHeader: - labelValue: West - primaryLabelValue: West - - attributeHeader: - labelValue: West - primaryLabelValue: West - - attributeHeader: - labelValue: West - primaryLabelValue: West - - attributeHeader: - labelValue: West - primaryLabelValue: West - - attributeHeader: - labelValue: West - primaryLabelValue: West - - attributeHeader: - labelValue: West - primaryLabelValue: West - - attributeHeader: - labelValue: West - primaryLabelValue: West - - attributeHeader: - labelValue: West - primaryLabelValue: West - - attributeHeader: - labelValue: West - primaryLabelValue: West - - attributeHeader: - labelValue: West - primaryLabelValue: West - - attributeHeader: - labelValue: West - primaryLabelValue: West - - attributeHeader: - labelValue: West - primaryLabelValue: West - - attributeHeader: - labelValue: West - primaryLabelValue: West - - attributeHeader: - labelValue: West - primaryLabelValue: West - - attributeHeader: - labelValue: West - primaryLabelValue: West - - attributeHeader: - labelValue: West - primaryLabelValue: West - - attributeHeader: - labelValue: West - primaryLabelValue: West - - attributeHeader: - labelValue: West - primaryLabelValue: West - - attributeHeader: - labelValue: West - primaryLabelValue: West - - attributeHeader: - labelValue: West - primaryLabelValue: West - - attributeHeader: - labelValue: West - primaryLabelValue: West - - attributeHeader: - labelValue: West - primaryLabelValue: West - - headers: - - attributeHeader: - labelValue: Maryland - primaryLabelValue: Maryland - - attributeHeader: - labelValue: Maryland - primaryLabelValue: Maryland - - attributeHeader: - labelValue: Maryland - primaryLabelValue: Maryland - - attributeHeader: - labelValue: Maryland - primaryLabelValue: Maryland - - attributeHeader: - labelValue: Maryland - primaryLabelValue: Maryland - - attributeHeader: - labelValue: Maryland - primaryLabelValue: Maryland - - attributeHeader: - labelValue: Maryland - primaryLabelValue: Maryland - - attributeHeader: - labelValue: Maryland - primaryLabelValue: Maryland - - attributeHeader: - labelValue: Mississippi - primaryLabelValue: Mississippi - - attributeHeader: - labelValue: Mississippi - primaryLabelValue: Mississippi - - attributeHeader: - labelValue: Mississippi - primaryLabelValue: Mississippi - - attributeHeader: - labelValue: Mississippi - primaryLabelValue: Mississippi - - attributeHeader: - labelValue: Mississippi - primaryLabelValue: Mississippi - - attributeHeader: - labelValue: Mississippi - primaryLabelValue: Mississippi - - attributeHeader: - labelValue: Mississippi - primaryLabelValue: Mississippi - - attributeHeader: - labelValue: Mississippi - primaryLabelValue: Mississippi - - attributeHeader: - labelValue: North Carolina - primaryLabelValue: North Carolina - - attributeHeader: - labelValue: North Carolina - primaryLabelValue: North Carolina - - attributeHeader: - labelValue: North Carolina - primaryLabelValue: North Carolina - - attributeHeader: - labelValue: North Carolina - primaryLabelValue: North Carolina - - attributeHeader: - labelValue: North Carolina - primaryLabelValue: North Carolina - - attributeHeader: - labelValue: North Carolina - primaryLabelValue: North Carolina - - attributeHeader: - labelValue: North Carolina - primaryLabelValue: North Carolina - - attributeHeader: - labelValue: North Carolina - primaryLabelValue: North Carolina - - attributeHeader: - labelValue: Oklahoma - primaryLabelValue: Oklahoma - - attributeHeader: - labelValue: Oklahoma - primaryLabelValue: Oklahoma - - attributeHeader: - labelValue: Oklahoma - primaryLabelValue: Oklahoma - - attributeHeader: - labelValue: Oklahoma - primaryLabelValue: Oklahoma - - attributeHeader: - labelValue: Oklahoma - primaryLabelValue: Oklahoma - - attributeHeader: - labelValue: Oklahoma - primaryLabelValue: Oklahoma - - attributeHeader: - labelValue: Oklahoma - primaryLabelValue: Oklahoma - - attributeHeader: - labelValue: Oklahoma - primaryLabelValue: Oklahoma - - attributeHeader: - labelValue: South Carolina - primaryLabelValue: South Carolina - - attributeHeader: - labelValue: South Carolina - primaryLabelValue: South Carolina - - attributeHeader: - labelValue: South Carolina - primaryLabelValue: South Carolina - - attributeHeader: - labelValue: South Carolina - primaryLabelValue: South Carolina - - attributeHeader: - labelValue: South Carolina - primaryLabelValue: South Carolina - - attributeHeader: - labelValue: South Carolina - primaryLabelValue: South Carolina - - attributeHeader: - labelValue: South Carolina - primaryLabelValue: South Carolina - - attributeHeader: - labelValue: South Carolina - primaryLabelValue: South Carolina - - attributeHeader: - labelValue: Tennessee - primaryLabelValue: Tennessee - - attributeHeader: - labelValue: Tennessee - primaryLabelValue: Tennessee - - attributeHeader: - labelValue: Tennessee - primaryLabelValue: Tennessee - - attributeHeader: - labelValue: Tennessee - primaryLabelValue: Tennessee - - attributeHeader: - labelValue: Tennessee - primaryLabelValue: Tennessee - - attributeHeader: - labelValue: Tennessee - primaryLabelValue: Tennessee - - attributeHeader: - labelValue: Tennessee - primaryLabelValue: Tennessee - - attributeHeader: - labelValue: Tennessee - primaryLabelValue: Tennessee - - attributeHeader: - labelValue: Texas - primaryLabelValue: Texas - - attributeHeader: - labelValue: Texas - primaryLabelValue: Texas - - attributeHeader: - labelValue: Texas - primaryLabelValue: Texas - - attributeHeader: - labelValue: Texas - primaryLabelValue: Texas - - attributeHeader: - labelValue: Texas - primaryLabelValue: Texas - - attributeHeader: - labelValue: Texas - primaryLabelValue: Texas - - attributeHeader: - labelValue: Texas - primaryLabelValue: Texas - - attributeHeader: - labelValue: Texas - primaryLabelValue: Texas - - attributeHeader: - labelValue: Virginia - primaryLabelValue: Virginia - - attributeHeader: - labelValue: Virginia - primaryLabelValue: Virginia - - attributeHeader: - labelValue: Virginia - primaryLabelValue: Virginia - - attributeHeader: - labelValue: Virginia - primaryLabelValue: Virginia - - attributeHeader: - labelValue: Virginia - primaryLabelValue: Virginia - - attributeHeader: - labelValue: Virginia - primaryLabelValue: Virginia - - attributeHeader: - labelValue: Virginia - primaryLabelValue: Virginia - - attributeHeader: - labelValue: Virginia - primaryLabelValue: Virginia - - attributeHeader: - labelValue: West Virginia - primaryLabelValue: West Virginia - - attributeHeader: - labelValue: West Virginia - primaryLabelValue: West Virginia - - attributeHeader: - labelValue: West Virginia - primaryLabelValue: West Virginia - - attributeHeader: - labelValue: West Virginia - primaryLabelValue: West Virginia - - attributeHeader: - labelValue: West Virginia - primaryLabelValue: West Virginia - - attributeHeader: - labelValue: West Virginia - primaryLabelValue: West Virginia - - attributeHeader: - labelValue: West Virginia - primaryLabelValue: West Virginia - - attributeHeader: - labelValue: West Virginia - primaryLabelValue: West Virginia - - attributeHeader: - labelValue: Rhode Island - primaryLabelValue: Rhode Island - - attributeHeader: - labelValue: Rhode Island - primaryLabelValue: Rhode Island - - attributeHeader: - labelValue: AK - primaryLabelValue: AK - - attributeHeader: - labelValue: AK - primaryLabelValue: AK - - attributeHeader: - labelValue: AK - primaryLabelValue: AK - - attributeHeader: - labelValue: AK - primaryLabelValue: AK - - attributeHeader: - labelValue: AK - primaryLabelValue: AK - - attributeHeader: - labelValue: AK - primaryLabelValue: AK - - attributeHeader: - labelValue: AK - primaryLabelValue: AK - - attributeHeader: - labelValue: AK - primaryLabelValue: AK - - attributeHeader: - labelValue: Arizona - primaryLabelValue: Arizona - - attributeHeader: - labelValue: Arizona - primaryLabelValue: Arizona - - attributeHeader: - labelValue: Arizona - primaryLabelValue: Arizona - - attributeHeader: - labelValue: Arizona - primaryLabelValue: Arizona - - attributeHeader: - labelValue: Arizona - primaryLabelValue: Arizona - - attributeHeader: - labelValue: Arizona - primaryLabelValue: Arizona - - attributeHeader: - labelValue: Arizona - primaryLabelValue: Arizona - - attributeHeader: - labelValue: Arizona - primaryLabelValue: Arizona - - attributeHeader: - labelValue: California - primaryLabelValue: California - - attributeHeader: - labelValue: California - primaryLabelValue: California - - attributeHeader: - labelValue: California - primaryLabelValue: California - - attributeHeader: - labelValue: California - primaryLabelValue: California - - attributeHeader: - labelValue: California - primaryLabelValue: California - - attributeHeader: - labelValue: California - primaryLabelValue: California - - attributeHeader: - labelValue: California - primaryLabelValue: California - - attributeHeader: - labelValue: California - primaryLabelValue: California - - attributeHeader: - labelValue: Colorado - primaryLabelValue: Colorado - - attributeHeader: - labelValue: Colorado - primaryLabelValue: Colorado - - headers: - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - headers: - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - grandTotals: [] - paging: - count: - - 100 - offset: - - 200 - total: - - 364 - - request: - method: GET - uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/02c57cb552d3803900144e2f6d747c2326c4c2d5?offset=300&limit=100 - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - br, gzip, deflate - X-GDC-VALIDATE-RELATIONS: - - 'true' - X-Requested-With: - - XMLHttpRequest - response: - status: - code: 200 - message: OK - headers: - Access-Control-Allow-Credentials: - - 'true' - Access-Control-Expose-Headers: - - Content-Disposition, Content-Length, Content-Range, Set-Cookie - Cache-Control: - - no-cache, no-store, max-age=0, must-revalidate - Connection: - - keep-alive - Content-Security-Policy: - - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' - ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com - src.litix.io matomo.anywhere.gooddata.com *.jquery.com unpkg.com cdn.jsdelivr.net - cdnjs.cloudflare.com; img-src ''self'' data: blob: *.wistia.com *.wistia.net - *.hsforms.net *.hsforms.com embedwistia-a.akamaihd.net privacy-policy.truste.com - www.gooddata.com; style-src ''self'' ''unsafe-inline'' fonts.googleapis.com - cdn.jsdelivr.net fast.fonts.net; font-src ''self'' data: fonts.gstatic.com - *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src - ''self'' *.hsforms.net *.hsforms.com; object-src ''none''; worker-src - ''self'' blob:; child-src blob:; connect-src ''self'' *.tiles.mapbox.com - *.mapbox.com *.litix.io *.wistia.com *.hsforms.net *.hsforms.com embedwistia-a.akamaihd.net - matomo.anywhere.gooddata.com; media-src ''self'' blob: data: *.wistia.com - *.wistia.net embedwistia-a.akamaihd.net' - Content-Type: - - application/json - DATE: *id001 - Expires: - - '0' - GoodData-Deployment: - - aio - Permission-Policy: - - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera - 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment - 'none'; - Pragma: - - no-cache - Referrer-Policy: - - no-referrer - Server: - - nginx - Set-Cookie: - - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 - GMT; HttpOnly; SameSite=Lax - Transfer-Encoding: - - chunked - Vary: - - Origin - - Access-Control-Request-Method - - Access-Control-Request-Headers - X-Content-Type-Options: - - nosniff - X-GDC-TRACE-ID: *id001 - X-XSS-Protection: - - 1 ; mode=block - content-length: - - '17067' - body: - string: - data: - - 1839.72 - - 2325.39 - - 1030.04 - - 1366.28 - - 5663.31 - - 5663.31 - - 638.98 - - 893.14 - - 758.13 - - 758.13 - - 396.08 - - 396.08 - - 3426.72 - - 3426.72 - - 316.43 - - 454.71 - - 299.91 - - 383.62 - - 96.27 - - 178.1 - - 1128.03 - - 3384.09 - - 597.1 - - 701.11 - - 596.79 - - 596.79 - - 190.5 - - 373.65 - - 739.23 - - 969.9 - - 567.73 - - 893.17 - - 137.81 - - 172.97 - - 462.58 - - 523.96 - - 540.36 - - 540.36 - - 326.03 - - 440.93 - - 1213.9 - - 1575.07 - - 676.67 - - 1173.63 - - 801.92 - - 801.92 - - 1772.62 - - 2074.55 - - 1069.48 - - 1394.01 - - 1244.55 - - 1429.29 - - 835.05 - - 835.05 - - 5211.52 - - 6042.93 - - 978.06 - - 1225.73 - - 925.18 - - 1010.03 - - 528.25 - - 973.49 - - 3787.89 - - 4246.86 - dimensionHeaders: - - headerGroups: - - headers: - - attributeHeader: - labelValue: West - primaryLabelValue: West - - attributeHeader: - labelValue: West - primaryLabelValue: West - - attributeHeader: - labelValue: West - primaryLabelValue: West - - attributeHeader: - labelValue: West - primaryLabelValue: West - - attributeHeader: - labelValue: West - primaryLabelValue: West - - attributeHeader: - labelValue: West - primaryLabelValue: West - - attributeHeader: - labelValue: West - primaryLabelValue: West - - attributeHeader: - labelValue: West - primaryLabelValue: West - - attributeHeader: - labelValue: West - primaryLabelValue: West - - attributeHeader: - labelValue: West - primaryLabelValue: West - - attributeHeader: - labelValue: West - primaryLabelValue: West - - attributeHeader: - labelValue: West - primaryLabelValue: West - - attributeHeader: - labelValue: West - primaryLabelValue: West - - attributeHeader: - labelValue: West - primaryLabelValue: West - - attributeHeader: - labelValue: West - primaryLabelValue: West - - attributeHeader: - labelValue: West - primaryLabelValue: West - - attributeHeader: - labelValue: West - primaryLabelValue: West - - attributeHeader: - labelValue: West - primaryLabelValue: West - - attributeHeader: - labelValue: West - primaryLabelValue: West - - attributeHeader: - labelValue: West - primaryLabelValue: West - - attributeHeader: - labelValue: West - primaryLabelValue: West - - attributeHeader: - labelValue: West - primaryLabelValue: West - - attributeHeader: - labelValue: West - primaryLabelValue: West - - attributeHeader: - labelValue: West - primaryLabelValue: West - - attributeHeader: - labelValue: West - primaryLabelValue: West - - attributeHeader: - labelValue: West - primaryLabelValue: West - - attributeHeader: - labelValue: West - primaryLabelValue: West - - attributeHeader: - labelValue: West - primaryLabelValue: West - - attributeHeader: - labelValue: West - primaryLabelValue: West - - attributeHeader: - labelValue: West - primaryLabelValue: West - - attributeHeader: - labelValue: West - primaryLabelValue: West - - attributeHeader: - labelValue: West - primaryLabelValue: West - - attributeHeader: - labelValue: West - primaryLabelValue: West - - attributeHeader: - labelValue: West - primaryLabelValue: West - - attributeHeader: - labelValue: West - primaryLabelValue: West - - attributeHeader: - labelValue: West - primaryLabelValue: West - - attributeHeader: - labelValue: West - primaryLabelValue: West - - attributeHeader: - labelValue: West - primaryLabelValue: West - - attributeHeader: - labelValue: West - primaryLabelValue: West - - attributeHeader: - labelValue: West - primaryLabelValue: West - - attributeHeader: - labelValue: West - primaryLabelValue: West - - attributeHeader: - labelValue: West - primaryLabelValue: West - - attributeHeader: - labelValue: West - primaryLabelValue: West - - attributeHeader: - labelValue: West - primaryLabelValue: West - - attributeHeader: - labelValue: West - primaryLabelValue: West - - attributeHeader: - labelValue: West - primaryLabelValue: West - - attributeHeader: - labelValue: West - primaryLabelValue: West - - attributeHeader: - labelValue: West - primaryLabelValue: West - - attributeHeader: - labelValue: West - primaryLabelValue: West - - attributeHeader: - labelValue: West - primaryLabelValue: West - - attributeHeader: - labelValue: West - primaryLabelValue: West - - attributeHeader: - labelValue: West - primaryLabelValue: West - - attributeHeader: - labelValue: West - primaryLabelValue: West - - attributeHeader: - labelValue: West - primaryLabelValue: West - - attributeHeader: - labelValue: West - primaryLabelValue: West - - attributeHeader: - labelValue: West - primaryLabelValue: West - - attributeHeader: - labelValue: West - primaryLabelValue: West - - attributeHeader: - labelValue: West - primaryLabelValue: West - - attributeHeader: - labelValue: West - primaryLabelValue: West - - attributeHeader: - labelValue: West - primaryLabelValue: West - - attributeHeader: - labelValue: West - primaryLabelValue: West - - attributeHeader: - labelValue: West - primaryLabelValue: West - - attributeHeader: - labelValue: West - primaryLabelValue: West - - attributeHeader: - labelValue: West - primaryLabelValue: West - - headers: - - attributeHeader: - labelValue: Colorado - primaryLabelValue: Colorado - - attributeHeader: - labelValue: Colorado - primaryLabelValue: Colorado - - attributeHeader: - labelValue: Colorado - primaryLabelValue: Colorado - - attributeHeader: - labelValue: Colorado - primaryLabelValue: Colorado - - attributeHeader: - labelValue: Colorado - primaryLabelValue: Colorado - - attributeHeader: - labelValue: Colorado - primaryLabelValue: Colorado - - attributeHeader: - labelValue: Hawaii - primaryLabelValue: Hawaii - - attributeHeader: - labelValue: Hawaii - primaryLabelValue: Hawaii - - attributeHeader: - labelValue: Hawaii - primaryLabelValue: Hawaii - - attributeHeader: - labelValue: Hawaii - primaryLabelValue: Hawaii - - attributeHeader: - labelValue: Hawaii - primaryLabelValue: Hawaii - - attributeHeader: - labelValue: Hawaii - primaryLabelValue: Hawaii - - attributeHeader: - labelValue: Hawaii - primaryLabelValue: Hawaii - - attributeHeader: - labelValue: Hawaii - primaryLabelValue: Hawaii - - attributeHeader: - labelValue: Idaho - primaryLabelValue: Idaho - - attributeHeader: - labelValue: Idaho - primaryLabelValue: Idaho - - attributeHeader: - labelValue: Idaho - primaryLabelValue: Idaho - - attributeHeader: - labelValue: Idaho - primaryLabelValue: Idaho - - attributeHeader: - labelValue: Idaho - primaryLabelValue: Idaho - - attributeHeader: - labelValue: Idaho - primaryLabelValue: Idaho - - attributeHeader: - labelValue: Idaho - primaryLabelValue: Idaho - - attributeHeader: - labelValue: Idaho - primaryLabelValue: Idaho - - attributeHeader: - labelValue: Montana - primaryLabelValue: Montana - - attributeHeader: - labelValue: Montana - primaryLabelValue: Montana - - attributeHeader: - labelValue: Montana - primaryLabelValue: Montana - - attributeHeader: - labelValue: Montana - primaryLabelValue: Montana - - attributeHeader: - labelValue: Montana - primaryLabelValue: Montana - - attributeHeader: - labelValue: Montana - primaryLabelValue: Montana - - attributeHeader: - labelValue: Nevada - primaryLabelValue: Nevada - - attributeHeader: - labelValue: Nevada - primaryLabelValue: Nevada - - attributeHeader: - labelValue: Nevada - primaryLabelValue: Nevada - - attributeHeader: - labelValue: Nevada - primaryLabelValue: Nevada - - attributeHeader: - labelValue: Nevada - primaryLabelValue: Nevada - - attributeHeader: - labelValue: Nevada - primaryLabelValue: Nevada - - attributeHeader: - labelValue: New Mexico - primaryLabelValue: New Mexico - - attributeHeader: - labelValue: New Mexico - primaryLabelValue: New Mexico - - attributeHeader: - labelValue: New Mexico - primaryLabelValue: New Mexico - - attributeHeader: - labelValue: New Mexico - primaryLabelValue: New Mexico - - attributeHeader: - labelValue: New Mexico - primaryLabelValue: New Mexico - - attributeHeader: - labelValue: New Mexico - primaryLabelValue: New Mexico - - attributeHeader: - labelValue: Oregon - primaryLabelValue: Oregon - - attributeHeader: - labelValue: Oregon - primaryLabelValue: Oregon - - attributeHeader: - labelValue: Oregon - primaryLabelValue: Oregon - - attributeHeader: - labelValue: Oregon - primaryLabelValue: Oregon - - attributeHeader: - labelValue: Oregon - primaryLabelValue: Oregon - - attributeHeader: - labelValue: Oregon - primaryLabelValue: Oregon - - attributeHeader: - labelValue: Oregon - primaryLabelValue: Oregon - - attributeHeader: - labelValue: Oregon - primaryLabelValue: Oregon - - attributeHeader: - labelValue: Utah - primaryLabelValue: Utah - - attributeHeader: - labelValue: Utah - primaryLabelValue: Utah - - attributeHeader: - labelValue: Utah - primaryLabelValue: Utah - - attributeHeader: - labelValue: Utah - primaryLabelValue: Utah - - attributeHeader: - labelValue: Utah - primaryLabelValue: Utah - - attributeHeader: - labelValue: Utah - primaryLabelValue: Utah - - attributeHeader: - labelValue: Utah - primaryLabelValue: Utah - - attributeHeader: - labelValue: Utah - primaryLabelValue: Utah - - attributeHeader: - labelValue: Washington - primaryLabelValue: Washington - - attributeHeader: - labelValue: Washington - primaryLabelValue: Washington - - attributeHeader: - labelValue: Washington - primaryLabelValue: Washington - - attributeHeader: - labelValue: Washington - primaryLabelValue: Washington - - attributeHeader: - labelValue: Washington - primaryLabelValue: Washington - - attributeHeader: - labelValue: Washington - primaryLabelValue: Washington - - attributeHeader: - labelValue: Washington - primaryLabelValue: Washington - - attributeHeader: - labelValue: Washington - primaryLabelValue: Washington - - headers: - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - headers: - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - grandTotals: [] - paging: - count: - - 64 - offset: - - 300 - total: - - 364 - - request: - method: GET - uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/02c57cb552d3803900144e2f6d747c2326c4c2d5/metadata - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - br, gzip, deflate - X-GDC-VALIDATE-RELATIONS: - - 'true' - X-Requested-With: - - XMLHttpRequest - response: - status: - code: 200 - message: OK - headers: - Access-Control-Allow-Credentials: - - 'true' - Access-Control-Expose-Headers: - - Content-Disposition, Content-Length, Content-Range, Set-Cookie - Cache-Control: - - no-cache, no-store, max-age=0, must-revalidate - Connection: - - keep-alive - Content-Security-Policy: - - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' - ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com - src.litix.io matomo.anywhere.gooddata.com *.jquery.com unpkg.com cdn.jsdelivr.net - cdnjs.cloudflare.com; img-src ''self'' data: blob: *.wistia.com *.wistia.net - *.hsforms.net *.hsforms.com embedwistia-a.akamaihd.net privacy-policy.truste.com - www.gooddata.com; style-src ''self'' ''unsafe-inline'' fonts.googleapis.com - cdn.jsdelivr.net fast.fonts.net; font-src ''self'' data: fonts.gstatic.com - *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src - ''self'' *.hsforms.net *.hsforms.com; object-src ''none''; worker-src - ''self'' blob:; child-src blob:; connect-src ''self'' *.tiles.mapbox.com - *.mapbox.com *.litix.io *.wistia.com *.hsforms.net *.hsforms.com embedwistia-a.akamaihd.net - matomo.anywhere.gooddata.com; media-src ''self'' blob: data: *.wistia.com - *.wistia.net embedwistia-a.akamaihd.net' - Content-Type: - - application/json - DATE: *id001 - Expires: - - '0' - GoodData-Deployment: - - aio - Permission-Policy: - - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera - 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment - 'none'; - Pragma: - - no-cache - Referrer-Policy: - - no-referrer - Server: - - nginx - Set-Cookie: - - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 - GMT; HttpOnly; SameSite=Lax - Transfer-Encoding: - - chunked - Vary: - - Origin - - Access-Control-Request-Method - - Access-Control-Request-Headers - X-Content-Type-Options: - - nosniff - X-GDC-TRACE-ID: *id001 - X-XSS-Protection: - - 1 ; mode=block - content-length: - - '1946' - body: - string: - afm: - attributes: - - localIdentifier: region - label: - identifier: - id: region - type: label - showAllValues: false - - localIdentifier: state - label: - identifier: - id: state - type: label - showAllValues: false - - localIdentifier: product_category - label: - identifier: - id: products.category - type: label - showAllValues: false - filters: [] - measures: - - localIdentifier: price - definition: - measure: - item: - identifier: - id: price - type: fact - aggregation: SUM - computeRatio: false - filters: [] - - localIdentifier: order_amount - definition: - measure: - item: - identifier: - id: order_amount - type: metric - computeRatio: false - filters: [] - auxMeasures: [] - executionResponse: - dimensions: - - headers: - - attributeHeader: - localIdentifier: region - label: - id: region - type: label - labelName: Region - attribute: - id: region - type: attribute - attributeName: Region - granularity: null - primaryLabel: - id: region - type: label - - attributeHeader: - localIdentifier: state - label: - id: state - type: label - labelName: State - attribute: - id: state - type: attribute - attributeName: State - granularity: null - primaryLabel: - id: state - type: label - - attributeHeader: - localIdentifier: product_category - label: - id: products.category - type: label - labelName: Category - attribute: - id: products.category - type: attribute - attributeName: Category - granularity: null - primaryLabel: - id: products.category - type: label - - measureGroupHeaders: - - localIdentifier: price - - localIdentifier: order_amount - format: $#,##0 - name: Order Amount - localIdentifier: dim_0 - links: - executionResult: 02c57cb552d3803900144e2f6d747c2326c4c2d5 - resultSpec: - dimensions: - - localIdentifier: dim_0 - itemIdentifiers: - - region - - state - - product_category - - measureGroup - sorting: [] - totals: [] - resultSize: 34875 - - request: - method: GET - uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/02c57cb552d3803900144e2f6d747c2326c4c2d5?offset=0&limit=100 - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - br, gzip, deflate - X-GDC-VALIDATE-RELATIONS: - - 'true' - X-Requested-With: - - XMLHttpRequest - response: - status: - code: 200 - message: OK - headers: - Access-Control-Allow-Credentials: - - 'true' - Access-Control-Expose-Headers: - - Content-Disposition, Content-Length, Content-Range, Set-Cookie - Cache-Control: - - no-cache, no-store, max-age=0, must-revalidate - Connection: - - keep-alive - Content-Security-Policy: - - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' - ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com - src.litix.io matomo.anywhere.gooddata.com *.jquery.com unpkg.com cdn.jsdelivr.net - cdnjs.cloudflare.com; img-src ''self'' data: blob: *.wistia.com *.wistia.net - *.hsforms.net *.hsforms.com embedwistia-a.akamaihd.net privacy-policy.truste.com - www.gooddata.com; style-src ''self'' ''unsafe-inline'' fonts.googleapis.com - cdn.jsdelivr.net fast.fonts.net; font-src ''self'' data: fonts.gstatic.com - *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src - ''self'' *.hsforms.net *.hsforms.com; object-src ''none''; worker-src - ''self'' blob:; child-src blob:; connect-src ''self'' *.tiles.mapbox.com - *.mapbox.com *.litix.io *.wistia.com *.hsforms.net *.hsforms.com embedwistia-a.akamaihd.net - matomo.anywhere.gooddata.com; media-src ''self'' blob: data: *.wistia.com - *.wistia.net embedwistia-a.akamaihd.net' - Content-Type: - - application/json - DATE: *id001 - Expires: - - '0' - GoodData-Deployment: - - aio - Permission-Policy: - - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera - 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment - 'none'; - Pragma: - - no-cache - Referrer-Policy: - - no-referrer - Server: - - nginx - Set-Cookie: - - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 - GMT; HttpOnly; SameSite=Lax - Transfer-Encoding: - - chunked - Vary: - - Origin - - Access-Control-Request-Method - - Access-Control-Request-Headers - X-Content-Type-Options: - - nosniff - X-GDC-TRACE-ID: *id001 - X-XSS-Protection: - - 1 ; mode=block - content-length: - - '27463' - body: - string: - data: - - 2018.99 - - 2535.21 - - 1936.08 - - 2325.5 - - 1644.01 - - 1667.22 - - 3205.41 - - 3205.41 - - 963.25 - - 1190.44 - - 1115.49 - - 1178.01 - - 286.41 - - 286.41 - - 3617.55 - - 3939.72 - - 1858.1 - - 2263.12 - - 1819.59 - - 2474.87 - - 1491.35 - - 1491.35 - - 3298.64 - - 3542.07 - - 802.06 - - 882.27 - - 603.3 - - 674.41 - - 749.37 - - 864.05 - - 2349.06 - - 2349.06 - - 989.47 - - 1104.14 - - 1581.46 - - 1767.83 - - 1817.19 - - 2663.57 - - 3357.3 - - 5617.86 - - 1915.46 - - 2369.61 - - 2329.01 - - 2826.18 - - 1264.88 - - 1311.02 - - 2679.78 - - 3157.96 - - 2065.18 - - 2541.12 - - 1512.2 - - 1961.18 - - 1922.63 - - 2653.67 - - 3046.57 - - 3763.37 - - 586.37 - - 742.46 - - 770.11 - - 770.11 - - 535.43 - - 535.43 - - 666.19 - - 666.19 - - 102.03 - - 102.03 - - 60.78 - - 60.78 - - 13.9 - - 13.9 - - 3463.82 - - 4467.47 - - 3532.76 - - 4133.16 - - 2498.84 - - 3377.52 - - 4076.75 - - 7939.25 - - 236.34 - - 393.47 - - 184.82 - - 281.19 - - 218.89 - - 218.89 - - 1869.53 - - 2146.81 - - 1813.39 - - 2638.54 - - 1321.08 - - 1684.95 - - 5646.42 - - 5646.42 - - 871.42 - - 1014.93 - - 887.3 - - 1048.14 - - 594.45 - - 594.45 - - 538.99 - - 538.99 - dimensionHeaders: - - headerGroups: - - headers: - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Midwest - primaryLabelValue: Midwest - - attributeHeader: - labelValue: Northeast - primaryLabelValue: Northeast - - attributeHeader: - labelValue: Northeast - primaryLabelValue: Northeast - - attributeHeader: - labelValue: Northeast - primaryLabelValue: Northeast - - attributeHeader: - labelValue: Northeast - primaryLabelValue: Northeast - - attributeHeader: - labelValue: Northeast - primaryLabelValue: Northeast - - attributeHeader: - labelValue: Northeast - primaryLabelValue: Northeast - - attributeHeader: - labelValue: Northeast - primaryLabelValue: Northeast - - attributeHeader: - labelValue: Northeast - primaryLabelValue: Northeast - - headers: - - attributeHeader: - labelValue: Illinois - primaryLabelValue: Illinois - - attributeHeader: - labelValue: Illinois - primaryLabelValue: Illinois - - attributeHeader: - labelValue: Illinois - primaryLabelValue: Illinois - - attributeHeader: - labelValue: Illinois - primaryLabelValue: Illinois - - attributeHeader: - labelValue: Illinois - primaryLabelValue: Illinois - - attributeHeader: - labelValue: Illinois - primaryLabelValue: Illinois - - attributeHeader: - labelValue: Illinois - primaryLabelValue: Illinois - - attributeHeader: - labelValue: Illinois - primaryLabelValue: Illinois - - attributeHeader: - labelValue: Indiana - primaryLabelValue: Indiana - - attributeHeader: - labelValue: Indiana - primaryLabelValue: Indiana - - attributeHeader: - labelValue: Indiana - primaryLabelValue: Indiana - - attributeHeader: - labelValue: Indiana - primaryLabelValue: Indiana - - attributeHeader: - labelValue: Indiana - primaryLabelValue: Indiana - - attributeHeader: - labelValue: Indiana - primaryLabelValue: Indiana - - attributeHeader: - labelValue: Indiana - primaryLabelValue: Indiana - - attributeHeader: - labelValue: Indiana - primaryLabelValue: Indiana - - attributeHeader: - labelValue: Iowa - primaryLabelValue: Iowa - - attributeHeader: - labelValue: Iowa - primaryLabelValue: Iowa - - attributeHeader: - labelValue: Iowa - primaryLabelValue: Iowa - - attributeHeader: - labelValue: Iowa - primaryLabelValue: Iowa - - attributeHeader: - labelValue: Iowa - primaryLabelValue: Iowa - - attributeHeader: - labelValue: Iowa - primaryLabelValue: Iowa - - attributeHeader: - labelValue: Iowa - primaryLabelValue: Iowa - - attributeHeader: - labelValue: Iowa - primaryLabelValue: Iowa - - attributeHeader: - labelValue: Kansas - primaryLabelValue: Kansas - - attributeHeader: - labelValue: Kansas - primaryLabelValue: Kansas - - attributeHeader: - labelValue: Kansas - primaryLabelValue: Kansas - - attributeHeader: - labelValue: Kansas - primaryLabelValue: Kansas - - attributeHeader: - labelValue: Kansas - primaryLabelValue: Kansas - - attributeHeader: - labelValue: Kansas - primaryLabelValue: Kansas - - attributeHeader: - labelValue: Kansas - primaryLabelValue: Kansas - - attributeHeader: - labelValue: Kansas - primaryLabelValue: Kansas - - attributeHeader: - labelValue: Michigan - primaryLabelValue: Michigan - - attributeHeader: - labelValue: Michigan - primaryLabelValue: Michigan - - attributeHeader: - labelValue: Michigan - primaryLabelValue: Michigan - - attributeHeader: - labelValue: Michigan - primaryLabelValue: Michigan - - attributeHeader: - labelValue: Michigan - primaryLabelValue: Michigan - - attributeHeader: - labelValue: Michigan - primaryLabelValue: Michigan - - attributeHeader: - labelValue: Michigan - primaryLabelValue: Michigan - - attributeHeader: - labelValue: Michigan - primaryLabelValue: Michigan - - attributeHeader: - labelValue: Minnesota - primaryLabelValue: Minnesota - - attributeHeader: - labelValue: Minnesota - primaryLabelValue: Minnesota - - attributeHeader: - labelValue: Minnesota - primaryLabelValue: Minnesota - - attributeHeader: - labelValue: Minnesota - primaryLabelValue: Minnesota - - attributeHeader: - labelValue: Minnesota - primaryLabelValue: Minnesota - - attributeHeader: - labelValue: Minnesota - primaryLabelValue: Minnesota - - attributeHeader: - labelValue: Minnesota - primaryLabelValue: Minnesota - - attributeHeader: - labelValue: Minnesota - primaryLabelValue: Minnesota - - attributeHeader: - labelValue: Missouri - primaryLabelValue: Missouri - - attributeHeader: - labelValue: Missouri - primaryLabelValue: Missouri - - attributeHeader: - labelValue: Missouri - primaryLabelValue: Missouri - - attributeHeader: - labelValue: Missouri - primaryLabelValue: Missouri - - attributeHeader: - labelValue: Missouri - primaryLabelValue: Missouri - - attributeHeader: - labelValue: Missouri - primaryLabelValue: Missouri - - attributeHeader: - labelValue: Missouri - primaryLabelValue: Missouri - - attributeHeader: - labelValue: Missouri - primaryLabelValue: Missouri - - attributeHeader: - labelValue: Nebraska - primaryLabelValue: Nebraska - - attributeHeader: - labelValue: Nebraska - primaryLabelValue: Nebraska - - attributeHeader: - labelValue: Nebraska - primaryLabelValue: Nebraska - - attributeHeader: - labelValue: Nebraska - primaryLabelValue: Nebraska - - attributeHeader: - labelValue: Nebraska - primaryLabelValue: Nebraska - - attributeHeader: - labelValue: Nebraska - primaryLabelValue: Nebraska - - attributeHeader: - labelValue: Nebraska - primaryLabelValue: Nebraska - - attributeHeader: - labelValue: Nebraska - primaryLabelValue: Nebraska - - attributeHeader: - labelValue: North Dakota - primaryLabelValue: North Dakota - - attributeHeader: - labelValue: North Dakota - primaryLabelValue: North Dakota - - attributeHeader: - labelValue: North Dakota - primaryLabelValue: North Dakota - - attributeHeader: - labelValue: North Dakota - primaryLabelValue: North Dakota - - attributeHeader: - labelValue: North Dakota - primaryLabelValue: North Dakota - - attributeHeader: - labelValue: North Dakota - primaryLabelValue: North Dakota - - attributeHeader: - labelValue: Ohio - primaryLabelValue: Ohio - - attributeHeader: - labelValue: Ohio - primaryLabelValue: Ohio - - attributeHeader: - labelValue: Ohio - primaryLabelValue: Ohio - - attributeHeader: - labelValue: Ohio - primaryLabelValue: Ohio - - attributeHeader: - labelValue: Ohio - primaryLabelValue: Ohio - - attributeHeader: - labelValue: Ohio - primaryLabelValue: Ohio - - attributeHeader: - labelValue: Ohio - primaryLabelValue: Ohio - - attributeHeader: - labelValue: Ohio - primaryLabelValue: Ohio - - attributeHeader: - labelValue: South Dakota - primaryLabelValue: South Dakota - - attributeHeader: - labelValue: South Dakota - primaryLabelValue: South Dakota - - attributeHeader: - labelValue: South Dakota - primaryLabelValue: South Dakota - - attributeHeader: - labelValue: South Dakota - primaryLabelValue: South Dakota - - attributeHeader: - labelValue: South Dakota - primaryLabelValue: South Dakota - - attributeHeader: - labelValue: South Dakota - primaryLabelValue: South Dakota - - attributeHeader: - labelValue: Wisconsin - primaryLabelValue: Wisconsin - - attributeHeader: - labelValue: Wisconsin - primaryLabelValue: Wisconsin - - attributeHeader: - labelValue: Wisconsin - primaryLabelValue: Wisconsin - - attributeHeader: - labelValue: Wisconsin - primaryLabelValue: Wisconsin - - attributeHeader: - labelValue: Wisconsin - primaryLabelValue: Wisconsin - - attributeHeader: - labelValue: Wisconsin - primaryLabelValue: Wisconsin - - attributeHeader: - labelValue: Wisconsin - primaryLabelValue: Wisconsin - - attributeHeader: - labelValue: Wisconsin - primaryLabelValue: Wisconsin - - attributeHeader: - labelValue: Connecticut - primaryLabelValue: Connecticut - - attributeHeader: - labelValue: Connecticut - primaryLabelValue: Connecticut - - attributeHeader: - labelValue: Connecticut - primaryLabelValue: Connecticut - - attributeHeader: - labelValue: Connecticut - primaryLabelValue: Connecticut - - attributeHeader: - labelValue: Connecticut - primaryLabelValue: Connecticut - - attributeHeader: - labelValue: Connecticut - primaryLabelValue: Connecticut - - attributeHeader: - labelValue: Connecticut - primaryLabelValue: Connecticut - - attributeHeader: - labelValue: Connecticut - primaryLabelValue: Connecticut - - headers: - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - headers: - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - grandTotals: [] - paging: - count: - - 100 - offset: - - 0 - total: - - 364 - - request: - method: GET - uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/02c57cb552d3803900144e2f6d747c2326c4c2d5?offset=100&limit=100 - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - br, gzip, deflate - X-GDC-VALIDATE-RELATIONS: - - 'true' - X-Requested-With: - - XMLHttpRequest - response: - status: - code: 200 - message: OK - headers: - Access-Control-Allow-Credentials: - - 'true' - Access-Control-Expose-Headers: - - Content-Disposition, Content-Length, Content-Range, Set-Cookie - Cache-Control: - - no-cache, no-store, max-age=0, must-revalidate - Connection: - - keep-alive - Content-Security-Policy: - - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' - ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com - src.litix.io matomo.anywhere.gooddata.com *.jquery.com unpkg.com cdn.jsdelivr.net - cdnjs.cloudflare.com; img-src ''self'' data: blob: *.wistia.com *.wistia.net - *.hsforms.net *.hsforms.com embedwistia-a.akamaihd.net privacy-policy.truste.com - www.gooddata.com; style-src ''self'' ''unsafe-inline'' fonts.googleapis.com - cdn.jsdelivr.net fast.fonts.net; font-src ''self'' data: fonts.gstatic.com - *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src - ''self'' *.hsforms.net *.hsforms.com; object-src ''none''; worker-src - ''self'' blob:; child-src blob:; connect-src ''self'' *.tiles.mapbox.com - *.mapbox.com *.litix.io *.wistia.com *.hsforms.net *.hsforms.com embedwistia-a.akamaihd.net - matomo.anywhere.gooddata.com; media-src ''self'' blob: data: *.wistia.com - *.wistia.net embedwistia-a.akamaihd.net' - Content-Type: - - application/json - DATE: *id001 - Expires: - - '0' - GoodData-Deployment: - - aio - Permission-Policy: - - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera - 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment - 'none'; - Pragma: - - no-cache - Referrer-Policy: - - no-referrer - Server: - - nginx - Set-Cookie: - - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 - GMT; HttpOnly; SameSite=Lax - Transfer-Encoding: - - chunked - Vary: - - Origin - - Access-Control-Request-Method - - Access-Control-Request-Headers - X-Content-Type-Options: - - nosniff - X-GDC-TRACE-ID: *id001 - X-XSS-Protection: - - 1 ; mode=block - content-length: - - '27695' - body: - string: - data: - - 955.93 - - 1055.56 - - 1051.5 - - 1729.45 - - 418.92 - - 418.92 - - 1624.52 - - 1624.52 - - 220.46 - - 360.16 - - 161.73 - - 161.73 - - 1007.04 - - 1129.66 - - 537.52 - - 725.32 - - 356.46 - - 356.46 - - 231.84 - - 231.84 - - 5004.64 - - 6162.98 - - 4631.73 - - 6433.78 - - 3316.02 - - 3995.11 - - 8734.63 - - 13727.01 - - 1677.18 - - 2310.61 - - 1746.76 - - 2306.18 - - 952.05 - - 1078.41 - - 9179.44 - - 9706.62 - - 652.4 - - 712.22 - - 949.42 - - 1198.83 - - 759.31 - - 927.48 - - 3837.42 - - 3837.42 - - 527.93 - - 738.82 - - 316.18 - - 422.57 - - 454.73 - - 454.73 - - 3384.84 - - 3384.84 - - 541.01 - - 717.46 - - 906.16 - - 906.16 - - 437.49 - - 556.68 - - 1355.06 - - 1355.06 - - 2518.14 - - 3019.08 - - 3262.11 - - 3945.61 - - 3018.14 - - 3554.04 - - 7595.78 - - 7595.78 - - 8476.07 - - 10448.66 - - 8258.54 - - 10548.47 - - 5960.21 - - 6688.79 - - 19294.85 - - 25807.35 - - 1973.23 - - 2601.99 - - 1805.62 - - 2152.51 - - 1053.23 - - 1294.96 - - 5033.19 - - 5985.75 - - 1304.99 - - 1671.49 - - 1039.04 - - 1153.3 - - 311.97 - - 311.97 - - 223.09 - - 446.18 - - 1274.22 - - 1368.62 - - 1727.11 - - 1943.0 - - 1324.48 - - 1749.62 - - 2185.98 - - 2185.98 - dimensionHeaders: - - headerGroups: - - headers: - - attributeHeader: - labelValue: Northeast - primaryLabelValue: Northeast - - attributeHeader: - labelValue: Northeast - primaryLabelValue: Northeast - - attributeHeader: - labelValue: Northeast - primaryLabelValue: Northeast - - attributeHeader: - labelValue: Northeast - primaryLabelValue: Northeast - - attributeHeader: - labelValue: Northeast - primaryLabelValue: Northeast - - attributeHeader: - labelValue: Northeast - primaryLabelValue: Northeast - - attributeHeader: - labelValue: Northeast - primaryLabelValue: Northeast - - attributeHeader: - labelValue: Northeast - primaryLabelValue: Northeast - - attributeHeader: - labelValue: Northeast - primaryLabelValue: Northeast - - attributeHeader: - labelValue: Northeast - primaryLabelValue: Northeast - - attributeHeader: - labelValue: Northeast - primaryLabelValue: Northeast - - attributeHeader: - labelValue: Northeast - primaryLabelValue: Northeast - - attributeHeader: - labelValue: Northeast - primaryLabelValue: Northeast - - attributeHeader: - labelValue: Northeast - primaryLabelValue: Northeast - - attributeHeader: - labelValue: Northeast - primaryLabelValue: Northeast - - attributeHeader: - labelValue: Northeast - primaryLabelValue: Northeast - - attributeHeader: - labelValue: Northeast - primaryLabelValue: Northeast - - attributeHeader: - labelValue: Northeast - primaryLabelValue: Northeast - - attributeHeader: - labelValue: Northeast - primaryLabelValue: Northeast - - attributeHeader: - labelValue: Northeast - primaryLabelValue: Northeast - - attributeHeader: - labelValue: Northeast - primaryLabelValue: Northeast - - attributeHeader: - labelValue: Northeast - primaryLabelValue: Northeast - - attributeHeader: - labelValue: Northeast - primaryLabelValue: Northeast - - attributeHeader: - labelValue: Northeast - primaryLabelValue: Northeast - - attributeHeader: - labelValue: Northeast - primaryLabelValue: Northeast - - attributeHeader: - labelValue: Northeast - primaryLabelValue: Northeast - - attributeHeader: - labelValue: Northeast - primaryLabelValue: Northeast - - attributeHeader: - labelValue: Northeast - primaryLabelValue: Northeast - - attributeHeader: - labelValue: Northeast - primaryLabelValue: Northeast - - attributeHeader: - labelValue: Northeast - primaryLabelValue: Northeast - - attributeHeader: - labelValue: Northeast - primaryLabelValue: Northeast - - attributeHeader: - labelValue: Northeast - primaryLabelValue: Northeast - - attributeHeader: - labelValue: Northeast - primaryLabelValue: Northeast - - attributeHeader: - labelValue: Northeast - primaryLabelValue: Northeast - - attributeHeader: - labelValue: Northeast - primaryLabelValue: Northeast - - attributeHeader: - labelValue: Northeast - primaryLabelValue: Northeast - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - attributeHeader: - labelValue: South - primaryLabelValue: South - - headers: - - attributeHeader: - labelValue: Massachusetts - primaryLabelValue: Massachusetts - - attributeHeader: - labelValue: Massachusetts - primaryLabelValue: Massachusetts - - attributeHeader: - labelValue: Massachusetts - primaryLabelValue: Massachusetts - - attributeHeader: - labelValue: Massachusetts - primaryLabelValue: Massachusetts - - attributeHeader: - labelValue: Massachusetts - primaryLabelValue: Massachusetts - - attributeHeader: - labelValue: Massachusetts - primaryLabelValue: Massachusetts - - attributeHeader: - labelValue: Massachusetts - primaryLabelValue: Massachusetts - - attributeHeader: - labelValue: Massachusetts - primaryLabelValue: Massachusetts - - attributeHeader: - labelValue: New Hampshire - primaryLabelValue: New Hampshire - - attributeHeader: - labelValue: New Hampshire - primaryLabelValue: New Hampshire - - attributeHeader: - labelValue: New Hampshire - primaryLabelValue: New Hampshire - - attributeHeader: - labelValue: New Hampshire - primaryLabelValue: New Hampshire - - attributeHeader: - labelValue: New Jersey - primaryLabelValue: New Jersey - - attributeHeader: - labelValue: New Jersey - primaryLabelValue: New Jersey - - attributeHeader: - labelValue: New Jersey - primaryLabelValue: New Jersey - - attributeHeader: - labelValue: New Jersey - primaryLabelValue: New Jersey - - attributeHeader: - labelValue: New Jersey - primaryLabelValue: New Jersey - - attributeHeader: - labelValue: New Jersey - primaryLabelValue: New Jersey - - attributeHeader: - labelValue: New Jersey - primaryLabelValue: New Jersey - - attributeHeader: - labelValue: New Jersey - primaryLabelValue: New Jersey - - attributeHeader: - labelValue: New York - primaryLabelValue: New York - - attributeHeader: - labelValue: New York - primaryLabelValue: New York - - attributeHeader: - labelValue: New York - primaryLabelValue: New York - - attributeHeader: - labelValue: New York - primaryLabelValue: New York - - attributeHeader: - labelValue: New York - primaryLabelValue: New York - - attributeHeader: - labelValue: New York - primaryLabelValue: New York - - attributeHeader: - labelValue: New York - primaryLabelValue: New York - - attributeHeader: - labelValue: New York - primaryLabelValue: New York - - attributeHeader: - labelValue: Pennsylvania - primaryLabelValue: Pennsylvania - - attributeHeader: - labelValue: Pennsylvania - primaryLabelValue: Pennsylvania - - attributeHeader: - labelValue: Pennsylvania - primaryLabelValue: Pennsylvania - - attributeHeader: - labelValue: Pennsylvania - primaryLabelValue: Pennsylvania - - attributeHeader: - labelValue: Pennsylvania - primaryLabelValue: Pennsylvania - - attributeHeader: - labelValue: Pennsylvania - primaryLabelValue: Pennsylvania - - attributeHeader: - labelValue: Pennsylvania - primaryLabelValue: Pennsylvania - - attributeHeader: - labelValue: Pennsylvania - primaryLabelValue: Pennsylvania - - attributeHeader: - labelValue: Alabama - primaryLabelValue: Alabama - - attributeHeader: - labelValue: Alabama - primaryLabelValue: Alabama - - attributeHeader: - labelValue: Alabama - primaryLabelValue: Alabama - - attributeHeader: - labelValue: Alabama - primaryLabelValue: Alabama - - attributeHeader: - labelValue: Alabama - primaryLabelValue: Alabama - - attributeHeader: - labelValue: Alabama - primaryLabelValue: Alabama - - attributeHeader: - labelValue: Alabama - primaryLabelValue: Alabama - - attributeHeader: - labelValue: Alabama - primaryLabelValue: Alabama - - attributeHeader: - labelValue: Arkansas - primaryLabelValue: Arkansas - - attributeHeader: - labelValue: Arkansas - primaryLabelValue: Arkansas - - attributeHeader: - labelValue: Arkansas - primaryLabelValue: Arkansas - - attributeHeader: - labelValue: Arkansas - primaryLabelValue: Arkansas - - attributeHeader: - labelValue: Arkansas - primaryLabelValue: Arkansas - - attributeHeader: - labelValue: Arkansas - primaryLabelValue: Arkansas - - attributeHeader: - labelValue: Arkansas - primaryLabelValue: Arkansas - - attributeHeader: - labelValue: Arkansas - primaryLabelValue: Arkansas - - attributeHeader: - labelValue: Delaware - primaryLabelValue: Delaware - - attributeHeader: - labelValue: Delaware - primaryLabelValue: Delaware - - attributeHeader: - labelValue: Delaware - primaryLabelValue: Delaware - - attributeHeader: - labelValue: Delaware - primaryLabelValue: Delaware - - attributeHeader: - labelValue: Delaware - primaryLabelValue: Delaware - - attributeHeader: - labelValue: Delaware - primaryLabelValue: Delaware - - attributeHeader: - labelValue: Delaware - primaryLabelValue: Delaware - - attributeHeader: - labelValue: Delaware - primaryLabelValue: Delaware - - attributeHeader: - labelValue: District of Columbia - primaryLabelValue: District of Columbia - - attributeHeader: - labelValue: District of Columbia - primaryLabelValue: District of Columbia - - attributeHeader: - labelValue: District of Columbia - primaryLabelValue: District of Columbia - - attributeHeader: - labelValue: District of Columbia - primaryLabelValue: District of Columbia - - attributeHeader: - labelValue: District of Columbia - primaryLabelValue: District of Columbia - - attributeHeader: - labelValue: District of Columbia - primaryLabelValue: District of Columbia - - attributeHeader: - labelValue: District of Columbia - primaryLabelValue: District of Columbia - - attributeHeader: - labelValue: District of Columbia - primaryLabelValue: District of Columbia - - attributeHeader: - labelValue: Florida - primaryLabelValue: Florida - - attributeHeader: - labelValue: Florida - primaryLabelValue: Florida - - attributeHeader: - labelValue: Florida - primaryLabelValue: Florida - - attributeHeader: - labelValue: Florida - primaryLabelValue: Florida - - attributeHeader: - labelValue: Florida - primaryLabelValue: Florida - - attributeHeader: - labelValue: Florida - primaryLabelValue: Florida - - attributeHeader: - labelValue: Florida - primaryLabelValue: Florida - - attributeHeader: - labelValue: Florida - primaryLabelValue: Florida - - attributeHeader: - labelValue: Georgia - primaryLabelValue: Georgia - - attributeHeader: - labelValue: Georgia - primaryLabelValue: Georgia - - attributeHeader: - labelValue: Georgia - primaryLabelValue: Georgia - - attributeHeader: - labelValue: Georgia - primaryLabelValue: Georgia - - attributeHeader: - labelValue: Georgia - primaryLabelValue: Georgia - - attributeHeader: - labelValue: Georgia - primaryLabelValue: Georgia - - attributeHeader: - labelValue: Georgia - primaryLabelValue: Georgia - - attributeHeader: - labelValue: Georgia - primaryLabelValue: Georgia - - attributeHeader: - labelValue: Kentucky - primaryLabelValue: Kentucky - - attributeHeader: - labelValue: Kentucky - primaryLabelValue: Kentucky - - attributeHeader: - labelValue: Kentucky - primaryLabelValue: Kentucky - - attributeHeader: - labelValue: Kentucky - primaryLabelValue: Kentucky - - attributeHeader: - labelValue: Kentucky - primaryLabelValue: Kentucky - - attributeHeader: - labelValue: Kentucky - primaryLabelValue: Kentucky - - attributeHeader: - labelValue: Kentucky - primaryLabelValue: Kentucky - - attributeHeader: - labelValue: Kentucky - primaryLabelValue: Kentucky - - attributeHeader: - labelValue: Louisiana - primaryLabelValue: Louisiana - - attributeHeader: - labelValue: Louisiana - primaryLabelValue: Louisiana - - attributeHeader: - labelValue: Louisiana - primaryLabelValue: Louisiana - - attributeHeader: - labelValue: Louisiana - primaryLabelValue: Louisiana - - attributeHeader: - labelValue: Louisiana - primaryLabelValue: Louisiana - - attributeHeader: - labelValue: Louisiana - primaryLabelValue: Louisiana - - attributeHeader: - labelValue: Louisiana - primaryLabelValue: Louisiana - - attributeHeader: - labelValue: Louisiana - primaryLabelValue: Louisiana - - headers: - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Electronics - primaryLabelValue: Electronics - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Home - primaryLabelValue: Home - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - headers: - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - - measureHeader: - measureIndex: 0 - - measureHeader: - measureIndex: 1 - grandTotals: [] - paging: - count: - - 100 - offset: - - 100 - total: - - 364 - - request: - method: GET - uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/02c57cb552d3803900144e2f6d747c2326c4c2d5?offset=200&limit=100 - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - br, gzip, deflate - X-GDC-VALIDATE-RELATIONS: - - 'true' - X-Requested-With: - - XMLHttpRequest - response: - status: - code: 200 - message: OK - headers: - Access-Control-Allow-Credentials: - - 'true' - Access-Control-Expose-Headers: - - Content-Disposition, Content-Length, Content-Range, Set-Cookie - Cache-Control: - - no-cache, no-store, max-age=0, must-revalidate - Connection: - - keep-alive - Content-Security-Policy: - - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' - ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com - src.litix.io matomo.anywhere.gooddata.com *.jquery.com unpkg.com cdn.jsdelivr.net - cdnjs.cloudflare.com; img-src ''self'' data: blob: *.wistia.com *.wistia.net - *.hsforms.net *.hsforms.com embedwistia-a.akamaihd.net privacy-policy.truste.com - www.gooddata.com; style-src ''self'' ''unsafe-inline'' fonts.googleapis.com - cdn.jsdelivr.net fast.fonts.net; font-src ''self'' data: fonts.gstatic.com - *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src - ''self'' *.hsforms.net *.hsforms.com; object-src ''none''; worker-src - ''self'' blob:; child-src blob:; connect-src ''self'' *.tiles.mapbox.com - *.mapbox.com *.litix.io *.wistia.com *.hsforms.net *.hsforms.com embedwistia-a.akamaihd.net - matomo.anywhere.gooddata.com; media-src ''self'' blob: data: *.wistia.com - *.wistia.net embedwistia-a.akamaihd.net' - Content-Type: - - application/json - DATE: *id001 - Expires: - - '0' - GoodData-Deployment: - - aio - Permission-Policy: - - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera - 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment - 'none'; - Pragma: - - no-cache - Referrer-Policy: - - no-referrer - Server: - - nginx - Set-Cookie: - - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 - GMT; HttpOnly; SameSite=Lax - Transfer-Encoding: - - chunked - Vary: - - Origin - - Access-Control-Request-Method - - Access-Control-Request-Headers - X-Content-Type-Options: - - nosniff - X-GDC-TRACE-ID: *id001 - X-XSS-Protection: - - 1 ; mode=block - content-length: - - '27223' - body: - string: - data: + - 955.93 + - 1055.56 + - 1051.5 + - 1729.45 + - 418.92 + - 418.92 + - 1624.52 + - 1624.52 + - 220.46 + - 360.16 + - 161.73 + - 161.73 + - 1007.04 + - 1129.66 + - 537.52 + - 725.32 + - 356.46 + - 356.46 + - 231.84 + - 231.84 + - 5004.64 + - 6162.98 + - 4631.73 + - 6433.78 + - 3316.02 + - 3995.11 + - 8734.63 + - 13727.01 + - 1677.18 + - 2310.61 + - 1746.76 + - 2306.18 + - 952.05 + - 1078.41 + - 9179.44 + - 9706.62 + - 652.4 + - 712.22 + - 949.42 + - 1198.83 + - 759.31 + - 927.48 + - 3837.42 + - 3837.42 + - 527.93 + - 738.82 + - 316.18 + - 422.57 + - 454.73 + - 454.73 + - 3384.84 + - 3384.84 + - 541.01 + - 717.46 + - 906.16 + - 906.16 + - 437.49 + - 556.68 + - 1355.06 + - 1355.06 + - 2518.14 + - 3019.08 + - 3262.11 + - 3945.61 + - 3018.14 + - 3554.04 + - 7595.78 + - 7595.78 + - 8476.07 + - 10448.66 + - 8258.54 + - 10548.47 + - 5960.21 + - 6688.79 + - 19294.85 + - 25807.35 + - 1973.23 + - 2601.99 + - 1805.62 + - 2152.51 + - 1053.23 + - 1294.96 + - 5033.19 + - 5985.75 + - 1304.99 + - 1671.49 + - 1039.04 + - 1153.3 + - 311.97 + - 311.97 + - 223.09 + - 446.18 + - 1274.22 + - 1368.62 + - 1727.11 + - 1943.0 + - 1324.48 + - 1749.62 + - 2185.98 + - 2185.98 - 1558.28 - 1952.49 - 952.3 @@ -8024,611 +735,3051 @@ interactions: - 30393.45 - 1478.95 - 1514.89 + - 1839.72 + - 2325.39 + - 1030.04 + - 1366.28 + - 5663.31 + - 5663.31 + - 638.98 + - 893.14 + - 758.13 + - 758.13 + - 396.08 + - 396.08 + - 3426.72 + - 3426.72 + - 316.43 + - 454.71 + - 299.91 + - 383.62 + - 96.27 + - 178.1 + - 1128.03 + - 3384.09 + - 597.1 + - 701.11 + - 596.79 + - 596.79 + - 190.5 + - 373.65 + - 739.23 + - 969.9 + - 567.73 + - 893.17 + - 137.81 + - 172.97 + - 462.58 + - 523.96 + - 540.36 + - 540.36 + - 326.03 + - 440.93 + - 1213.9 + - 1575.07 + - 676.67 + - 1173.63 + - 801.92 + - 801.92 + - 1772.62 + - 2074.55 + - 1069.48 + - 1394.01 + - 1244.55 + - 1429.29 + - 835.05 + - 835.05 + - 5211.52 + - 6042.93 + - 978.06 + - 1225.73 + - 925.18 + - 1010.03 + - 528.25 + - 973.49 + - 3787.89 + - 4246.86 dimensionHeaders: - headerGroups: - headers: - attributeHeader: - labelValue: South - primaryLabelValue: South + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: Unknown + primaryLabelValue: Unknown + - attributeHeader: + labelValue: Unknown + primaryLabelValue: Unknown + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - headers: + - attributeHeader: + labelValue: Illinois + primaryLabelValue: Illinois + - attributeHeader: + labelValue: Illinois + primaryLabelValue: Illinois + - attributeHeader: + labelValue: Illinois + primaryLabelValue: Illinois + - attributeHeader: + labelValue: Illinois + primaryLabelValue: Illinois + - attributeHeader: + labelValue: Illinois + primaryLabelValue: Illinois + - attributeHeader: + labelValue: Illinois + primaryLabelValue: Illinois + - attributeHeader: + labelValue: Illinois + primaryLabelValue: Illinois + - attributeHeader: + labelValue: Illinois + primaryLabelValue: Illinois + - attributeHeader: + labelValue: Indiana + primaryLabelValue: Indiana + - attributeHeader: + labelValue: Indiana + primaryLabelValue: Indiana + - attributeHeader: + labelValue: Indiana + primaryLabelValue: Indiana + - attributeHeader: + labelValue: Indiana + primaryLabelValue: Indiana + - attributeHeader: + labelValue: Indiana + primaryLabelValue: Indiana + - attributeHeader: + labelValue: Indiana + primaryLabelValue: Indiana + - attributeHeader: + labelValue: Indiana + primaryLabelValue: Indiana + - attributeHeader: + labelValue: Indiana + primaryLabelValue: Indiana + - attributeHeader: + labelValue: Iowa + primaryLabelValue: Iowa + - attributeHeader: + labelValue: Iowa + primaryLabelValue: Iowa + - attributeHeader: + labelValue: Iowa + primaryLabelValue: Iowa + - attributeHeader: + labelValue: Iowa + primaryLabelValue: Iowa + - attributeHeader: + labelValue: Iowa + primaryLabelValue: Iowa + - attributeHeader: + labelValue: Iowa + primaryLabelValue: Iowa + - attributeHeader: + labelValue: Iowa + primaryLabelValue: Iowa + - attributeHeader: + labelValue: Iowa + primaryLabelValue: Iowa + - attributeHeader: + labelValue: Kansas + primaryLabelValue: Kansas + - attributeHeader: + labelValue: Kansas + primaryLabelValue: Kansas + - attributeHeader: + labelValue: Kansas + primaryLabelValue: Kansas + - attributeHeader: + labelValue: Kansas + primaryLabelValue: Kansas + - attributeHeader: + labelValue: Kansas + primaryLabelValue: Kansas + - attributeHeader: + labelValue: Kansas + primaryLabelValue: Kansas + - attributeHeader: + labelValue: Kansas + primaryLabelValue: Kansas + - attributeHeader: + labelValue: Kansas + primaryLabelValue: Kansas + - attributeHeader: + labelValue: Michigan + primaryLabelValue: Michigan + - attributeHeader: + labelValue: Michigan + primaryLabelValue: Michigan + - attributeHeader: + labelValue: Michigan + primaryLabelValue: Michigan + - attributeHeader: + labelValue: Michigan + primaryLabelValue: Michigan + - attributeHeader: + labelValue: Michigan + primaryLabelValue: Michigan + - attributeHeader: + labelValue: Michigan + primaryLabelValue: Michigan + - attributeHeader: + labelValue: Michigan + primaryLabelValue: Michigan + - attributeHeader: + labelValue: Michigan + primaryLabelValue: Michigan + - attributeHeader: + labelValue: Minnesota + primaryLabelValue: Minnesota + - attributeHeader: + labelValue: Minnesota + primaryLabelValue: Minnesota + - attributeHeader: + labelValue: Minnesota + primaryLabelValue: Minnesota + - attributeHeader: + labelValue: Minnesota + primaryLabelValue: Minnesota + - attributeHeader: + labelValue: Minnesota + primaryLabelValue: Minnesota + - attributeHeader: + labelValue: Minnesota + primaryLabelValue: Minnesota + - attributeHeader: + labelValue: Minnesota + primaryLabelValue: Minnesota + - attributeHeader: + labelValue: Minnesota + primaryLabelValue: Minnesota + - attributeHeader: + labelValue: Missouri + primaryLabelValue: Missouri + - attributeHeader: + labelValue: Missouri + primaryLabelValue: Missouri + - attributeHeader: + labelValue: Missouri + primaryLabelValue: Missouri + - attributeHeader: + labelValue: Missouri + primaryLabelValue: Missouri + - attributeHeader: + labelValue: Missouri + primaryLabelValue: Missouri + - attributeHeader: + labelValue: Missouri + primaryLabelValue: Missouri + - attributeHeader: + labelValue: Missouri + primaryLabelValue: Missouri + - attributeHeader: + labelValue: Missouri + primaryLabelValue: Missouri + - attributeHeader: + labelValue: Nebraska + primaryLabelValue: Nebraska + - attributeHeader: + labelValue: Nebraska + primaryLabelValue: Nebraska + - attributeHeader: + labelValue: Nebraska + primaryLabelValue: Nebraska + - attributeHeader: + labelValue: Nebraska + primaryLabelValue: Nebraska + - attributeHeader: + labelValue: Nebraska + primaryLabelValue: Nebraska + - attributeHeader: + labelValue: Nebraska + primaryLabelValue: Nebraska + - attributeHeader: + labelValue: Nebraska + primaryLabelValue: Nebraska + - attributeHeader: + labelValue: Nebraska + primaryLabelValue: Nebraska + - attributeHeader: + labelValue: North Dakota + primaryLabelValue: North Dakota + - attributeHeader: + labelValue: North Dakota + primaryLabelValue: North Dakota + - attributeHeader: + labelValue: North Dakota + primaryLabelValue: North Dakota + - attributeHeader: + labelValue: North Dakota + primaryLabelValue: North Dakota + - attributeHeader: + labelValue: North Dakota + primaryLabelValue: North Dakota + - attributeHeader: + labelValue: North Dakota + primaryLabelValue: North Dakota + - attributeHeader: + labelValue: Ohio + primaryLabelValue: Ohio + - attributeHeader: + labelValue: Ohio + primaryLabelValue: Ohio + - attributeHeader: + labelValue: Ohio + primaryLabelValue: Ohio + - attributeHeader: + labelValue: Ohio + primaryLabelValue: Ohio + - attributeHeader: + labelValue: Ohio + primaryLabelValue: Ohio + - attributeHeader: + labelValue: Ohio + primaryLabelValue: Ohio + - attributeHeader: + labelValue: Ohio + primaryLabelValue: Ohio + - attributeHeader: + labelValue: Ohio + primaryLabelValue: Ohio + - attributeHeader: + labelValue: South Dakota + primaryLabelValue: South Dakota + - attributeHeader: + labelValue: South Dakota + primaryLabelValue: South Dakota + - attributeHeader: + labelValue: South Dakota + primaryLabelValue: South Dakota + - attributeHeader: + labelValue: South Dakota + primaryLabelValue: South Dakota + - attributeHeader: + labelValue: South Dakota + primaryLabelValue: South Dakota + - attributeHeader: + labelValue: South Dakota + primaryLabelValue: South Dakota + - attributeHeader: + labelValue: Wisconsin + primaryLabelValue: Wisconsin + - attributeHeader: + labelValue: Wisconsin + primaryLabelValue: Wisconsin + - attributeHeader: + labelValue: Wisconsin + primaryLabelValue: Wisconsin + - attributeHeader: + labelValue: Wisconsin + primaryLabelValue: Wisconsin + - attributeHeader: + labelValue: Wisconsin + primaryLabelValue: Wisconsin + - attributeHeader: + labelValue: Wisconsin + primaryLabelValue: Wisconsin + - attributeHeader: + labelValue: Wisconsin + primaryLabelValue: Wisconsin + - attributeHeader: + labelValue: Wisconsin + primaryLabelValue: Wisconsin + - attributeHeader: + labelValue: Connecticut + primaryLabelValue: Connecticut + - attributeHeader: + labelValue: Connecticut + primaryLabelValue: Connecticut + - attributeHeader: + labelValue: Connecticut + primaryLabelValue: Connecticut + - attributeHeader: + labelValue: Connecticut + primaryLabelValue: Connecticut + - attributeHeader: + labelValue: Connecticut + primaryLabelValue: Connecticut + - attributeHeader: + labelValue: Connecticut + primaryLabelValue: Connecticut + - attributeHeader: + labelValue: Connecticut + primaryLabelValue: Connecticut + - attributeHeader: + labelValue: Connecticut + primaryLabelValue: Connecticut + - attributeHeader: + labelValue: Massachusetts + primaryLabelValue: Massachusetts + - attributeHeader: + labelValue: Massachusetts + primaryLabelValue: Massachusetts + - attributeHeader: + labelValue: Massachusetts + primaryLabelValue: Massachusetts + - attributeHeader: + labelValue: Massachusetts + primaryLabelValue: Massachusetts + - attributeHeader: + labelValue: Massachusetts + primaryLabelValue: Massachusetts + - attributeHeader: + labelValue: Massachusetts + primaryLabelValue: Massachusetts + - attributeHeader: + labelValue: Massachusetts + primaryLabelValue: Massachusetts + - attributeHeader: + labelValue: Massachusetts + primaryLabelValue: Massachusetts + - attributeHeader: + labelValue: New Hampshire + primaryLabelValue: New Hampshire + - attributeHeader: + labelValue: New Hampshire + primaryLabelValue: New Hampshire + - attributeHeader: + labelValue: New Hampshire + primaryLabelValue: New Hampshire + - attributeHeader: + labelValue: New Hampshire + primaryLabelValue: New Hampshire + - attributeHeader: + labelValue: New Jersey + primaryLabelValue: New Jersey + - attributeHeader: + labelValue: New Jersey + primaryLabelValue: New Jersey + - attributeHeader: + labelValue: New Jersey + primaryLabelValue: New Jersey + - attributeHeader: + labelValue: New Jersey + primaryLabelValue: New Jersey + - attributeHeader: + labelValue: New Jersey + primaryLabelValue: New Jersey + - attributeHeader: + labelValue: New Jersey + primaryLabelValue: New Jersey + - attributeHeader: + labelValue: New Jersey + primaryLabelValue: New Jersey + - attributeHeader: + labelValue: New Jersey + primaryLabelValue: New Jersey + - attributeHeader: + labelValue: New York + primaryLabelValue: New York + - attributeHeader: + labelValue: New York + primaryLabelValue: New York + - attributeHeader: + labelValue: New York + primaryLabelValue: New York + - attributeHeader: + labelValue: New York + primaryLabelValue: New York + - attributeHeader: + labelValue: New York + primaryLabelValue: New York + - attributeHeader: + labelValue: New York + primaryLabelValue: New York + - attributeHeader: + labelValue: New York + primaryLabelValue: New York + - attributeHeader: + labelValue: New York + primaryLabelValue: New York + - attributeHeader: + labelValue: Pennsylvania + primaryLabelValue: Pennsylvania + - attributeHeader: + labelValue: Pennsylvania + primaryLabelValue: Pennsylvania + - attributeHeader: + labelValue: Pennsylvania + primaryLabelValue: Pennsylvania + - attributeHeader: + labelValue: Pennsylvania + primaryLabelValue: Pennsylvania + - attributeHeader: + labelValue: Pennsylvania + primaryLabelValue: Pennsylvania + - attributeHeader: + labelValue: Pennsylvania + primaryLabelValue: Pennsylvania + - attributeHeader: + labelValue: Pennsylvania + primaryLabelValue: Pennsylvania + - attributeHeader: + labelValue: Pennsylvania + primaryLabelValue: Pennsylvania + - attributeHeader: + labelValue: Alabama + primaryLabelValue: Alabama + - attributeHeader: + labelValue: Alabama + primaryLabelValue: Alabama + - attributeHeader: + labelValue: Alabama + primaryLabelValue: Alabama + - attributeHeader: + labelValue: Alabama + primaryLabelValue: Alabama + - attributeHeader: + labelValue: Alabama + primaryLabelValue: Alabama + - attributeHeader: + labelValue: Alabama + primaryLabelValue: Alabama + - attributeHeader: + labelValue: Alabama + primaryLabelValue: Alabama + - attributeHeader: + labelValue: Alabama + primaryLabelValue: Alabama + - attributeHeader: + labelValue: Arkansas + primaryLabelValue: Arkansas + - attributeHeader: + labelValue: Arkansas + primaryLabelValue: Arkansas + - attributeHeader: + labelValue: Arkansas + primaryLabelValue: Arkansas + - attributeHeader: + labelValue: Arkansas + primaryLabelValue: Arkansas + - attributeHeader: + labelValue: Arkansas + primaryLabelValue: Arkansas + - attributeHeader: + labelValue: Arkansas + primaryLabelValue: Arkansas + - attributeHeader: + labelValue: Arkansas + primaryLabelValue: Arkansas + - attributeHeader: + labelValue: Arkansas + primaryLabelValue: Arkansas + - attributeHeader: + labelValue: Delaware + primaryLabelValue: Delaware + - attributeHeader: + labelValue: Delaware + primaryLabelValue: Delaware + - attributeHeader: + labelValue: Delaware + primaryLabelValue: Delaware + - attributeHeader: + labelValue: Delaware + primaryLabelValue: Delaware + - attributeHeader: + labelValue: Delaware + primaryLabelValue: Delaware + - attributeHeader: + labelValue: Delaware + primaryLabelValue: Delaware + - attributeHeader: + labelValue: Delaware + primaryLabelValue: Delaware + - attributeHeader: + labelValue: Delaware + primaryLabelValue: Delaware + - attributeHeader: + labelValue: District of Columbia + primaryLabelValue: District of Columbia + - attributeHeader: + labelValue: District of Columbia + primaryLabelValue: District of Columbia + - attributeHeader: + labelValue: District of Columbia + primaryLabelValue: District of Columbia + - attributeHeader: + labelValue: District of Columbia + primaryLabelValue: District of Columbia + - attributeHeader: + labelValue: District of Columbia + primaryLabelValue: District of Columbia + - attributeHeader: + labelValue: District of Columbia + primaryLabelValue: District of Columbia + - attributeHeader: + labelValue: District of Columbia + primaryLabelValue: District of Columbia + - attributeHeader: + labelValue: District of Columbia + primaryLabelValue: District of Columbia + - attributeHeader: + labelValue: Florida + primaryLabelValue: Florida + - attributeHeader: + labelValue: Florida + primaryLabelValue: Florida + - attributeHeader: + labelValue: Florida + primaryLabelValue: Florida + - attributeHeader: + labelValue: Florida + primaryLabelValue: Florida + - attributeHeader: + labelValue: Florida + primaryLabelValue: Florida + - attributeHeader: + labelValue: Florida + primaryLabelValue: Florida + - attributeHeader: + labelValue: Florida + primaryLabelValue: Florida + - attributeHeader: + labelValue: Florida + primaryLabelValue: Florida + - attributeHeader: + labelValue: Georgia + primaryLabelValue: Georgia + - attributeHeader: + labelValue: Georgia + primaryLabelValue: Georgia + - attributeHeader: + labelValue: Georgia + primaryLabelValue: Georgia + - attributeHeader: + labelValue: Georgia + primaryLabelValue: Georgia + - attributeHeader: + labelValue: Georgia + primaryLabelValue: Georgia + - attributeHeader: + labelValue: Georgia + primaryLabelValue: Georgia + - attributeHeader: + labelValue: Georgia + primaryLabelValue: Georgia + - attributeHeader: + labelValue: Georgia + primaryLabelValue: Georgia + - attributeHeader: + labelValue: Kentucky + primaryLabelValue: Kentucky + - attributeHeader: + labelValue: Kentucky + primaryLabelValue: Kentucky + - attributeHeader: + labelValue: Kentucky + primaryLabelValue: Kentucky + - attributeHeader: + labelValue: Kentucky + primaryLabelValue: Kentucky + - attributeHeader: + labelValue: Kentucky + primaryLabelValue: Kentucky + - attributeHeader: + labelValue: Kentucky + primaryLabelValue: Kentucky + - attributeHeader: + labelValue: Kentucky + primaryLabelValue: Kentucky + - attributeHeader: + labelValue: Kentucky + primaryLabelValue: Kentucky + - attributeHeader: + labelValue: Louisiana + primaryLabelValue: Louisiana + - attributeHeader: + labelValue: Louisiana + primaryLabelValue: Louisiana + - attributeHeader: + labelValue: Louisiana + primaryLabelValue: Louisiana + - attributeHeader: + labelValue: Louisiana + primaryLabelValue: Louisiana + - attributeHeader: + labelValue: Louisiana + primaryLabelValue: Louisiana + - attributeHeader: + labelValue: Louisiana + primaryLabelValue: Louisiana + - attributeHeader: + labelValue: Louisiana + primaryLabelValue: Louisiana + - attributeHeader: + labelValue: Louisiana + primaryLabelValue: Louisiana + - attributeHeader: + labelValue: Maryland + primaryLabelValue: Maryland + - attributeHeader: + labelValue: Maryland + primaryLabelValue: Maryland + - attributeHeader: + labelValue: Maryland + primaryLabelValue: Maryland + - attributeHeader: + labelValue: Maryland + primaryLabelValue: Maryland + - attributeHeader: + labelValue: Maryland + primaryLabelValue: Maryland + - attributeHeader: + labelValue: Maryland + primaryLabelValue: Maryland + - attributeHeader: + labelValue: Maryland + primaryLabelValue: Maryland + - attributeHeader: + labelValue: Maryland + primaryLabelValue: Maryland + - attributeHeader: + labelValue: Mississippi + primaryLabelValue: Mississippi + - attributeHeader: + labelValue: Mississippi + primaryLabelValue: Mississippi + - attributeHeader: + labelValue: Mississippi + primaryLabelValue: Mississippi + - attributeHeader: + labelValue: Mississippi + primaryLabelValue: Mississippi + - attributeHeader: + labelValue: Mississippi + primaryLabelValue: Mississippi + - attributeHeader: + labelValue: Mississippi + primaryLabelValue: Mississippi + - attributeHeader: + labelValue: Mississippi + primaryLabelValue: Mississippi + - attributeHeader: + labelValue: Mississippi + primaryLabelValue: Mississippi + - attributeHeader: + labelValue: North Carolina + primaryLabelValue: North Carolina + - attributeHeader: + labelValue: North Carolina + primaryLabelValue: North Carolina + - attributeHeader: + labelValue: North Carolina + primaryLabelValue: North Carolina + - attributeHeader: + labelValue: North Carolina + primaryLabelValue: North Carolina + - attributeHeader: + labelValue: North Carolina + primaryLabelValue: North Carolina + - attributeHeader: + labelValue: North Carolina + primaryLabelValue: North Carolina + - attributeHeader: + labelValue: North Carolina + primaryLabelValue: North Carolina + - attributeHeader: + labelValue: North Carolina + primaryLabelValue: North Carolina + - attributeHeader: + labelValue: Oklahoma + primaryLabelValue: Oklahoma + - attributeHeader: + labelValue: Oklahoma + primaryLabelValue: Oklahoma + - attributeHeader: + labelValue: Oklahoma + primaryLabelValue: Oklahoma + - attributeHeader: + labelValue: Oklahoma + primaryLabelValue: Oklahoma + - attributeHeader: + labelValue: Oklahoma + primaryLabelValue: Oklahoma + - attributeHeader: + labelValue: Oklahoma + primaryLabelValue: Oklahoma + - attributeHeader: + labelValue: Oklahoma + primaryLabelValue: Oklahoma + - attributeHeader: + labelValue: Oklahoma + primaryLabelValue: Oklahoma + - attributeHeader: + labelValue: South Carolina + primaryLabelValue: South Carolina + - attributeHeader: + labelValue: South Carolina + primaryLabelValue: South Carolina + - attributeHeader: + labelValue: South Carolina + primaryLabelValue: South Carolina + - attributeHeader: + labelValue: South Carolina + primaryLabelValue: South Carolina + - attributeHeader: + labelValue: South Carolina + primaryLabelValue: South Carolina + - attributeHeader: + labelValue: South Carolina + primaryLabelValue: South Carolina + - attributeHeader: + labelValue: South Carolina + primaryLabelValue: South Carolina + - attributeHeader: + labelValue: South Carolina + primaryLabelValue: South Carolina + - attributeHeader: + labelValue: Tennessee + primaryLabelValue: Tennessee + - attributeHeader: + labelValue: Tennessee + primaryLabelValue: Tennessee + - attributeHeader: + labelValue: Tennessee + primaryLabelValue: Tennessee + - attributeHeader: + labelValue: Tennessee + primaryLabelValue: Tennessee + - attributeHeader: + labelValue: Tennessee + primaryLabelValue: Tennessee + - attributeHeader: + labelValue: Tennessee + primaryLabelValue: Tennessee + - attributeHeader: + labelValue: Tennessee + primaryLabelValue: Tennessee + - attributeHeader: + labelValue: Tennessee + primaryLabelValue: Tennessee + - attributeHeader: + labelValue: Texas + primaryLabelValue: Texas + - attributeHeader: + labelValue: Texas + primaryLabelValue: Texas + - attributeHeader: + labelValue: Texas + primaryLabelValue: Texas + - attributeHeader: + labelValue: Texas + primaryLabelValue: Texas + - attributeHeader: + labelValue: Texas + primaryLabelValue: Texas + - attributeHeader: + labelValue: Texas + primaryLabelValue: Texas + - attributeHeader: + labelValue: Texas + primaryLabelValue: Texas + - attributeHeader: + labelValue: Texas + primaryLabelValue: Texas + - attributeHeader: + labelValue: Virginia + primaryLabelValue: Virginia + - attributeHeader: + labelValue: Virginia + primaryLabelValue: Virginia + - attributeHeader: + labelValue: Virginia + primaryLabelValue: Virginia + - attributeHeader: + labelValue: Virginia + primaryLabelValue: Virginia + - attributeHeader: + labelValue: Virginia + primaryLabelValue: Virginia + - attributeHeader: + labelValue: Virginia + primaryLabelValue: Virginia + - attributeHeader: + labelValue: Virginia + primaryLabelValue: Virginia + - attributeHeader: + labelValue: Virginia + primaryLabelValue: Virginia + - attributeHeader: + labelValue: West Virginia + primaryLabelValue: West Virginia + - attributeHeader: + labelValue: West Virginia + primaryLabelValue: West Virginia + - attributeHeader: + labelValue: West Virginia + primaryLabelValue: West Virginia + - attributeHeader: + labelValue: West Virginia + primaryLabelValue: West Virginia + - attributeHeader: + labelValue: West Virginia + primaryLabelValue: West Virginia + - attributeHeader: + labelValue: West Virginia + primaryLabelValue: West Virginia + - attributeHeader: + labelValue: West Virginia + primaryLabelValue: West Virginia + - attributeHeader: + labelValue: West Virginia + primaryLabelValue: West Virginia + - attributeHeader: + labelValue: Rhode Island + primaryLabelValue: Rhode Island + - attributeHeader: + labelValue: Rhode Island + primaryLabelValue: Rhode Island + - attributeHeader: + labelValue: AK + primaryLabelValue: AK + - attributeHeader: + labelValue: AK + primaryLabelValue: AK + - attributeHeader: + labelValue: AK + primaryLabelValue: AK + - attributeHeader: + labelValue: AK + primaryLabelValue: AK + - attributeHeader: + labelValue: AK + primaryLabelValue: AK + - attributeHeader: + labelValue: AK + primaryLabelValue: AK + - attributeHeader: + labelValue: AK + primaryLabelValue: AK + - attributeHeader: + labelValue: AK + primaryLabelValue: AK + - attributeHeader: + labelValue: Arizona + primaryLabelValue: Arizona + - attributeHeader: + labelValue: Arizona + primaryLabelValue: Arizona + - attributeHeader: + labelValue: Arizona + primaryLabelValue: Arizona + - attributeHeader: + labelValue: Arizona + primaryLabelValue: Arizona + - attributeHeader: + labelValue: Arizona + primaryLabelValue: Arizona + - attributeHeader: + labelValue: Arizona + primaryLabelValue: Arizona + - attributeHeader: + labelValue: Arizona + primaryLabelValue: Arizona + - attributeHeader: + labelValue: Arizona + primaryLabelValue: Arizona + - attributeHeader: + labelValue: California + primaryLabelValue: California + - attributeHeader: + labelValue: California + primaryLabelValue: California + - attributeHeader: + labelValue: California + primaryLabelValue: California + - attributeHeader: + labelValue: California + primaryLabelValue: California + - attributeHeader: + labelValue: California + primaryLabelValue: California + - attributeHeader: + labelValue: California + primaryLabelValue: California + - attributeHeader: + labelValue: California + primaryLabelValue: California + - attributeHeader: + labelValue: California + primaryLabelValue: California + - attributeHeader: + labelValue: Colorado + primaryLabelValue: Colorado + - attributeHeader: + labelValue: Colorado + primaryLabelValue: Colorado + - attributeHeader: + labelValue: Colorado + primaryLabelValue: Colorado + - attributeHeader: + labelValue: Colorado + primaryLabelValue: Colorado + - attributeHeader: + labelValue: Colorado + primaryLabelValue: Colorado + - attributeHeader: + labelValue: Colorado + primaryLabelValue: Colorado + - attributeHeader: + labelValue: Colorado + primaryLabelValue: Colorado + - attributeHeader: + labelValue: Colorado + primaryLabelValue: Colorado + - attributeHeader: + labelValue: Hawaii + primaryLabelValue: Hawaii + - attributeHeader: + labelValue: Hawaii + primaryLabelValue: Hawaii + - attributeHeader: + labelValue: Hawaii + primaryLabelValue: Hawaii + - attributeHeader: + labelValue: Hawaii + primaryLabelValue: Hawaii + - attributeHeader: + labelValue: Hawaii + primaryLabelValue: Hawaii + - attributeHeader: + labelValue: Hawaii + primaryLabelValue: Hawaii + - attributeHeader: + labelValue: Hawaii + primaryLabelValue: Hawaii + - attributeHeader: + labelValue: Hawaii + primaryLabelValue: Hawaii + - attributeHeader: + labelValue: Idaho + primaryLabelValue: Idaho + - attributeHeader: + labelValue: Idaho + primaryLabelValue: Idaho + - attributeHeader: + labelValue: Idaho + primaryLabelValue: Idaho + - attributeHeader: + labelValue: Idaho + primaryLabelValue: Idaho + - attributeHeader: + labelValue: Idaho + primaryLabelValue: Idaho + - attributeHeader: + labelValue: Idaho + primaryLabelValue: Idaho + - attributeHeader: + labelValue: Idaho + primaryLabelValue: Idaho + - attributeHeader: + labelValue: Idaho + primaryLabelValue: Idaho + - attributeHeader: + labelValue: Montana + primaryLabelValue: Montana + - attributeHeader: + labelValue: Montana + primaryLabelValue: Montana + - attributeHeader: + labelValue: Montana + primaryLabelValue: Montana + - attributeHeader: + labelValue: Montana + primaryLabelValue: Montana + - attributeHeader: + labelValue: Montana + primaryLabelValue: Montana + - attributeHeader: + labelValue: Montana + primaryLabelValue: Montana + - attributeHeader: + labelValue: Nevada + primaryLabelValue: Nevada + - attributeHeader: + labelValue: Nevada + primaryLabelValue: Nevada + - attributeHeader: + labelValue: Nevada + primaryLabelValue: Nevada + - attributeHeader: + labelValue: Nevada + primaryLabelValue: Nevada + - attributeHeader: + labelValue: Nevada + primaryLabelValue: Nevada + - attributeHeader: + labelValue: Nevada + primaryLabelValue: Nevada + - attributeHeader: + labelValue: New Mexico + primaryLabelValue: New Mexico + - attributeHeader: + labelValue: New Mexico + primaryLabelValue: New Mexico + - attributeHeader: + labelValue: New Mexico + primaryLabelValue: New Mexico + - attributeHeader: + labelValue: New Mexico + primaryLabelValue: New Mexico + - attributeHeader: + labelValue: New Mexico + primaryLabelValue: New Mexico + - attributeHeader: + labelValue: New Mexico + primaryLabelValue: New Mexico + - attributeHeader: + labelValue: Oregon + primaryLabelValue: Oregon + - attributeHeader: + labelValue: Oregon + primaryLabelValue: Oregon + - attributeHeader: + labelValue: Oregon + primaryLabelValue: Oregon + - attributeHeader: + labelValue: Oregon + primaryLabelValue: Oregon + - attributeHeader: + labelValue: Oregon + primaryLabelValue: Oregon + - attributeHeader: + labelValue: Oregon + primaryLabelValue: Oregon + - attributeHeader: + labelValue: Oregon + primaryLabelValue: Oregon + - attributeHeader: + labelValue: Oregon + primaryLabelValue: Oregon + - attributeHeader: + labelValue: Utah + primaryLabelValue: Utah + - attributeHeader: + labelValue: Utah + primaryLabelValue: Utah + - attributeHeader: + labelValue: Utah + primaryLabelValue: Utah + - attributeHeader: + labelValue: Utah + primaryLabelValue: Utah + - attributeHeader: + labelValue: Utah + primaryLabelValue: Utah + - attributeHeader: + labelValue: Utah + primaryLabelValue: Utah + - attributeHeader: + labelValue: Utah + primaryLabelValue: Utah + - attributeHeader: + labelValue: Utah + primaryLabelValue: Utah + - attributeHeader: + labelValue: Washington + primaryLabelValue: Washington + - attributeHeader: + labelValue: Washington + primaryLabelValue: Washington + - attributeHeader: + labelValue: Washington + primaryLabelValue: Washington + - attributeHeader: + labelValue: Washington + primaryLabelValue: Washington + - attributeHeader: + labelValue: Washington + primaryLabelValue: Washington + - attributeHeader: + labelValue: Washington + primaryLabelValue: Washington + - attributeHeader: + labelValue: Washington + primaryLabelValue: Washington + - attributeHeader: + labelValue: Washington + primaryLabelValue: Washington + - headers: + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing - attributeHeader: - labelValue: South - primaryLabelValue: South + labelValue: Clothing + primaryLabelValue: Clothing - attributeHeader: - labelValue: South - primaryLabelValue: South + labelValue: Electronics + primaryLabelValue: Electronics - attributeHeader: - labelValue: South - primaryLabelValue: South + labelValue: Electronics + primaryLabelValue: Electronics - attributeHeader: - labelValue: South - primaryLabelValue: South + labelValue: Home + primaryLabelValue: Home - attributeHeader: - labelValue: South - primaryLabelValue: South + labelValue: Home + primaryLabelValue: Home - attributeHeader: - labelValue: South - primaryLabelValue: South + labelValue: Outdoor + primaryLabelValue: Outdoor - attributeHeader: - labelValue: South - primaryLabelValue: South + labelValue: Outdoor + primaryLabelValue: Outdoor - attributeHeader: - labelValue: South - primaryLabelValue: South + labelValue: Clothing + primaryLabelValue: Clothing - attributeHeader: - labelValue: South - primaryLabelValue: South + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing - attributeHeader: - labelValue: South - primaryLabelValue: South + labelValue: Clothing + primaryLabelValue: Clothing - attributeHeader: - labelValue: South - primaryLabelValue: South + labelValue: Electronics + primaryLabelValue: Electronics - attributeHeader: - labelValue: South - primaryLabelValue: South + labelValue: Electronics + primaryLabelValue: Electronics - attributeHeader: - labelValue: South - primaryLabelValue: South + labelValue: Home + primaryLabelValue: Home - attributeHeader: - labelValue: South - primaryLabelValue: South + labelValue: Home + primaryLabelValue: Home - attributeHeader: - labelValue: South - primaryLabelValue: South + labelValue: Outdoor + primaryLabelValue: Outdoor - attributeHeader: - labelValue: South - primaryLabelValue: South + labelValue: Outdoor + primaryLabelValue: Outdoor - attributeHeader: - labelValue: South - primaryLabelValue: South + labelValue: Clothing + primaryLabelValue: Clothing - attributeHeader: - labelValue: South - primaryLabelValue: South + labelValue: Clothing + primaryLabelValue: Clothing - attributeHeader: - labelValue: South - primaryLabelValue: South + labelValue: Electronics + primaryLabelValue: Electronics - attributeHeader: - labelValue: South - primaryLabelValue: South + labelValue: Electronics + primaryLabelValue: Electronics - attributeHeader: - labelValue: South - primaryLabelValue: South + labelValue: Home + primaryLabelValue: Home - attributeHeader: - labelValue: South - primaryLabelValue: South + labelValue: Home + primaryLabelValue: Home - attributeHeader: - labelValue: South - primaryLabelValue: South + labelValue: Clothing + primaryLabelValue: Clothing - attributeHeader: - labelValue: South - primaryLabelValue: South + labelValue: Clothing + primaryLabelValue: Clothing - attributeHeader: - labelValue: South - primaryLabelValue: South + labelValue: Electronics + primaryLabelValue: Electronics - attributeHeader: - labelValue: South - primaryLabelValue: South + labelValue: Electronics + primaryLabelValue: Electronics - attributeHeader: - labelValue: South - primaryLabelValue: South + labelValue: Home + primaryLabelValue: Home - attributeHeader: - labelValue: South - primaryLabelValue: South + labelValue: Home + primaryLabelValue: Home - attributeHeader: - labelValue: South - primaryLabelValue: South + labelValue: Outdoor + primaryLabelValue: Outdoor - attributeHeader: - labelValue: South - primaryLabelValue: South + labelValue: Outdoor + primaryLabelValue: Outdoor - attributeHeader: - labelValue: South - primaryLabelValue: South + labelValue: Clothing + primaryLabelValue: Clothing - attributeHeader: - labelValue: South - primaryLabelValue: South + labelValue: Clothing + primaryLabelValue: Clothing - attributeHeader: - labelValue: South - primaryLabelValue: South + labelValue: Electronics + primaryLabelValue: Electronics - attributeHeader: - labelValue: South - primaryLabelValue: South + labelValue: Electronics + primaryLabelValue: Electronics - attributeHeader: - labelValue: South - primaryLabelValue: South + labelValue: Home + primaryLabelValue: Home - attributeHeader: - labelValue: South - primaryLabelValue: South + labelValue: Home + primaryLabelValue: Home - attributeHeader: - labelValue: South - primaryLabelValue: South + labelValue: Outdoor + primaryLabelValue: Outdoor - attributeHeader: - labelValue: South - primaryLabelValue: South + labelValue: Outdoor + primaryLabelValue: Outdoor - attributeHeader: - labelValue: South - primaryLabelValue: South + labelValue: Clothing + primaryLabelValue: Clothing - attributeHeader: - labelValue: South - primaryLabelValue: South + labelValue: Clothing + primaryLabelValue: Clothing - attributeHeader: - labelValue: South - primaryLabelValue: South + labelValue: Electronics + primaryLabelValue: Electronics - attributeHeader: - labelValue: South - primaryLabelValue: South + labelValue: Electronics + primaryLabelValue: Electronics - attributeHeader: - labelValue: South - primaryLabelValue: South + labelValue: Home + primaryLabelValue: Home - attributeHeader: - labelValue: South - primaryLabelValue: South + labelValue: Home + primaryLabelValue: Home - attributeHeader: - labelValue: South - primaryLabelValue: South + labelValue: Outdoor + primaryLabelValue: Outdoor - attributeHeader: - labelValue: South - primaryLabelValue: South + labelValue: Outdoor + primaryLabelValue: Outdoor - attributeHeader: - labelValue: South - primaryLabelValue: South + labelValue: Clothing + primaryLabelValue: Clothing - attributeHeader: - labelValue: South - primaryLabelValue: South + labelValue: Clothing + primaryLabelValue: Clothing - attributeHeader: - labelValue: South - primaryLabelValue: South + labelValue: Home + primaryLabelValue: Home - attributeHeader: - labelValue: South - primaryLabelValue: South + labelValue: Home + primaryLabelValue: Home - attributeHeader: - labelValue: South - primaryLabelValue: South + labelValue: Clothing + primaryLabelValue: Clothing - attributeHeader: - labelValue: South - primaryLabelValue: South + labelValue: Clothing + primaryLabelValue: Clothing - attributeHeader: - labelValue: South - primaryLabelValue: South + labelValue: Electronics + primaryLabelValue: Electronics - attributeHeader: - labelValue: South - primaryLabelValue: South + labelValue: Electronics + primaryLabelValue: Electronics - attributeHeader: - labelValue: South - primaryLabelValue: South + labelValue: Home + primaryLabelValue: Home - attributeHeader: - labelValue: South - primaryLabelValue: South + labelValue: Home + primaryLabelValue: Home - attributeHeader: - labelValue: South - primaryLabelValue: South + labelValue: Outdoor + primaryLabelValue: Outdoor - attributeHeader: - labelValue: South - primaryLabelValue: South + labelValue: Outdoor + primaryLabelValue: Outdoor - attributeHeader: - labelValue: South - primaryLabelValue: South + labelValue: Clothing + primaryLabelValue: Clothing - attributeHeader: - labelValue: South - primaryLabelValue: South + labelValue: Clothing + primaryLabelValue: Clothing - attributeHeader: - labelValue: South - primaryLabelValue: South + labelValue: Electronics + primaryLabelValue: Electronics - attributeHeader: - labelValue: South - primaryLabelValue: South + labelValue: Electronics + primaryLabelValue: Electronics - attributeHeader: - labelValue: South - primaryLabelValue: South + labelValue: Home + primaryLabelValue: Home - attributeHeader: - labelValue: South - primaryLabelValue: South + labelValue: Home + primaryLabelValue: Home - attributeHeader: - labelValue: South - primaryLabelValue: South + labelValue: Outdoor + primaryLabelValue: Outdoor - attributeHeader: - labelValue: South - primaryLabelValue: South + labelValue: Outdoor + primaryLabelValue: Outdoor - attributeHeader: - labelValue: South - primaryLabelValue: South + labelValue: Clothing + primaryLabelValue: Clothing - attributeHeader: - labelValue: South - primaryLabelValue: South + labelValue: Clothing + primaryLabelValue: Clothing - attributeHeader: - labelValue: South - primaryLabelValue: South + labelValue: Electronics + primaryLabelValue: Electronics - attributeHeader: - labelValue: South - primaryLabelValue: South + labelValue: Electronics + primaryLabelValue: Electronics - attributeHeader: - labelValue: South - primaryLabelValue: South + labelValue: Home + primaryLabelValue: Home - attributeHeader: - labelValue: Unknown - primaryLabelValue: Unknown + labelValue: Home + primaryLabelValue: Home - attributeHeader: - labelValue: Unknown - primaryLabelValue: Unknown + labelValue: Outdoor + primaryLabelValue: Outdoor - attributeHeader: - labelValue: West - primaryLabelValue: West + labelValue: Outdoor + primaryLabelValue: Outdoor - attributeHeader: - labelValue: West - primaryLabelValue: West + labelValue: Clothing + primaryLabelValue: Clothing - attributeHeader: - labelValue: West - primaryLabelValue: West + labelValue: Clothing + primaryLabelValue: Clothing - attributeHeader: - labelValue: West - primaryLabelValue: West + labelValue: Electronics + primaryLabelValue: Electronics - attributeHeader: - labelValue: West - primaryLabelValue: West + labelValue: Electronics + primaryLabelValue: Electronics - attributeHeader: - labelValue: West - primaryLabelValue: West + labelValue: Home + primaryLabelValue: Home - attributeHeader: - labelValue: West - primaryLabelValue: West + labelValue: Home + primaryLabelValue: Home - attributeHeader: - labelValue: West - primaryLabelValue: West + labelValue: Outdoor + primaryLabelValue: Outdoor - attributeHeader: - labelValue: West - primaryLabelValue: West + labelValue: Outdoor + primaryLabelValue: Outdoor - attributeHeader: - labelValue: West - primaryLabelValue: West + labelValue: Clothing + primaryLabelValue: Clothing - attributeHeader: - labelValue: West - primaryLabelValue: West + labelValue: Clothing + primaryLabelValue: Clothing - attributeHeader: - labelValue: West - primaryLabelValue: West + labelValue: Electronics + primaryLabelValue: Electronics - attributeHeader: - labelValue: West - primaryLabelValue: West + labelValue: Electronics + primaryLabelValue: Electronics - attributeHeader: - labelValue: West - primaryLabelValue: West + labelValue: Home + primaryLabelValue: Home - attributeHeader: - labelValue: West - primaryLabelValue: West + labelValue: Home + primaryLabelValue: Home - attributeHeader: - labelValue: West - primaryLabelValue: West + labelValue: Outdoor + primaryLabelValue: Outdoor - attributeHeader: - labelValue: West - primaryLabelValue: West + labelValue: Outdoor + primaryLabelValue: Outdoor - attributeHeader: - labelValue: West - primaryLabelValue: West + labelValue: Clothing + primaryLabelValue: Clothing - attributeHeader: - labelValue: West - primaryLabelValue: West + labelValue: Clothing + primaryLabelValue: Clothing - attributeHeader: - labelValue: West - primaryLabelValue: West + labelValue: Electronics + primaryLabelValue: Electronics - attributeHeader: - labelValue: West - primaryLabelValue: West + labelValue: Electronics + primaryLabelValue: Electronics - attributeHeader: - labelValue: West - primaryLabelValue: West + labelValue: Home + primaryLabelValue: Home - attributeHeader: - labelValue: West - primaryLabelValue: West + labelValue: Home + primaryLabelValue: Home - attributeHeader: - labelValue: West - primaryLabelValue: West + labelValue: Outdoor + primaryLabelValue: Outdoor - attributeHeader: - labelValue: West - primaryLabelValue: West + labelValue: Outdoor + primaryLabelValue: Outdoor - attributeHeader: - labelValue: West - primaryLabelValue: West - - headers: + labelValue: Clothing + primaryLabelValue: Clothing - attributeHeader: - labelValue: Maryland - primaryLabelValue: Maryland + labelValue: Clothing + primaryLabelValue: Clothing - attributeHeader: - labelValue: Maryland - primaryLabelValue: Maryland + labelValue: Electronics + primaryLabelValue: Electronics - attributeHeader: - labelValue: Maryland - primaryLabelValue: Maryland + labelValue: Electronics + primaryLabelValue: Electronics - attributeHeader: - labelValue: Maryland - primaryLabelValue: Maryland + labelValue: Home + primaryLabelValue: Home - attributeHeader: - labelValue: Maryland - primaryLabelValue: Maryland + labelValue: Home + primaryLabelValue: Home - attributeHeader: - labelValue: Maryland - primaryLabelValue: Maryland + labelValue: Outdoor + primaryLabelValue: Outdoor - attributeHeader: - labelValue: Maryland - primaryLabelValue: Maryland + labelValue: Outdoor + primaryLabelValue: Outdoor - attributeHeader: - labelValue: Maryland - primaryLabelValue: Maryland + labelValue: Clothing + primaryLabelValue: Clothing - attributeHeader: - labelValue: Mississippi - primaryLabelValue: Mississippi + labelValue: Clothing + primaryLabelValue: Clothing - attributeHeader: - labelValue: Mississippi - primaryLabelValue: Mississippi + labelValue: Electronics + primaryLabelValue: Electronics - attributeHeader: - labelValue: Mississippi - primaryLabelValue: Mississippi + labelValue: Electronics + primaryLabelValue: Electronics - attributeHeader: - labelValue: Mississippi - primaryLabelValue: Mississippi + labelValue: Home + primaryLabelValue: Home - attributeHeader: - labelValue: Mississippi - primaryLabelValue: Mississippi + labelValue: Home + primaryLabelValue: Home - attributeHeader: - labelValue: Mississippi - primaryLabelValue: Mississippi + labelValue: Outdoor + primaryLabelValue: Outdoor - attributeHeader: - labelValue: Mississippi - primaryLabelValue: Mississippi + labelValue: Outdoor + primaryLabelValue: Outdoor - attributeHeader: - labelValue: Mississippi - primaryLabelValue: Mississippi + labelValue: Clothing + primaryLabelValue: Clothing - attributeHeader: - labelValue: North Carolina - primaryLabelValue: North Carolina + labelValue: Clothing + primaryLabelValue: Clothing - attributeHeader: - labelValue: North Carolina - primaryLabelValue: North Carolina + labelValue: Electronics + primaryLabelValue: Electronics - attributeHeader: - labelValue: North Carolina - primaryLabelValue: North Carolina + labelValue: Electronics + primaryLabelValue: Electronics - attributeHeader: - labelValue: North Carolina - primaryLabelValue: North Carolina + labelValue: Home + primaryLabelValue: Home - attributeHeader: - labelValue: North Carolina - primaryLabelValue: North Carolina + labelValue: Home + primaryLabelValue: Home - attributeHeader: - labelValue: North Carolina - primaryLabelValue: North Carolina + labelValue: Outdoor + primaryLabelValue: Outdoor - attributeHeader: - labelValue: North Carolina - primaryLabelValue: North Carolina + labelValue: Outdoor + primaryLabelValue: Outdoor - attributeHeader: - labelValue: North Carolina - primaryLabelValue: North Carolina + labelValue: Clothing + primaryLabelValue: Clothing - attributeHeader: - labelValue: Oklahoma - primaryLabelValue: Oklahoma + labelValue: Clothing + primaryLabelValue: Clothing - attributeHeader: - labelValue: Oklahoma - primaryLabelValue: Oklahoma + labelValue: Electronics + primaryLabelValue: Electronics - attributeHeader: - labelValue: Oklahoma - primaryLabelValue: Oklahoma + labelValue: Electronics + primaryLabelValue: Electronics - attributeHeader: - labelValue: Oklahoma - primaryLabelValue: Oklahoma + labelValue: Home + primaryLabelValue: Home - attributeHeader: - labelValue: Oklahoma - primaryLabelValue: Oklahoma + labelValue: Home + primaryLabelValue: Home - attributeHeader: - labelValue: Oklahoma - primaryLabelValue: Oklahoma + labelValue: Outdoor + primaryLabelValue: Outdoor - attributeHeader: - labelValue: Oklahoma - primaryLabelValue: Oklahoma + labelValue: Outdoor + primaryLabelValue: Outdoor - attributeHeader: - labelValue: Oklahoma - primaryLabelValue: Oklahoma + labelValue: Clothing + primaryLabelValue: Clothing - attributeHeader: - labelValue: South Carolina - primaryLabelValue: South Carolina + labelValue: Clothing + primaryLabelValue: Clothing - attributeHeader: - labelValue: South Carolina - primaryLabelValue: South Carolina + labelValue: Electronics + primaryLabelValue: Electronics - attributeHeader: - labelValue: South Carolina - primaryLabelValue: South Carolina + labelValue: Electronics + primaryLabelValue: Electronics - attributeHeader: - labelValue: South Carolina - primaryLabelValue: South Carolina + labelValue: Home + primaryLabelValue: Home - attributeHeader: - labelValue: South Carolina - primaryLabelValue: South Carolina + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor - attributeHeader: - labelValue: South Carolina - primaryLabelValue: South Carolina + labelValue: Outdoor + primaryLabelValue: Outdoor - attributeHeader: - labelValue: South Carolina - primaryLabelValue: South Carolina + labelValue: Clothing + primaryLabelValue: Clothing - attributeHeader: - labelValue: South Carolina - primaryLabelValue: South Carolina + labelValue: Clothing + primaryLabelValue: Clothing - attributeHeader: - labelValue: Tennessee - primaryLabelValue: Tennessee + labelValue: Electronics + primaryLabelValue: Electronics - attributeHeader: - labelValue: Tennessee - primaryLabelValue: Tennessee + labelValue: Electronics + primaryLabelValue: Electronics - attributeHeader: - labelValue: Tennessee - primaryLabelValue: Tennessee + labelValue: Home + primaryLabelValue: Home - attributeHeader: - labelValue: Tennessee - primaryLabelValue: Tennessee + labelValue: Home + primaryLabelValue: Home - attributeHeader: - labelValue: Tennessee - primaryLabelValue: Tennessee + labelValue: Outdoor + primaryLabelValue: Outdoor - attributeHeader: - labelValue: Tennessee - primaryLabelValue: Tennessee + labelValue: Outdoor + primaryLabelValue: Outdoor - attributeHeader: - labelValue: Tennessee - primaryLabelValue: Tennessee + labelValue: Clothing + primaryLabelValue: Clothing - attributeHeader: - labelValue: Tennessee - primaryLabelValue: Tennessee + labelValue: Clothing + primaryLabelValue: Clothing - attributeHeader: - labelValue: Texas - primaryLabelValue: Texas + labelValue: Electronics + primaryLabelValue: Electronics - attributeHeader: - labelValue: Texas - primaryLabelValue: Texas + labelValue: Electronics + primaryLabelValue: Electronics - attributeHeader: - labelValue: Texas - primaryLabelValue: Texas + labelValue: Home + primaryLabelValue: Home - attributeHeader: - labelValue: Texas - primaryLabelValue: Texas + labelValue: Home + primaryLabelValue: Home - attributeHeader: - labelValue: Texas - primaryLabelValue: Texas + labelValue: Outdoor + primaryLabelValue: Outdoor - attributeHeader: - labelValue: Texas - primaryLabelValue: Texas + labelValue: Outdoor + primaryLabelValue: Outdoor - attributeHeader: - labelValue: Texas - primaryLabelValue: Texas + labelValue: Clothing + primaryLabelValue: Clothing - attributeHeader: - labelValue: Texas - primaryLabelValue: Texas + labelValue: Clothing + primaryLabelValue: Clothing - attributeHeader: - labelValue: Virginia - primaryLabelValue: Virginia + labelValue: Electronics + primaryLabelValue: Electronics - attributeHeader: - labelValue: Virginia - primaryLabelValue: Virginia + labelValue: Electronics + primaryLabelValue: Electronics - attributeHeader: - labelValue: Virginia - primaryLabelValue: Virginia + labelValue: Home + primaryLabelValue: Home - attributeHeader: - labelValue: Virginia - primaryLabelValue: Virginia + labelValue: Home + primaryLabelValue: Home - attributeHeader: - labelValue: Virginia - primaryLabelValue: Virginia + labelValue: Outdoor + primaryLabelValue: Outdoor - attributeHeader: - labelValue: Virginia - primaryLabelValue: Virginia + labelValue: Outdoor + primaryLabelValue: Outdoor - attributeHeader: - labelValue: Virginia - primaryLabelValue: Virginia + labelValue: Clothing + primaryLabelValue: Clothing - attributeHeader: - labelValue: Virginia - primaryLabelValue: Virginia + labelValue: Clothing + primaryLabelValue: Clothing - attributeHeader: - labelValue: West Virginia - primaryLabelValue: West Virginia + labelValue: Electronics + primaryLabelValue: Electronics - attributeHeader: - labelValue: West Virginia - primaryLabelValue: West Virginia + labelValue: Electronics + primaryLabelValue: Electronics - attributeHeader: - labelValue: West Virginia - primaryLabelValue: West Virginia + labelValue: Home + primaryLabelValue: Home - attributeHeader: - labelValue: West Virginia - primaryLabelValue: West Virginia + labelValue: Home + primaryLabelValue: Home - attributeHeader: - labelValue: West Virginia - primaryLabelValue: West Virginia + labelValue: Outdoor + primaryLabelValue: Outdoor - attributeHeader: - labelValue: West Virginia - primaryLabelValue: West Virginia + labelValue: Outdoor + primaryLabelValue: Outdoor - attributeHeader: - labelValue: West Virginia - primaryLabelValue: West Virginia + labelValue: Clothing + primaryLabelValue: Clothing - attributeHeader: - labelValue: West Virginia - primaryLabelValue: West Virginia + labelValue: Clothing + primaryLabelValue: Clothing - attributeHeader: - labelValue: Rhode Island - primaryLabelValue: Rhode Island + labelValue: Electronics + primaryLabelValue: Electronics - attributeHeader: - labelValue: Rhode Island - primaryLabelValue: Rhode Island + labelValue: Electronics + primaryLabelValue: Electronics - attributeHeader: - labelValue: AK - primaryLabelValue: AK + labelValue: Home + primaryLabelValue: Home - attributeHeader: - labelValue: AK - primaryLabelValue: AK + labelValue: Home + primaryLabelValue: Home - attributeHeader: - labelValue: AK - primaryLabelValue: AK + labelValue: Outdoor + primaryLabelValue: Outdoor - attributeHeader: - labelValue: AK - primaryLabelValue: AK + labelValue: Outdoor + primaryLabelValue: Outdoor - attributeHeader: - labelValue: AK - primaryLabelValue: AK + labelValue: Clothing + primaryLabelValue: Clothing - attributeHeader: - labelValue: AK - primaryLabelValue: AK + labelValue: Clothing + primaryLabelValue: Clothing - attributeHeader: - labelValue: AK - primaryLabelValue: AK + labelValue: Electronics + primaryLabelValue: Electronics - attributeHeader: - labelValue: AK - primaryLabelValue: AK + labelValue: Electronics + primaryLabelValue: Electronics - attributeHeader: - labelValue: Arizona - primaryLabelValue: Arizona + labelValue: Home + primaryLabelValue: Home - attributeHeader: - labelValue: Arizona - primaryLabelValue: Arizona + labelValue: Home + primaryLabelValue: Home - attributeHeader: - labelValue: Arizona - primaryLabelValue: Arizona + labelValue: Outdoor + primaryLabelValue: Outdoor - attributeHeader: - labelValue: Arizona - primaryLabelValue: Arizona + labelValue: Outdoor + primaryLabelValue: Outdoor - attributeHeader: - labelValue: Arizona - primaryLabelValue: Arizona + labelValue: Clothing + primaryLabelValue: Clothing - attributeHeader: - labelValue: Arizona - primaryLabelValue: Arizona + labelValue: Clothing + primaryLabelValue: Clothing - attributeHeader: - labelValue: Arizona - primaryLabelValue: Arizona + labelValue: Electronics + primaryLabelValue: Electronics - attributeHeader: - labelValue: Arizona - primaryLabelValue: Arizona + labelValue: Electronics + primaryLabelValue: Electronics - attributeHeader: - labelValue: California - primaryLabelValue: California + labelValue: Home + primaryLabelValue: Home - attributeHeader: - labelValue: California - primaryLabelValue: California + labelValue: Home + primaryLabelValue: Home - attributeHeader: - labelValue: California - primaryLabelValue: California + labelValue: Outdoor + primaryLabelValue: Outdoor - attributeHeader: - labelValue: California - primaryLabelValue: California + labelValue: Outdoor + primaryLabelValue: Outdoor - attributeHeader: - labelValue: California - primaryLabelValue: California + labelValue: Clothing + primaryLabelValue: Clothing - attributeHeader: - labelValue: California - primaryLabelValue: California + labelValue: Clothing + primaryLabelValue: Clothing - attributeHeader: - labelValue: California - primaryLabelValue: California + labelValue: Electronics + primaryLabelValue: Electronics - attributeHeader: - labelValue: California - primaryLabelValue: California + labelValue: Electronics + primaryLabelValue: Electronics - attributeHeader: - labelValue: Colorado - primaryLabelValue: Colorado + labelValue: Home + primaryLabelValue: Home - attributeHeader: - labelValue: Colorado - primaryLabelValue: Colorado - - headers: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor - attributeHeader: labelValue: Clothing primaryLabelValue: Clothing @@ -8659,6 +3810,12 @@ interactions: - attributeHeader: labelValue: Clothing primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing - attributeHeader: labelValue: Electronics primaryLabelValue: Electronics @@ -8815,12 +3972,6 @@ interactions: - attributeHeader: labelValue: Home primaryLabelValue: Home - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - attributeHeader: labelValue: Clothing primaryLabelValue: Clothing @@ -8839,18 +3990,24 @@ interactions: - attributeHeader: labelValue: Home primaryLabelValue: Home - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Outdoor - primaryLabelValue: Outdoor - attributeHeader: labelValue: Clothing primaryLabelValue: Clothing - attributeHeader: labelValue: Clothing primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home - attributeHeader: labelValue: Clothing primaryLabelValue: Clothing @@ -8923,12 +4080,6 @@ interactions: - attributeHeader: labelValue: Outdoor primaryLabelValue: Outdoor - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - - attributeHeader: - labelValue: Clothing - primaryLabelValue: Clothing - headers: - measureHeader: measureIndex: 0 @@ -9130,17 +4281,726 @@ interactions: measureIndex: 0 - measureHeader: measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 grandTotals: [] paging: count: - - 100 + - 364 offset: - - 200 + - 0 total: - 364 - request: method: GET - uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/02c57cb552d3803900144e2f6d747c2326c4c2d5?offset=300&limit=100 + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/e3000fa8926e1b72f2b2608b462d384168f7f8cd/metadata + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - br, gzip, deflate + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com + src.litix.io matomo.anywhere.gooddata.com *.jquery.com unpkg.com cdn.jsdelivr.net + cdnjs.cloudflare.com; img-src ''self'' data: blob: *.wistia.com *.wistia.net + *.hsforms.net *.hsforms.com embedwistia-a.akamaihd.net privacy-policy.truste.com + www.gooddata.com; style-src ''self'' ''unsafe-inline'' fonts.googleapis.com + cdn.jsdelivr.net fast.fonts.net; font-src ''self'' data: fonts.gstatic.com + *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src + ''self'' *.hsforms.net *.hsforms.com; object-src ''none''; worker-src + ''self'' blob:; child-src blob:; connect-src ''self'' *.tiles.mapbox.com + *.mapbox.com *.litix.io *.wistia.com *.hsforms.net *.hsforms.com embedwistia-a.akamaihd.net + matomo.anywhere.gooddata.com; media-src ''self'' blob: data: *.wistia.com + *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + DATE: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + content-length: + - '1945' + body: + string: + afm: + attributes: + - localIdentifier: region + label: + identifier: + id: region + type: label + showAllValues: false + - localIdentifier: state + label: + identifier: + id: state + type: label + showAllValues: false + - localIdentifier: product_category + label: + identifier: + id: products.category + type: label + showAllValues: false + filters: [] + measures: + - localIdentifier: price + definition: + measure: + item: + identifier: + id: price + type: fact + aggregation: SUM + computeRatio: false + filters: [] + - localIdentifier: order_amount + definition: + measure: + item: + identifier: + id: order_amount + type: metric + computeRatio: false + filters: [] + auxMeasures: [] + executionResponse: + dimensions: + - headers: + - attributeHeader: + localIdentifier: region + label: + id: region + type: label + labelName: Region + attribute: + id: region + type: attribute + attributeName: Region + granularity: null + primaryLabel: + id: region + type: label + - attributeHeader: + localIdentifier: state + label: + id: state + type: label + labelName: State + attribute: + id: state + type: attribute + attributeName: State + granularity: null + primaryLabel: + id: state + type: label + - attributeHeader: + localIdentifier: product_category + label: + id: products.category + type: label + labelName: Category + attribute: + id: products.category + type: attribute + attributeName: Category + granularity: null + primaryLabel: + id: products.category + type: label + - measureGroupHeaders: + - localIdentifier: price + - localIdentifier: order_amount + format: $#,##0 + name: Order Amount + localIdentifier: dim_0 + links: + executionResult: e3000fa8926e1b72f2b2608b462d384168f7f8cd + resultSpec: + dimensions: + - localIdentifier: dim_0 + itemIdentifiers: + - region + - state + - product_category + - measureGroup + sorting: [] + totals: [] + resultSize: 2913 + - request: + method: GET + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/e3000fa8926e1b72f2b2608b462d384168f7f8cd?offset=0&limit=500 body: null headers: Accept: @@ -9210,10 +5070,310 @@ interactions: X-XSS-Protection: - 1 ; mode=block content-length: - - '17067' + - '98918' body: string: data: + - 2018.99 + - 2535.21 + - 1936.08 + - 2325.5 + - 1644.01 + - 1667.22 + - 3205.41 + - 3205.41 + - 963.25 + - 1190.44 + - 1115.49 + - 1178.01 + - 286.41 + - 286.41 + - 3617.55 + - 3939.72 + - 1858.1 + - 2263.12 + - 1819.59 + - 2474.87 + - 1491.35 + - 1491.35 + - 3298.64 + - 3542.07 + - 802.06 + - 882.27 + - 603.3 + - 674.41 + - 749.37 + - 864.05 + - 2349.06 + - 2349.06 + - 989.47 + - 1104.14 + - 1581.46 + - 1767.83 + - 1817.19 + - 2663.57 + - 3357.3 + - 5617.86 + - 1915.46 + - 2369.61 + - 2329.01 + - 2826.18 + - 1264.88 + - 1311.02 + - 2679.78 + - 3157.96 + - 2065.18 + - 2541.12 + - 1512.2 + - 1961.18 + - 1922.63 + - 2653.67 + - 3046.57 + - 3763.37 + - 586.37 + - 742.46 + - 770.11 + - 770.11 + - 535.43 + - 535.43 + - 666.19 + - 666.19 + - 102.03 + - 102.03 + - 60.78 + - 60.78 + - 13.9 + - 13.9 + - 3463.82 + - 4467.47 + - 3532.76 + - 4133.16 + - 2498.84 + - 3377.52 + - 4076.75 + - 7939.25 + - 236.34 + - 393.47 + - 184.82 + - 281.19 + - 218.89 + - 218.89 + - 1869.53 + - 2146.81 + - 1813.39 + - 2638.54 + - 1321.08 + - 1684.95 + - 5646.42 + - 5646.42 + - 871.42 + - 1014.93 + - 887.3 + - 1048.14 + - 594.45 + - 594.45 + - 538.99 + - 538.99 + - 955.93 + - 1055.56 + - 1051.5 + - 1729.45 + - 418.92 + - 418.92 + - 1624.52 + - 1624.52 + - 220.46 + - 360.16 + - 161.73 + - 161.73 + - 1007.04 + - 1129.66 + - 537.52 + - 725.32 + - 356.46 + - 356.46 + - 231.84 + - 231.84 + - 5004.64 + - 6162.98 + - 4631.73 + - 6433.78 + - 3316.02 + - 3995.11 + - 8734.63 + - 13727.01 + - 1677.18 + - 2310.61 + - 1746.76 + - 2306.18 + - 952.05 + - 1078.41 + - 9179.44 + - 9706.62 + - 652.4 + - 712.22 + - 949.42 + - 1198.83 + - 759.31 + - 927.48 + - 3837.42 + - 3837.42 + - 527.93 + - 738.82 + - 316.18 + - 422.57 + - 454.73 + - 454.73 + - 3384.84 + - 3384.84 + - 541.01 + - 717.46 + - 906.16 + - 906.16 + - 437.49 + - 556.68 + - 1355.06 + - 1355.06 + - 2518.14 + - 3019.08 + - 3262.11 + - 3945.61 + - 3018.14 + - 3554.04 + - 7595.78 + - 7595.78 + - 8476.07 + - 10448.66 + - 8258.54 + - 10548.47 + - 5960.21 + - 6688.79 + - 19294.85 + - 25807.35 + - 1973.23 + - 2601.99 + - 1805.62 + - 2152.51 + - 1053.23 + - 1294.96 + - 5033.19 + - 5985.75 + - 1304.99 + - 1671.49 + - 1039.04 + - 1153.3 + - 311.97 + - 311.97 + - 223.09 + - 446.18 + - 1274.22 + - 1368.62 + - 1727.11 + - 1943.0 + - 1324.48 + - 1749.62 + - 2185.98 + - 2185.98 + - 1558.28 + - 1952.49 + - 952.3 + - 1226.85 + - 1563.19 + - 2208.04 + - 4344.16 + - 6919.63 + - 408.96 + - 646.74 + - 549.99 + - 790.98 + - 174.34 + - 174.34 + - 2834.07 + - 2834.07 + - 1802.4 + - 2176.17 + - 1450.21 + - 1686.28 + - 1567.11 + - 1704.0 + - 4056.46 + - 4879.18 + - 772.05 + - 1048.43 + - 876.39 + - 876.39 + - 771.44 + - 858.2 + - 6328.89 + - 6328.89 + - 1096.89 + - 1259.77 + - 541.59 + - 541.59 + - 612.65 + - 612.65 + - 1184.6 + - 1184.6 + - 1585.4 + - 1995.05 + - 1291.99 + - 1291.99 + - 616.68 + - 616.68 + - 1649.85 + - 1886.52 + - 9041.19 + - 11279.19 + - 8688.2 + - 10307.9 + - 7196.91 + - 8293.87 + - 19327.65 + - 22670.23 + - 3201.61 + - 3617.53 + - 2547.68 + - 2863.09 + - 2806.15 + - 3446.67 + - 7141.49 + - 7397.6 + - 571.06 + - 681.94 + - 750.01 + - 750.01 + - 810.47 + - 1176.32 + - 523.09 + - 523.09 + - 18.7 + - 18.7 + - 790.0 + - 963.08 + - 869.41 + - 890.67 + - 659.24 + - 926.38 + - 2664.71 + - 2664.71 + - 2294.87 + - 2725.93 + - 2170.62 + - 2380.37 + - 2137.33 + - 2158.09 + - 3676.86 + - 3676.86 + - 11367.24 + - 13561.15 + - 11524.88 + - 13729.96 + - 8522.94 + - 9700.71 + - 25996.75 + - 30393.45 + - 1478.95 + - 1514.89 - 1839.72 - 2325.39 - 1030.04 @@ -9282,391 +5442,3091 @@ interactions: - headerGroups: - headers: - attributeHeader: - labelValue: West - primaryLabelValue: West + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: Unknown + primaryLabelValue: Unknown + - attributeHeader: + labelValue: Unknown + primaryLabelValue: Unknown + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - headers: + - attributeHeader: + labelValue: Illinois + primaryLabelValue: Illinois + - attributeHeader: + labelValue: Illinois + primaryLabelValue: Illinois + - attributeHeader: + labelValue: Illinois + primaryLabelValue: Illinois + - attributeHeader: + labelValue: Illinois + primaryLabelValue: Illinois + - attributeHeader: + labelValue: Illinois + primaryLabelValue: Illinois + - attributeHeader: + labelValue: Illinois + primaryLabelValue: Illinois + - attributeHeader: + labelValue: Illinois + primaryLabelValue: Illinois + - attributeHeader: + labelValue: Illinois + primaryLabelValue: Illinois + - attributeHeader: + labelValue: Indiana + primaryLabelValue: Indiana + - attributeHeader: + labelValue: Indiana + primaryLabelValue: Indiana + - attributeHeader: + labelValue: Indiana + primaryLabelValue: Indiana + - attributeHeader: + labelValue: Indiana + primaryLabelValue: Indiana + - attributeHeader: + labelValue: Indiana + primaryLabelValue: Indiana + - attributeHeader: + labelValue: Indiana + primaryLabelValue: Indiana + - attributeHeader: + labelValue: Indiana + primaryLabelValue: Indiana + - attributeHeader: + labelValue: Indiana + primaryLabelValue: Indiana + - attributeHeader: + labelValue: Iowa + primaryLabelValue: Iowa + - attributeHeader: + labelValue: Iowa + primaryLabelValue: Iowa + - attributeHeader: + labelValue: Iowa + primaryLabelValue: Iowa + - attributeHeader: + labelValue: Iowa + primaryLabelValue: Iowa + - attributeHeader: + labelValue: Iowa + primaryLabelValue: Iowa + - attributeHeader: + labelValue: Iowa + primaryLabelValue: Iowa + - attributeHeader: + labelValue: Iowa + primaryLabelValue: Iowa + - attributeHeader: + labelValue: Iowa + primaryLabelValue: Iowa + - attributeHeader: + labelValue: Kansas + primaryLabelValue: Kansas + - attributeHeader: + labelValue: Kansas + primaryLabelValue: Kansas + - attributeHeader: + labelValue: Kansas + primaryLabelValue: Kansas + - attributeHeader: + labelValue: Kansas + primaryLabelValue: Kansas + - attributeHeader: + labelValue: Kansas + primaryLabelValue: Kansas + - attributeHeader: + labelValue: Kansas + primaryLabelValue: Kansas + - attributeHeader: + labelValue: Kansas + primaryLabelValue: Kansas + - attributeHeader: + labelValue: Kansas + primaryLabelValue: Kansas + - attributeHeader: + labelValue: Michigan + primaryLabelValue: Michigan + - attributeHeader: + labelValue: Michigan + primaryLabelValue: Michigan + - attributeHeader: + labelValue: Michigan + primaryLabelValue: Michigan + - attributeHeader: + labelValue: Michigan + primaryLabelValue: Michigan + - attributeHeader: + labelValue: Michigan + primaryLabelValue: Michigan + - attributeHeader: + labelValue: Michigan + primaryLabelValue: Michigan + - attributeHeader: + labelValue: Michigan + primaryLabelValue: Michigan + - attributeHeader: + labelValue: Michigan + primaryLabelValue: Michigan + - attributeHeader: + labelValue: Minnesota + primaryLabelValue: Minnesota + - attributeHeader: + labelValue: Minnesota + primaryLabelValue: Minnesota + - attributeHeader: + labelValue: Minnesota + primaryLabelValue: Minnesota + - attributeHeader: + labelValue: Minnesota + primaryLabelValue: Minnesota + - attributeHeader: + labelValue: Minnesota + primaryLabelValue: Minnesota + - attributeHeader: + labelValue: Minnesota + primaryLabelValue: Minnesota + - attributeHeader: + labelValue: Minnesota + primaryLabelValue: Minnesota + - attributeHeader: + labelValue: Minnesota + primaryLabelValue: Minnesota + - attributeHeader: + labelValue: Missouri + primaryLabelValue: Missouri + - attributeHeader: + labelValue: Missouri + primaryLabelValue: Missouri + - attributeHeader: + labelValue: Missouri + primaryLabelValue: Missouri + - attributeHeader: + labelValue: Missouri + primaryLabelValue: Missouri + - attributeHeader: + labelValue: Missouri + primaryLabelValue: Missouri + - attributeHeader: + labelValue: Missouri + primaryLabelValue: Missouri + - attributeHeader: + labelValue: Missouri + primaryLabelValue: Missouri + - attributeHeader: + labelValue: Missouri + primaryLabelValue: Missouri + - attributeHeader: + labelValue: Nebraska + primaryLabelValue: Nebraska + - attributeHeader: + labelValue: Nebraska + primaryLabelValue: Nebraska + - attributeHeader: + labelValue: Nebraska + primaryLabelValue: Nebraska + - attributeHeader: + labelValue: Nebraska + primaryLabelValue: Nebraska + - attributeHeader: + labelValue: Nebraska + primaryLabelValue: Nebraska + - attributeHeader: + labelValue: Nebraska + primaryLabelValue: Nebraska + - attributeHeader: + labelValue: Nebraska + primaryLabelValue: Nebraska + - attributeHeader: + labelValue: Nebraska + primaryLabelValue: Nebraska + - attributeHeader: + labelValue: North Dakota + primaryLabelValue: North Dakota + - attributeHeader: + labelValue: North Dakota + primaryLabelValue: North Dakota + - attributeHeader: + labelValue: North Dakota + primaryLabelValue: North Dakota + - attributeHeader: + labelValue: North Dakota + primaryLabelValue: North Dakota + - attributeHeader: + labelValue: North Dakota + primaryLabelValue: North Dakota + - attributeHeader: + labelValue: North Dakota + primaryLabelValue: North Dakota + - attributeHeader: + labelValue: Ohio + primaryLabelValue: Ohio + - attributeHeader: + labelValue: Ohio + primaryLabelValue: Ohio + - attributeHeader: + labelValue: Ohio + primaryLabelValue: Ohio + - attributeHeader: + labelValue: Ohio + primaryLabelValue: Ohio + - attributeHeader: + labelValue: Ohio + primaryLabelValue: Ohio + - attributeHeader: + labelValue: Ohio + primaryLabelValue: Ohio + - attributeHeader: + labelValue: Ohio + primaryLabelValue: Ohio + - attributeHeader: + labelValue: Ohio + primaryLabelValue: Ohio + - attributeHeader: + labelValue: South Dakota + primaryLabelValue: South Dakota + - attributeHeader: + labelValue: South Dakota + primaryLabelValue: South Dakota + - attributeHeader: + labelValue: South Dakota + primaryLabelValue: South Dakota + - attributeHeader: + labelValue: South Dakota + primaryLabelValue: South Dakota + - attributeHeader: + labelValue: South Dakota + primaryLabelValue: South Dakota + - attributeHeader: + labelValue: South Dakota + primaryLabelValue: South Dakota + - attributeHeader: + labelValue: Wisconsin + primaryLabelValue: Wisconsin + - attributeHeader: + labelValue: Wisconsin + primaryLabelValue: Wisconsin + - attributeHeader: + labelValue: Wisconsin + primaryLabelValue: Wisconsin + - attributeHeader: + labelValue: Wisconsin + primaryLabelValue: Wisconsin + - attributeHeader: + labelValue: Wisconsin + primaryLabelValue: Wisconsin + - attributeHeader: + labelValue: Wisconsin + primaryLabelValue: Wisconsin + - attributeHeader: + labelValue: Wisconsin + primaryLabelValue: Wisconsin + - attributeHeader: + labelValue: Wisconsin + primaryLabelValue: Wisconsin + - attributeHeader: + labelValue: Connecticut + primaryLabelValue: Connecticut + - attributeHeader: + labelValue: Connecticut + primaryLabelValue: Connecticut + - attributeHeader: + labelValue: Connecticut + primaryLabelValue: Connecticut + - attributeHeader: + labelValue: Connecticut + primaryLabelValue: Connecticut + - attributeHeader: + labelValue: Connecticut + primaryLabelValue: Connecticut + - attributeHeader: + labelValue: Connecticut + primaryLabelValue: Connecticut + - attributeHeader: + labelValue: Connecticut + primaryLabelValue: Connecticut + - attributeHeader: + labelValue: Connecticut + primaryLabelValue: Connecticut + - attributeHeader: + labelValue: Massachusetts + primaryLabelValue: Massachusetts + - attributeHeader: + labelValue: Massachusetts + primaryLabelValue: Massachusetts + - attributeHeader: + labelValue: Massachusetts + primaryLabelValue: Massachusetts + - attributeHeader: + labelValue: Massachusetts + primaryLabelValue: Massachusetts + - attributeHeader: + labelValue: Massachusetts + primaryLabelValue: Massachusetts + - attributeHeader: + labelValue: Massachusetts + primaryLabelValue: Massachusetts + - attributeHeader: + labelValue: Massachusetts + primaryLabelValue: Massachusetts + - attributeHeader: + labelValue: Massachusetts + primaryLabelValue: Massachusetts + - attributeHeader: + labelValue: New Hampshire + primaryLabelValue: New Hampshire + - attributeHeader: + labelValue: New Hampshire + primaryLabelValue: New Hampshire + - attributeHeader: + labelValue: New Hampshire + primaryLabelValue: New Hampshire + - attributeHeader: + labelValue: New Hampshire + primaryLabelValue: New Hampshire + - attributeHeader: + labelValue: New Jersey + primaryLabelValue: New Jersey + - attributeHeader: + labelValue: New Jersey + primaryLabelValue: New Jersey + - attributeHeader: + labelValue: New Jersey + primaryLabelValue: New Jersey + - attributeHeader: + labelValue: New Jersey + primaryLabelValue: New Jersey + - attributeHeader: + labelValue: New Jersey + primaryLabelValue: New Jersey + - attributeHeader: + labelValue: New Jersey + primaryLabelValue: New Jersey + - attributeHeader: + labelValue: New Jersey + primaryLabelValue: New Jersey + - attributeHeader: + labelValue: New Jersey + primaryLabelValue: New Jersey + - attributeHeader: + labelValue: New York + primaryLabelValue: New York + - attributeHeader: + labelValue: New York + primaryLabelValue: New York + - attributeHeader: + labelValue: New York + primaryLabelValue: New York + - attributeHeader: + labelValue: New York + primaryLabelValue: New York + - attributeHeader: + labelValue: New York + primaryLabelValue: New York + - attributeHeader: + labelValue: New York + primaryLabelValue: New York + - attributeHeader: + labelValue: New York + primaryLabelValue: New York + - attributeHeader: + labelValue: New York + primaryLabelValue: New York + - attributeHeader: + labelValue: Pennsylvania + primaryLabelValue: Pennsylvania + - attributeHeader: + labelValue: Pennsylvania + primaryLabelValue: Pennsylvania + - attributeHeader: + labelValue: Pennsylvania + primaryLabelValue: Pennsylvania + - attributeHeader: + labelValue: Pennsylvania + primaryLabelValue: Pennsylvania + - attributeHeader: + labelValue: Pennsylvania + primaryLabelValue: Pennsylvania + - attributeHeader: + labelValue: Pennsylvania + primaryLabelValue: Pennsylvania + - attributeHeader: + labelValue: Pennsylvania + primaryLabelValue: Pennsylvania + - attributeHeader: + labelValue: Pennsylvania + primaryLabelValue: Pennsylvania + - attributeHeader: + labelValue: Alabama + primaryLabelValue: Alabama + - attributeHeader: + labelValue: Alabama + primaryLabelValue: Alabama + - attributeHeader: + labelValue: Alabama + primaryLabelValue: Alabama + - attributeHeader: + labelValue: Alabama + primaryLabelValue: Alabama + - attributeHeader: + labelValue: Alabama + primaryLabelValue: Alabama + - attributeHeader: + labelValue: Alabama + primaryLabelValue: Alabama + - attributeHeader: + labelValue: Alabama + primaryLabelValue: Alabama + - attributeHeader: + labelValue: Alabama + primaryLabelValue: Alabama + - attributeHeader: + labelValue: Arkansas + primaryLabelValue: Arkansas + - attributeHeader: + labelValue: Arkansas + primaryLabelValue: Arkansas + - attributeHeader: + labelValue: Arkansas + primaryLabelValue: Arkansas + - attributeHeader: + labelValue: Arkansas + primaryLabelValue: Arkansas + - attributeHeader: + labelValue: Arkansas + primaryLabelValue: Arkansas + - attributeHeader: + labelValue: Arkansas + primaryLabelValue: Arkansas + - attributeHeader: + labelValue: Arkansas + primaryLabelValue: Arkansas + - attributeHeader: + labelValue: Arkansas + primaryLabelValue: Arkansas + - attributeHeader: + labelValue: Delaware + primaryLabelValue: Delaware + - attributeHeader: + labelValue: Delaware + primaryLabelValue: Delaware + - attributeHeader: + labelValue: Delaware + primaryLabelValue: Delaware + - attributeHeader: + labelValue: Delaware + primaryLabelValue: Delaware + - attributeHeader: + labelValue: Delaware + primaryLabelValue: Delaware + - attributeHeader: + labelValue: Delaware + primaryLabelValue: Delaware + - attributeHeader: + labelValue: Delaware + primaryLabelValue: Delaware + - attributeHeader: + labelValue: Delaware + primaryLabelValue: Delaware + - attributeHeader: + labelValue: District of Columbia + primaryLabelValue: District of Columbia + - attributeHeader: + labelValue: District of Columbia + primaryLabelValue: District of Columbia + - attributeHeader: + labelValue: District of Columbia + primaryLabelValue: District of Columbia + - attributeHeader: + labelValue: District of Columbia + primaryLabelValue: District of Columbia + - attributeHeader: + labelValue: District of Columbia + primaryLabelValue: District of Columbia + - attributeHeader: + labelValue: District of Columbia + primaryLabelValue: District of Columbia + - attributeHeader: + labelValue: District of Columbia + primaryLabelValue: District of Columbia + - attributeHeader: + labelValue: District of Columbia + primaryLabelValue: District of Columbia + - attributeHeader: + labelValue: Florida + primaryLabelValue: Florida + - attributeHeader: + labelValue: Florida + primaryLabelValue: Florida + - attributeHeader: + labelValue: Florida + primaryLabelValue: Florida + - attributeHeader: + labelValue: Florida + primaryLabelValue: Florida + - attributeHeader: + labelValue: Florida + primaryLabelValue: Florida + - attributeHeader: + labelValue: Florida + primaryLabelValue: Florida + - attributeHeader: + labelValue: Florida + primaryLabelValue: Florida + - attributeHeader: + labelValue: Florida + primaryLabelValue: Florida + - attributeHeader: + labelValue: Georgia + primaryLabelValue: Georgia + - attributeHeader: + labelValue: Georgia + primaryLabelValue: Georgia + - attributeHeader: + labelValue: Georgia + primaryLabelValue: Georgia + - attributeHeader: + labelValue: Georgia + primaryLabelValue: Georgia + - attributeHeader: + labelValue: Georgia + primaryLabelValue: Georgia + - attributeHeader: + labelValue: Georgia + primaryLabelValue: Georgia + - attributeHeader: + labelValue: Georgia + primaryLabelValue: Georgia + - attributeHeader: + labelValue: Georgia + primaryLabelValue: Georgia + - attributeHeader: + labelValue: Kentucky + primaryLabelValue: Kentucky + - attributeHeader: + labelValue: Kentucky + primaryLabelValue: Kentucky + - attributeHeader: + labelValue: Kentucky + primaryLabelValue: Kentucky + - attributeHeader: + labelValue: Kentucky + primaryLabelValue: Kentucky + - attributeHeader: + labelValue: Kentucky + primaryLabelValue: Kentucky + - attributeHeader: + labelValue: Kentucky + primaryLabelValue: Kentucky + - attributeHeader: + labelValue: Kentucky + primaryLabelValue: Kentucky + - attributeHeader: + labelValue: Kentucky + primaryLabelValue: Kentucky + - attributeHeader: + labelValue: Louisiana + primaryLabelValue: Louisiana + - attributeHeader: + labelValue: Louisiana + primaryLabelValue: Louisiana + - attributeHeader: + labelValue: Louisiana + primaryLabelValue: Louisiana + - attributeHeader: + labelValue: Louisiana + primaryLabelValue: Louisiana + - attributeHeader: + labelValue: Louisiana + primaryLabelValue: Louisiana + - attributeHeader: + labelValue: Louisiana + primaryLabelValue: Louisiana + - attributeHeader: + labelValue: Louisiana + primaryLabelValue: Louisiana + - attributeHeader: + labelValue: Louisiana + primaryLabelValue: Louisiana + - attributeHeader: + labelValue: Maryland + primaryLabelValue: Maryland + - attributeHeader: + labelValue: Maryland + primaryLabelValue: Maryland + - attributeHeader: + labelValue: Maryland + primaryLabelValue: Maryland + - attributeHeader: + labelValue: Maryland + primaryLabelValue: Maryland + - attributeHeader: + labelValue: Maryland + primaryLabelValue: Maryland + - attributeHeader: + labelValue: Maryland + primaryLabelValue: Maryland + - attributeHeader: + labelValue: Maryland + primaryLabelValue: Maryland + - attributeHeader: + labelValue: Maryland + primaryLabelValue: Maryland + - attributeHeader: + labelValue: Mississippi + primaryLabelValue: Mississippi + - attributeHeader: + labelValue: Mississippi + primaryLabelValue: Mississippi + - attributeHeader: + labelValue: Mississippi + primaryLabelValue: Mississippi + - attributeHeader: + labelValue: Mississippi + primaryLabelValue: Mississippi + - attributeHeader: + labelValue: Mississippi + primaryLabelValue: Mississippi + - attributeHeader: + labelValue: Mississippi + primaryLabelValue: Mississippi + - attributeHeader: + labelValue: Mississippi + primaryLabelValue: Mississippi + - attributeHeader: + labelValue: Mississippi + primaryLabelValue: Mississippi + - attributeHeader: + labelValue: North Carolina + primaryLabelValue: North Carolina + - attributeHeader: + labelValue: North Carolina + primaryLabelValue: North Carolina + - attributeHeader: + labelValue: North Carolina + primaryLabelValue: North Carolina + - attributeHeader: + labelValue: North Carolina + primaryLabelValue: North Carolina + - attributeHeader: + labelValue: North Carolina + primaryLabelValue: North Carolina + - attributeHeader: + labelValue: North Carolina + primaryLabelValue: North Carolina + - attributeHeader: + labelValue: North Carolina + primaryLabelValue: North Carolina + - attributeHeader: + labelValue: North Carolina + primaryLabelValue: North Carolina + - attributeHeader: + labelValue: Oklahoma + primaryLabelValue: Oklahoma + - attributeHeader: + labelValue: Oklahoma + primaryLabelValue: Oklahoma + - attributeHeader: + labelValue: Oklahoma + primaryLabelValue: Oklahoma + - attributeHeader: + labelValue: Oklahoma + primaryLabelValue: Oklahoma + - attributeHeader: + labelValue: Oklahoma + primaryLabelValue: Oklahoma + - attributeHeader: + labelValue: Oklahoma + primaryLabelValue: Oklahoma + - attributeHeader: + labelValue: Oklahoma + primaryLabelValue: Oklahoma + - attributeHeader: + labelValue: Oklahoma + primaryLabelValue: Oklahoma + - attributeHeader: + labelValue: South Carolina + primaryLabelValue: South Carolina + - attributeHeader: + labelValue: South Carolina + primaryLabelValue: South Carolina + - attributeHeader: + labelValue: South Carolina + primaryLabelValue: South Carolina + - attributeHeader: + labelValue: South Carolina + primaryLabelValue: South Carolina + - attributeHeader: + labelValue: South Carolina + primaryLabelValue: South Carolina + - attributeHeader: + labelValue: South Carolina + primaryLabelValue: South Carolina + - attributeHeader: + labelValue: South Carolina + primaryLabelValue: South Carolina + - attributeHeader: + labelValue: South Carolina + primaryLabelValue: South Carolina + - attributeHeader: + labelValue: Tennessee + primaryLabelValue: Tennessee + - attributeHeader: + labelValue: Tennessee + primaryLabelValue: Tennessee + - attributeHeader: + labelValue: Tennessee + primaryLabelValue: Tennessee + - attributeHeader: + labelValue: Tennessee + primaryLabelValue: Tennessee + - attributeHeader: + labelValue: Tennessee + primaryLabelValue: Tennessee + - attributeHeader: + labelValue: Tennessee + primaryLabelValue: Tennessee + - attributeHeader: + labelValue: Tennessee + primaryLabelValue: Tennessee + - attributeHeader: + labelValue: Tennessee + primaryLabelValue: Tennessee + - attributeHeader: + labelValue: Texas + primaryLabelValue: Texas + - attributeHeader: + labelValue: Texas + primaryLabelValue: Texas + - attributeHeader: + labelValue: Texas + primaryLabelValue: Texas + - attributeHeader: + labelValue: Texas + primaryLabelValue: Texas + - attributeHeader: + labelValue: Texas + primaryLabelValue: Texas + - attributeHeader: + labelValue: Texas + primaryLabelValue: Texas + - attributeHeader: + labelValue: Texas + primaryLabelValue: Texas + - attributeHeader: + labelValue: Texas + primaryLabelValue: Texas + - attributeHeader: + labelValue: Virginia + primaryLabelValue: Virginia + - attributeHeader: + labelValue: Virginia + primaryLabelValue: Virginia + - attributeHeader: + labelValue: Virginia + primaryLabelValue: Virginia + - attributeHeader: + labelValue: Virginia + primaryLabelValue: Virginia + - attributeHeader: + labelValue: Virginia + primaryLabelValue: Virginia + - attributeHeader: + labelValue: Virginia + primaryLabelValue: Virginia + - attributeHeader: + labelValue: Virginia + primaryLabelValue: Virginia + - attributeHeader: + labelValue: Virginia + primaryLabelValue: Virginia + - attributeHeader: + labelValue: West Virginia + primaryLabelValue: West Virginia + - attributeHeader: + labelValue: West Virginia + primaryLabelValue: West Virginia + - attributeHeader: + labelValue: West Virginia + primaryLabelValue: West Virginia + - attributeHeader: + labelValue: West Virginia + primaryLabelValue: West Virginia + - attributeHeader: + labelValue: West Virginia + primaryLabelValue: West Virginia + - attributeHeader: + labelValue: West Virginia + primaryLabelValue: West Virginia + - attributeHeader: + labelValue: West Virginia + primaryLabelValue: West Virginia + - attributeHeader: + labelValue: West Virginia + primaryLabelValue: West Virginia + - attributeHeader: + labelValue: Rhode Island + primaryLabelValue: Rhode Island + - attributeHeader: + labelValue: Rhode Island + primaryLabelValue: Rhode Island + - attributeHeader: + labelValue: AK + primaryLabelValue: AK + - attributeHeader: + labelValue: AK + primaryLabelValue: AK + - attributeHeader: + labelValue: AK + primaryLabelValue: AK + - attributeHeader: + labelValue: AK + primaryLabelValue: AK + - attributeHeader: + labelValue: AK + primaryLabelValue: AK + - attributeHeader: + labelValue: AK + primaryLabelValue: AK + - attributeHeader: + labelValue: AK + primaryLabelValue: AK + - attributeHeader: + labelValue: AK + primaryLabelValue: AK + - attributeHeader: + labelValue: Arizona + primaryLabelValue: Arizona + - attributeHeader: + labelValue: Arizona + primaryLabelValue: Arizona + - attributeHeader: + labelValue: Arizona + primaryLabelValue: Arizona + - attributeHeader: + labelValue: Arizona + primaryLabelValue: Arizona + - attributeHeader: + labelValue: Arizona + primaryLabelValue: Arizona + - attributeHeader: + labelValue: Arizona + primaryLabelValue: Arizona + - attributeHeader: + labelValue: Arizona + primaryLabelValue: Arizona + - attributeHeader: + labelValue: Arizona + primaryLabelValue: Arizona + - attributeHeader: + labelValue: California + primaryLabelValue: California + - attributeHeader: + labelValue: California + primaryLabelValue: California + - attributeHeader: + labelValue: California + primaryLabelValue: California + - attributeHeader: + labelValue: California + primaryLabelValue: California + - attributeHeader: + labelValue: California + primaryLabelValue: California + - attributeHeader: + labelValue: California + primaryLabelValue: California + - attributeHeader: + labelValue: California + primaryLabelValue: California + - attributeHeader: + labelValue: California + primaryLabelValue: California + - attributeHeader: + labelValue: Colorado + primaryLabelValue: Colorado + - attributeHeader: + labelValue: Colorado + primaryLabelValue: Colorado + - attributeHeader: + labelValue: Colorado + primaryLabelValue: Colorado + - attributeHeader: + labelValue: Colorado + primaryLabelValue: Colorado + - attributeHeader: + labelValue: Colorado + primaryLabelValue: Colorado + - attributeHeader: + labelValue: Colorado + primaryLabelValue: Colorado + - attributeHeader: + labelValue: Colorado + primaryLabelValue: Colorado + - attributeHeader: + labelValue: Colorado + primaryLabelValue: Colorado + - attributeHeader: + labelValue: Hawaii + primaryLabelValue: Hawaii + - attributeHeader: + labelValue: Hawaii + primaryLabelValue: Hawaii + - attributeHeader: + labelValue: Hawaii + primaryLabelValue: Hawaii + - attributeHeader: + labelValue: Hawaii + primaryLabelValue: Hawaii + - attributeHeader: + labelValue: Hawaii + primaryLabelValue: Hawaii + - attributeHeader: + labelValue: Hawaii + primaryLabelValue: Hawaii + - attributeHeader: + labelValue: Hawaii + primaryLabelValue: Hawaii + - attributeHeader: + labelValue: Hawaii + primaryLabelValue: Hawaii + - attributeHeader: + labelValue: Idaho + primaryLabelValue: Idaho + - attributeHeader: + labelValue: Idaho + primaryLabelValue: Idaho + - attributeHeader: + labelValue: Idaho + primaryLabelValue: Idaho + - attributeHeader: + labelValue: Idaho + primaryLabelValue: Idaho + - attributeHeader: + labelValue: Idaho + primaryLabelValue: Idaho + - attributeHeader: + labelValue: Idaho + primaryLabelValue: Idaho + - attributeHeader: + labelValue: Idaho + primaryLabelValue: Idaho + - attributeHeader: + labelValue: Idaho + primaryLabelValue: Idaho + - attributeHeader: + labelValue: Montana + primaryLabelValue: Montana + - attributeHeader: + labelValue: Montana + primaryLabelValue: Montana + - attributeHeader: + labelValue: Montana + primaryLabelValue: Montana + - attributeHeader: + labelValue: Montana + primaryLabelValue: Montana + - attributeHeader: + labelValue: Montana + primaryLabelValue: Montana + - attributeHeader: + labelValue: Montana + primaryLabelValue: Montana + - attributeHeader: + labelValue: Nevada + primaryLabelValue: Nevada + - attributeHeader: + labelValue: Nevada + primaryLabelValue: Nevada + - attributeHeader: + labelValue: Nevada + primaryLabelValue: Nevada + - attributeHeader: + labelValue: Nevada + primaryLabelValue: Nevada + - attributeHeader: + labelValue: Nevada + primaryLabelValue: Nevada + - attributeHeader: + labelValue: Nevada + primaryLabelValue: Nevada + - attributeHeader: + labelValue: New Mexico + primaryLabelValue: New Mexico + - attributeHeader: + labelValue: New Mexico + primaryLabelValue: New Mexico + - attributeHeader: + labelValue: New Mexico + primaryLabelValue: New Mexico + - attributeHeader: + labelValue: New Mexico + primaryLabelValue: New Mexico + - attributeHeader: + labelValue: New Mexico + primaryLabelValue: New Mexico + - attributeHeader: + labelValue: New Mexico + primaryLabelValue: New Mexico + - attributeHeader: + labelValue: Oregon + primaryLabelValue: Oregon + - attributeHeader: + labelValue: Oregon + primaryLabelValue: Oregon + - attributeHeader: + labelValue: Oregon + primaryLabelValue: Oregon + - attributeHeader: + labelValue: Oregon + primaryLabelValue: Oregon + - attributeHeader: + labelValue: Oregon + primaryLabelValue: Oregon + - attributeHeader: + labelValue: Oregon + primaryLabelValue: Oregon + - attributeHeader: + labelValue: Oregon + primaryLabelValue: Oregon + - attributeHeader: + labelValue: Oregon + primaryLabelValue: Oregon + - attributeHeader: + labelValue: Utah + primaryLabelValue: Utah + - attributeHeader: + labelValue: Utah + primaryLabelValue: Utah + - attributeHeader: + labelValue: Utah + primaryLabelValue: Utah + - attributeHeader: + labelValue: Utah + primaryLabelValue: Utah + - attributeHeader: + labelValue: Utah + primaryLabelValue: Utah + - attributeHeader: + labelValue: Utah + primaryLabelValue: Utah + - attributeHeader: + labelValue: Utah + primaryLabelValue: Utah + - attributeHeader: + labelValue: Utah + primaryLabelValue: Utah + - attributeHeader: + labelValue: Washington + primaryLabelValue: Washington + - attributeHeader: + labelValue: Washington + primaryLabelValue: Washington + - attributeHeader: + labelValue: Washington + primaryLabelValue: Washington + - attributeHeader: + labelValue: Washington + primaryLabelValue: Washington + - attributeHeader: + labelValue: Washington + primaryLabelValue: Washington + - attributeHeader: + labelValue: Washington + primaryLabelValue: Washington + - attributeHeader: + labelValue: Washington + primaryLabelValue: Washington + - attributeHeader: + labelValue: Washington + primaryLabelValue: Washington + - headers: + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor - attributeHeader: - labelValue: West - primaryLabelValue: West + labelValue: Outdoor + primaryLabelValue: Outdoor - attributeHeader: - labelValue: West - primaryLabelValue: West + labelValue: Clothing + primaryLabelValue: Clothing - attributeHeader: - labelValue: West - primaryLabelValue: West + labelValue: Clothing + primaryLabelValue: Clothing - attributeHeader: - labelValue: West - primaryLabelValue: West + labelValue: Electronics + primaryLabelValue: Electronics - attributeHeader: - labelValue: West - primaryLabelValue: West + labelValue: Electronics + primaryLabelValue: Electronics - attributeHeader: - labelValue: West - primaryLabelValue: West + labelValue: Home + primaryLabelValue: Home - attributeHeader: - labelValue: West - primaryLabelValue: West + labelValue: Home + primaryLabelValue: Home - attributeHeader: - labelValue: West - primaryLabelValue: West + labelValue: Outdoor + primaryLabelValue: Outdoor - attributeHeader: - labelValue: West - primaryLabelValue: West + labelValue: Outdoor + primaryLabelValue: Outdoor - attributeHeader: - labelValue: West - primaryLabelValue: West + labelValue: Clothing + primaryLabelValue: Clothing - attributeHeader: - labelValue: West - primaryLabelValue: West + labelValue: Clothing + primaryLabelValue: Clothing - attributeHeader: - labelValue: West - primaryLabelValue: West + labelValue: Electronics + primaryLabelValue: Electronics - attributeHeader: - labelValue: West - primaryLabelValue: West + labelValue: Electronics + primaryLabelValue: Electronics - attributeHeader: - labelValue: West - primaryLabelValue: West + labelValue: Home + primaryLabelValue: Home - attributeHeader: - labelValue: West - primaryLabelValue: West + labelValue: Home + primaryLabelValue: Home - attributeHeader: - labelValue: West - primaryLabelValue: West + labelValue: Outdoor + primaryLabelValue: Outdoor - attributeHeader: - labelValue: West - primaryLabelValue: West + labelValue: Outdoor + primaryLabelValue: Outdoor - attributeHeader: - labelValue: West - primaryLabelValue: West + labelValue: Clothing + primaryLabelValue: Clothing - attributeHeader: - labelValue: West - primaryLabelValue: West + labelValue: Clothing + primaryLabelValue: Clothing - attributeHeader: - labelValue: West - primaryLabelValue: West + labelValue: Electronics + primaryLabelValue: Electronics - attributeHeader: - labelValue: West - primaryLabelValue: West + labelValue: Electronics + primaryLabelValue: Electronics - attributeHeader: - labelValue: West - primaryLabelValue: West + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics - attributeHeader: - labelValue: West - primaryLabelValue: West + labelValue: Electronics + primaryLabelValue: Electronics - attributeHeader: - labelValue: West - primaryLabelValue: West + labelValue: Home + primaryLabelValue: Home - attributeHeader: - labelValue: West - primaryLabelValue: West + labelValue: Home + primaryLabelValue: Home - attributeHeader: - labelValue: West - primaryLabelValue: West + labelValue: Outdoor + primaryLabelValue: Outdoor - attributeHeader: - labelValue: West - primaryLabelValue: West + labelValue: Outdoor + primaryLabelValue: Outdoor - attributeHeader: - labelValue: West - primaryLabelValue: West + labelValue: Clothing + primaryLabelValue: Clothing - attributeHeader: - labelValue: West - primaryLabelValue: West + labelValue: Clothing + primaryLabelValue: Clothing - attributeHeader: - labelValue: West - primaryLabelValue: West + labelValue: Electronics + primaryLabelValue: Electronics - attributeHeader: - labelValue: West - primaryLabelValue: West + labelValue: Electronics + primaryLabelValue: Electronics - attributeHeader: - labelValue: West - primaryLabelValue: West + labelValue: Home + primaryLabelValue: Home - attributeHeader: - labelValue: West - primaryLabelValue: West + labelValue: Home + primaryLabelValue: Home - attributeHeader: - labelValue: West - primaryLabelValue: West + labelValue: Outdoor + primaryLabelValue: Outdoor - attributeHeader: - labelValue: West - primaryLabelValue: West + labelValue: Outdoor + primaryLabelValue: Outdoor - attributeHeader: - labelValue: West - primaryLabelValue: West + labelValue: Clothing + primaryLabelValue: Clothing - attributeHeader: - labelValue: West - primaryLabelValue: West + labelValue: Clothing + primaryLabelValue: Clothing - attributeHeader: - labelValue: West - primaryLabelValue: West + labelValue: Electronics + primaryLabelValue: Electronics - attributeHeader: - labelValue: West - primaryLabelValue: West + labelValue: Electronics + primaryLabelValue: Electronics - attributeHeader: - labelValue: West - primaryLabelValue: West + labelValue: Home + primaryLabelValue: Home - attributeHeader: - labelValue: West - primaryLabelValue: West + labelValue: Home + primaryLabelValue: Home - attributeHeader: - labelValue: West - primaryLabelValue: West + labelValue: Outdoor + primaryLabelValue: Outdoor - attributeHeader: - labelValue: West - primaryLabelValue: West + labelValue: Outdoor + primaryLabelValue: Outdoor - attributeHeader: - labelValue: West - primaryLabelValue: West + labelValue: Clothing + primaryLabelValue: Clothing - attributeHeader: - labelValue: West - primaryLabelValue: West + labelValue: Clothing + primaryLabelValue: Clothing - attributeHeader: - labelValue: West - primaryLabelValue: West + labelValue: Electronics + primaryLabelValue: Electronics - attributeHeader: - labelValue: West - primaryLabelValue: West + labelValue: Electronics + primaryLabelValue: Electronics - attributeHeader: - labelValue: West - primaryLabelValue: West + labelValue: Home + primaryLabelValue: Home - attributeHeader: - labelValue: West - primaryLabelValue: West + labelValue: Home + primaryLabelValue: Home - attributeHeader: - labelValue: West - primaryLabelValue: West + labelValue: Outdoor + primaryLabelValue: Outdoor - attributeHeader: - labelValue: West - primaryLabelValue: West + labelValue: Outdoor + primaryLabelValue: Outdoor - attributeHeader: - labelValue: West - primaryLabelValue: West + labelValue: Clothing + primaryLabelValue: Clothing - attributeHeader: - labelValue: West - primaryLabelValue: West + labelValue: Clothing + primaryLabelValue: Clothing - attributeHeader: - labelValue: West - primaryLabelValue: West + labelValue: Electronics + primaryLabelValue: Electronics - attributeHeader: - labelValue: West - primaryLabelValue: West + labelValue: Electronics + primaryLabelValue: Electronics - attributeHeader: - labelValue: West - primaryLabelValue: West + labelValue: Home + primaryLabelValue: Home - attributeHeader: - labelValue: West - primaryLabelValue: West + labelValue: Home + primaryLabelValue: Home - attributeHeader: - labelValue: West - primaryLabelValue: West + labelValue: Outdoor + primaryLabelValue: Outdoor - attributeHeader: - labelValue: West - primaryLabelValue: West + labelValue: Outdoor + primaryLabelValue: Outdoor - attributeHeader: - labelValue: West - primaryLabelValue: West + labelValue: Clothing + primaryLabelValue: Clothing - attributeHeader: - labelValue: West - primaryLabelValue: West + labelValue: Clothing + primaryLabelValue: Clothing - attributeHeader: - labelValue: West - primaryLabelValue: West + labelValue: Electronics + primaryLabelValue: Electronics - attributeHeader: - labelValue: West - primaryLabelValue: West - - headers: + labelValue: Electronics + primaryLabelValue: Electronics - attributeHeader: - labelValue: Colorado - primaryLabelValue: Colorado + labelValue: Home + primaryLabelValue: Home - attributeHeader: - labelValue: Colorado - primaryLabelValue: Colorado + labelValue: Home + primaryLabelValue: Home - attributeHeader: - labelValue: Colorado - primaryLabelValue: Colorado + labelValue: Outdoor + primaryLabelValue: Outdoor - attributeHeader: - labelValue: Colorado - primaryLabelValue: Colorado + labelValue: Outdoor + primaryLabelValue: Outdoor - attributeHeader: - labelValue: Colorado - primaryLabelValue: Colorado + labelValue: Clothing + primaryLabelValue: Clothing - attributeHeader: - labelValue: Colorado - primaryLabelValue: Colorado + labelValue: Clothing + primaryLabelValue: Clothing - attributeHeader: - labelValue: Hawaii - primaryLabelValue: Hawaii + labelValue: Electronics + primaryLabelValue: Electronics - attributeHeader: - labelValue: Hawaii - primaryLabelValue: Hawaii + labelValue: Electronics + primaryLabelValue: Electronics - attributeHeader: - labelValue: Hawaii - primaryLabelValue: Hawaii + labelValue: Home + primaryLabelValue: Home - attributeHeader: - labelValue: Hawaii - primaryLabelValue: Hawaii + labelValue: Home + primaryLabelValue: Home - attributeHeader: - labelValue: Hawaii - primaryLabelValue: Hawaii + labelValue: Outdoor + primaryLabelValue: Outdoor - attributeHeader: - labelValue: Hawaii - primaryLabelValue: Hawaii + labelValue: Outdoor + primaryLabelValue: Outdoor - attributeHeader: - labelValue: Hawaii - primaryLabelValue: Hawaii + labelValue: Clothing + primaryLabelValue: Clothing - attributeHeader: - labelValue: Hawaii - primaryLabelValue: Hawaii + labelValue: Clothing + primaryLabelValue: Clothing - attributeHeader: - labelValue: Idaho - primaryLabelValue: Idaho + labelValue: Electronics + primaryLabelValue: Electronics - attributeHeader: - labelValue: Idaho - primaryLabelValue: Idaho + labelValue: Electronics + primaryLabelValue: Electronics - attributeHeader: - labelValue: Idaho - primaryLabelValue: Idaho + labelValue: Home + primaryLabelValue: Home - attributeHeader: - labelValue: Idaho - primaryLabelValue: Idaho + labelValue: Home + primaryLabelValue: Home - attributeHeader: - labelValue: Idaho - primaryLabelValue: Idaho + labelValue: Outdoor + primaryLabelValue: Outdoor - attributeHeader: - labelValue: Idaho - primaryLabelValue: Idaho + labelValue: Outdoor + primaryLabelValue: Outdoor - attributeHeader: - labelValue: Idaho - primaryLabelValue: Idaho + labelValue: Clothing + primaryLabelValue: Clothing - attributeHeader: - labelValue: Idaho - primaryLabelValue: Idaho + labelValue: Clothing + primaryLabelValue: Clothing - attributeHeader: - labelValue: Montana - primaryLabelValue: Montana + labelValue: Electronics + primaryLabelValue: Electronics - attributeHeader: - labelValue: Montana - primaryLabelValue: Montana + labelValue: Electronics + primaryLabelValue: Electronics - attributeHeader: - labelValue: Montana - primaryLabelValue: Montana + labelValue: Home + primaryLabelValue: Home - attributeHeader: - labelValue: Montana - primaryLabelValue: Montana + labelValue: Home + primaryLabelValue: Home - attributeHeader: - labelValue: Montana - primaryLabelValue: Montana + labelValue: Outdoor + primaryLabelValue: Outdoor - attributeHeader: - labelValue: Montana - primaryLabelValue: Montana + labelValue: Outdoor + primaryLabelValue: Outdoor - attributeHeader: - labelValue: Nevada - primaryLabelValue: Nevada + labelValue: Clothing + primaryLabelValue: Clothing - attributeHeader: - labelValue: Nevada - primaryLabelValue: Nevada + labelValue: Clothing + primaryLabelValue: Clothing - attributeHeader: - labelValue: Nevada - primaryLabelValue: Nevada + labelValue: Electronics + primaryLabelValue: Electronics - attributeHeader: - labelValue: Nevada - primaryLabelValue: Nevada + labelValue: Electronics + primaryLabelValue: Electronics - attributeHeader: - labelValue: Nevada - primaryLabelValue: Nevada + labelValue: Home + primaryLabelValue: Home - attributeHeader: - labelValue: Nevada - primaryLabelValue: Nevada + labelValue: Home + primaryLabelValue: Home - attributeHeader: - labelValue: New Mexico - primaryLabelValue: New Mexico + labelValue: Outdoor + primaryLabelValue: Outdoor - attributeHeader: - labelValue: New Mexico - primaryLabelValue: New Mexico + labelValue: Outdoor + primaryLabelValue: Outdoor - attributeHeader: - labelValue: New Mexico - primaryLabelValue: New Mexico + labelValue: Clothing + primaryLabelValue: Clothing - attributeHeader: - labelValue: New Mexico - primaryLabelValue: New Mexico + labelValue: Clothing + primaryLabelValue: Clothing - attributeHeader: - labelValue: New Mexico - primaryLabelValue: New Mexico + labelValue: Clothing + primaryLabelValue: Clothing - attributeHeader: - labelValue: New Mexico - primaryLabelValue: New Mexico + labelValue: Clothing + primaryLabelValue: Clothing - attributeHeader: - labelValue: Oregon - primaryLabelValue: Oregon + labelValue: Electronics + primaryLabelValue: Electronics - attributeHeader: - labelValue: Oregon - primaryLabelValue: Oregon + labelValue: Electronics + primaryLabelValue: Electronics - attributeHeader: - labelValue: Oregon - primaryLabelValue: Oregon + labelValue: Home + primaryLabelValue: Home - attributeHeader: - labelValue: Oregon - primaryLabelValue: Oregon + labelValue: Home + primaryLabelValue: Home - attributeHeader: - labelValue: Oregon - primaryLabelValue: Oregon + labelValue: Outdoor + primaryLabelValue: Outdoor - attributeHeader: - labelValue: Oregon - primaryLabelValue: Oregon + labelValue: Outdoor + primaryLabelValue: Outdoor - attributeHeader: - labelValue: Oregon - primaryLabelValue: Oregon + labelValue: Clothing + primaryLabelValue: Clothing - attributeHeader: - labelValue: Oregon - primaryLabelValue: Oregon + labelValue: Clothing + primaryLabelValue: Clothing - attributeHeader: - labelValue: Utah - primaryLabelValue: Utah + labelValue: Electronics + primaryLabelValue: Electronics - attributeHeader: - labelValue: Utah - primaryLabelValue: Utah + labelValue: Electronics + primaryLabelValue: Electronics - attributeHeader: - labelValue: Utah - primaryLabelValue: Utah + labelValue: Home + primaryLabelValue: Home - attributeHeader: - labelValue: Utah - primaryLabelValue: Utah + labelValue: Home + primaryLabelValue: Home - attributeHeader: - labelValue: Utah - primaryLabelValue: Utah + labelValue: Outdoor + primaryLabelValue: Outdoor - attributeHeader: - labelValue: Utah - primaryLabelValue: Utah + labelValue: Outdoor + primaryLabelValue: Outdoor - attributeHeader: - labelValue: Utah - primaryLabelValue: Utah + labelValue: Clothing + primaryLabelValue: Clothing - attributeHeader: - labelValue: Utah - primaryLabelValue: Utah + labelValue: Clothing + primaryLabelValue: Clothing - attributeHeader: - labelValue: Washington - primaryLabelValue: Washington + labelValue: Electronics + primaryLabelValue: Electronics - attributeHeader: - labelValue: Washington - primaryLabelValue: Washington + labelValue: Electronics + primaryLabelValue: Electronics - attributeHeader: - labelValue: Washington - primaryLabelValue: Washington + labelValue: Home + primaryLabelValue: Home - attributeHeader: - labelValue: Washington - primaryLabelValue: Washington + labelValue: Home + primaryLabelValue: Home - attributeHeader: - labelValue: Washington - primaryLabelValue: Washington + labelValue: Outdoor + primaryLabelValue: Outdoor - attributeHeader: - labelValue: Washington - primaryLabelValue: Washington + labelValue: Outdoor + primaryLabelValue: Outdoor - attributeHeader: - labelValue: Washington - primaryLabelValue: Washington + labelValue: Clothing + primaryLabelValue: Clothing - attributeHeader: - labelValue: Washington - primaryLabelValue: Washington - - headers: + labelValue: Clothing + primaryLabelValue: Clothing - attributeHeader: labelValue: Electronics primaryLabelValue: Electronics @@ -9988,11 +8848,611 @@ interactions: measureIndex: 0 - measureHeader: measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 grandTotals: [] paging: count: - - 64 + - 364 offset: - - 300 + - 0 total: - 364 diff --git a/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_one_dim2.yaml b/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_one_dim2.yaml index 1f5a65a54..c25c68139 100644 --- a/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_one_dim2.yaml +++ b/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_one_dim2.yaml @@ -181,10 +181,10 @@ interactions: name: Order Amount localIdentifier: dim_1 links: - executionResult: 4ff522714f4840480d66309219c6a6a51860b233 + executionResult: 2f9e53757893d2bb368ec87a718adaa1985f6f64 - request: method: GET - uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/4ff522714f4840480d66309219c6a6a51860b233/metadata + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/2f9e53757893d2bb368ec87a718adaa1985f6f64/metadata body: null headers: Accept: @@ -254,7 +254,7 @@ interactions: X-XSS-Protection: - 1 ; mode=block content-length: - - '2049' + - '2048' body: string: afm: @@ -353,7 +353,7 @@ interactions: name: Order Amount localIdentifier: dim_1 links: - executionResult: 4ff522714f4840480d66309219c6a6a51860b233 + executionResult: 2f9e53757893d2bb368ec87a718adaa1985f6f64 resultSpec: dimensions: - localIdentifier: dim_0 @@ -367,10 +367,10 @@ interactions: - measureGroup sorting: [] totals: [] - resultSize: 34890 + resultSize: 2913 - request: method: GET - uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/4ff522714f4840480d66309219c6a6a51860b233?offset=0%2C0&limit=100%2C100 + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/2f9e53757893d2bb368ec87a718adaa1985f6f64?offset=0%2C0&limit=100%2C100 body: null headers: Accept: @@ -1664,7 +1664,7 @@ interactions: - 364 - request: method: GET - uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/4ff522714f4840480d66309219c6a6a51860b233?offset=0%2C100&limit=100%2C100 + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/2f9e53757893d2bb368ec87a718adaa1985f6f64?offset=0%2C100&limit=100%2C100 body: null headers: Accept: @@ -2958,7 +2958,7 @@ interactions: - 364 - request: method: GET - uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/4ff522714f4840480d66309219c6a6a51860b233?offset=0%2C200&limit=100%2C100 + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/2f9e53757893d2bb368ec87a718adaa1985f6f64?offset=0%2C200&limit=100%2C100 body: null headers: Accept: @@ -4252,7 +4252,7 @@ interactions: - 364 - request: method: GET - uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/4ff522714f4840480d66309219c6a6a51860b233?offset=0%2C300&limit=100%2C100 + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/2f9e53757893d2bb368ec87a718adaa1985f6f64?offset=0%2C300&limit=100%2C100 body: null headers: Accept: @@ -5114,7 +5114,7 @@ interactions: - 364 - request: method: GET - uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/4ff522714f4840480d66309219c6a6a51860b233/metadata + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/2f9e53757893d2bb368ec87a718adaa1985f6f64/metadata body: null headers: Accept: @@ -5184,7 +5184,7 @@ interactions: X-XSS-Protection: - 1 ; mode=block content-length: - - '2049' + - '2048' body: string: afm: @@ -5283,7 +5283,7 @@ interactions: name: Order Amount localIdentifier: dim_1 links: - executionResult: 4ff522714f4840480d66309219c6a6a51860b233 + executionResult: 2f9e53757893d2bb368ec87a718adaa1985f6f64 resultSpec: dimensions: - localIdentifier: dim_0 @@ -5297,10 +5297,10 @@ interactions: - measureGroup sorting: [] totals: [] - resultSize: 34890 + resultSize: 2913 - request: method: GET - uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/4ff522714f4840480d66309219c6a6a51860b233?offset=0%2C0&limit=100%2C100 + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/2f9e53757893d2bb368ec87a718adaa1985f6f64?offset=0%2C0&limit=100%2C100 body: null headers: Accept: @@ -6594,7 +6594,7 @@ interactions: - 364 - request: method: GET - uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/4ff522714f4840480d66309219c6a6a51860b233?offset=0%2C100&limit=100%2C100 + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/2f9e53757893d2bb368ec87a718adaa1985f6f64?offset=0%2C100&limit=100%2C100 body: null headers: Accept: @@ -7888,7 +7888,7 @@ interactions: - 364 - request: method: GET - uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/4ff522714f4840480d66309219c6a6a51860b233?offset=0%2C200&limit=100%2C100 + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/2f9e53757893d2bb368ec87a718adaa1985f6f64?offset=0%2C200&limit=100%2C100 body: null headers: Accept: @@ -9182,7 +9182,7 @@ interactions: - 364 - request: method: GET - uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/4ff522714f4840480d66309219c6a6a51860b233?offset=0%2C300&limit=100%2C100 + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/2f9e53757893d2bb368ec87a718adaa1985f6f64?offset=0%2C300&limit=100%2C100 body: null headers: Accept: diff --git a/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_totals1.yaml b/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_totals1.yaml index 52fb5556e..fb724133d 100644 --- a/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_totals1.yaml +++ b/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_totals1.yaml @@ -200,10 +200,10 @@ interactions: name: Order Amount localIdentifier: dim_1 links: - executionResult: 5c3b2376af9338a03dde550ecedb2632586d0f13 + executionResult: 9825cdca7eb3ffec4a122861bbd6b2f77d70cabc - request: method: GET - uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/5c3b2376af9338a03dde550ecedb2632586d0f13/metadata + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/9825cdca7eb3ffec4a122861bbd6b2f77d70cabc/metadata body: null headers: Accept: @@ -273,7 +273,7 @@ interactions: X-XSS-Protection: - 1 ; mode=block content-length: - - '2407' + - '2406' body: string: afm: @@ -372,7 +372,7 @@ interactions: name: Order Amount localIdentifier: dim_1 links: - executionResult: 5c3b2376af9338a03dde550ecedb2632586d0f13 + executionResult: 9825cdca7eb3ffec4a122861bbd6b2f77d70cabc resultSpec: dimensions: - localIdentifier: dim_0 @@ -404,10 +404,10 @@ interactions: - region - state - measureGroup - resultSize: 11108 + resultSize: 4770 - request: method: GET - uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/5c3b2376af9338a03dde550ecedb2632586d0f13?offset=0%2C0&limit=100%2C100 + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/9825cdca7eb3ffec4a122861bbd6b2f77d70cabc?offset=0%2C0&limit=100%2C100 body: null headers: Accept: @@ -477,7 +477,7 @@ interactions: X-XSS-Protection: - 1 ; mode=block content-length: - - '22919' + - '22920' body: string: data: @@ -1654,205 +1654,205 @@ interactions: measureIndex: 1 grandTotals: - data: - - - null - - 3205.41 + - - 8804.49 - null - - 3939.72 + - 5982.7 - null - - 3542.07 + - 8467.679999999998 - null - - 2349.06 + - 4503.79 - null - - 5617.86 + - 7745.420000000001 - null - - 3157.96 + - 8189.130000000001 - null - - 3763.37 + - 8546.58 - null - - 770.11 + - 2558.1 - null - - 102.03 + - 176.71 - null - - 7939.25 + - 13572.17 - null - - 393.47 + - 640.05 - null - - 5646.42 + - 10650.42 - null - - 1048.14 + - 2892.16 - null - - 1729.45 + - 4050.87 - null - - 360.16 + - 382.19 - null - - 1129.66 + - 2132.86 - null - - 13727.01 + - 21687.019999999997 - null - - 9706.62 + - 13555.43 - null - - 3837.42 + - 6198.55 - null - - 3384.84 + - 4683.68 - null - - 1355.06 + - 3239.7200000000003 - null - - 7595.78 + - 16394.17 - null - - 25807.35 + - 41989.67 - null - - 5985.75 + - 9865.27 - null - - 1671.49 + - 2879.09 - null - - 2185.98 + - 6511.789999999999 - null - - 6919.63 + - 8417.93 - null - - 2834.07 + - 3967.36 - null - - 4879.18 + - 8876.18 - null - - 6328.89 + - 8748.77 - null - - 1259.77 + - 3435.73 - null - - 1995.05 + - 5143.92 - null - - 22670.23 + - 44253.95 - null - - 7397.6 + - 15696.93 - null - - 1176.32 + - 2654.63 - null - 18.7 - null - - 2664.71 + - 4983.36 - null - - 3676.86 + - 10279.68 - null - - 30393.45 + - 57411.81 - null - - 5663.31 + - 10012.02 - null - - 3426.72 + - 5219.91 - null - - 3384.09 + - 1840.6399999999999 - null - - 701.11 + - 1384.3899999999999 - null - - 969.9 + - 1444.77 - null - - 540.36 + - 1328.97 - null - - 2074.55 + - 4465.110000000001 - null - - 6042.93 + - 8360.6 - null - - 4246.86 - - - 8804.49 + - 6219.379999999999 - null - - 5982.7 + - - null + - 3205.41 - null - - 8467.68 + - 3939.72 - null - - 4503.79 + - 3542.07 - null - - 7745.42 + - 2349.06 - null - - 8189.130000000001 + - 5617.86 - null - - 8546.58 + - 3157.96 - null - - 2558.1 + - 3763.37 - null - - 176.71 + - 770.11 - null - - 13572.17 + - 102.03 - null - - 640.05 + - 7939.25 - null - - 10650.42 + - 393.47 - null - - 2892.16 + - 5646.42 - null - - 4050.87 + - 1048.14 - null - - 382.19 + - 1729.45 - null - - 2132.86 + - 360.16 - null - - 21687.019999999997 + - 1129.66 - null - - 13555.43 + - 13727.01 - null - - 6198.55 + - 9706.62 - null - - 4683.68 + - 3837.42 - null - - 3239.7200000000003 + - 3384.84 - null - - 16394.17 + - 1355.06 - null - - 41989.67 + - 7595.78 - null - - 9865.269999999999 + - 25807.35 - null - - 2879.09 + - 5985.75 - null - - 6511.790000000001 + - 1671.49 - null - - 8417.93 + - 2185.98 - null - - 3967.36 + - 6919.63 - null - - 8876.18 + - 2834.07 - null - - 8748.77 + - 4879.18 - null - - 3435.73 + - 6328.89 - null - - 5143.92 + - 1259.77 - null - - 44253.95000000001 + - 1995.05 - null - - 15696.93 + - 22670.23 - null - - 2654.63 + - 7397.6 - null - - 18.7 + - 1176.32 - null - - 4983.36 + - 18.7 - null - - 10279.68 + - 2664.71 - null - - 57411.81 + - 3676.86 - null - - 10012.02 + - 30393.45 - null - - 5219.91 + - 5663.31 - null - - 1840.64 + - 3426.72 - null - - 1384.3899999999999 + - 3384.09 - null - - 1444.77 + - 701.11 - null - - 1328.9699999999998 + - 969.9 - null - - 4465.110000000001 + - 540.36 - null - - 8360.6 + - 2074.55 - null - - 6219.379999999999 + - 6042.93 - null + - 4246.86 dimensionHeaders: - headerGroups: - headers: - - totalHeader: - function: MAX - totalHeader: function: SUM + - totalHeader: + function: MAX totalDimensions: - dim_1 paging: @@ -1867,7 +1867,7 @@ interactions: - 96 - request: method: GET - uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/5c3b2376af9338a03dde550ecedb2632586d0f13/metadata + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/9825cdca7eb3ffec4a122861bbd6b2f77d70cabc/metadata body: null headers: Accept: @@ -1937,7 +1937,7 @@ interactions: X-XSS-Protection: - 1 ; mode=block content-length: - - '2407' + - '2406' body: string: afm: @@ -2036,7 +2036,7 @@ interactions: name: Order Amount localIdentifier: dim_1 links: - executionResult: 5c3b2376af9338a03dde550ecedb2632586d0f13 + executionResult: 9825cdca7eb3ffec4a122861bbd6b2f77d70cabc resultSpec: dimensions: - localIdentifier: dim_0 @@ -2068,10 +2068,10 @@ interactions: - region - state - measureGroup - resultSize: 11108 + resultSize: 4770 - request: method: GET - uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/5c3b2376af9338a03dde550ecedb2632586d0f13?offset=0%2C0&limit=100%2C100 + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/9825cdca7eb3ffec4a122861bbd6b2f77d70cabc?offset=0%2C0&limit=100%2C100 body: null headers: Accept: @@ -2141,7 +2141,7 @@ interactions: X-XSS-Protection: - 1 ; mode=block content-length: - - '22919' + - '22920' body: string: data: @@ -3318,205 +3318,205 @@ interactions: measureIndex: 1 grandTotals: - data: - - - null - - 3205.41 + - - 8804.49 - null - - 3939.72 + - 5982.7 - null - - 3542.07 + - 8467.679999999998 - null - - 2349.06 + - 4503.79 - null - - 5617.86 + - 7745.420000000001 - null - - 3157.96 + - 8189.130000000001 - null - - 3763.37 + - 8546.58 - null - - 770.11 + - 2558.1 - null - - 102.03 + - 176.71 - null - - 7939.25 + - 13572.17 - null - - 393.47 + - 640.05 - null - - 5646.42 + - 10650.42 - null - - 1048.14 + - 2892.16 - null - - 1729.45 + - 4050.87 - null - - 360.16 + - 382.19 - null - - 1129.66 + - 2132.86 - null - - 13727.01 + - 21687.019999999997 - null - - 9706.62 + - 13555.43 - null - - 3837.42 + - 6198.55 - null - - 3384.84 + - 4683.68 - null - - 1355.06 + - 3239.7200000000003 - null - - 7595.78 + - 16394.17 - null - - 25807.35 + - 41989.67 - null - - 5985.75 + - 9865.27 - null - - 1671.49 + - 2879.09 - null - - 2185.98 + - 6511.789999999999 - null - - 6919.63 + - 8417.93 - null - - 2834.07 + - 3967.36 - null - - 4879.18 + - 8876.18 - null - - 6328.89 + - 8748.77 - null - - 1259.77 + - 3435.73 - null - - 1995.05 + - 5143.92 - null - - 22670.23 + - 44253.95 - null - - 7397.6 + - 15696.93 - null - - 1176.32 + - 2654.63 - null - 18.7 - null - - 2664.71 + - 4983.36 - null - - 3676.86 + - 10279.68 - null - - 30393.45 + - 57411.81 - null - - 5663.31 + - 10012.02 - null - - 3426.72 + - 5219.91 - null - - 3384.09 + - 1840.6399999999999 - null - - 701.11 + - 1384.3899999999999 - null - - 969.9 + - 1444.77 - null - - 540.36 + - 1328.97 - null - - 2074.55 + - 4465.110000000001 - null - - 6042.93 + - 8360.6 - null - - 4246.86 - - - 8804.49 + - 6219.379999999999 - null - - 5982.7 + - - null + - 3205.41 - null - - 8467.68 + - 3939.72 - null - - 4503.79 + - 3542.07 - null - - 7745.42 + - 2349.06 - null - - 8189.130000000001 + - 5617.86 - null - - 8546.58 + - 3157.96 - null - - 2558.1 + - 3763.37 - null - - 176.71 + - 770.11 - null - - 13572.17 + - 102.03 - null - - 640.05 + - 7939.25 - null - - 10650.42 + - 393.47 - null - - 2892.16 + - 5646.42 - null - - 4050.87 + - 1048.14 - null - - 382.19 + - 1729.45 - null - - 2132.86 + - 360.16 - null - - 21687.019999999997 + - 1129.66 - null - - 13555.43 + - 13727.01 - null - - 6198.55 + - 9706.62 - null - - 4683.68 + - 3837.42 - null - - 3239.7200000000003 + - 3384.84 - null - - 16394.17 + - 1355.06 - null - - 41989.67 + - 7595.78 - null - - 9865.269999999999 + - 25807.35 - null - - 2879.09 + - 5985.75 - null - - 6511.790000000001 + - 1671.49 - null - - 8417.93 + - 2185.98 - null - - 3967.36 + - 6919.63 - null - - 8876.18 + - 2834.07 - null - - 8748.77 + - 4879.18 - null - - 3435.73 + - 6328.89 - null - - 5143.92 + - 1259.77 - null - - 44253.95000000001 + - 1995.05 - null - - 15696.93 + - 22670.23 - null - - 2654.63 + - 7397.6 - null - - 18.7 + - 1176.32 - null - - 4983.36 + - 18.7 - null - - 10279.68 + - 2664.71 - null - - 57411.81 + - 3676.86 - null - - 10012.02 + - 30393.45 - null - - 5219.91 + - 5663.31 - null - - 1840.64 + - 3426.72 - null - - 1384.3899999999999 + - 3384.09 - null - - 1444.77 + - 701.11 - null - - 1328.9699999999998 + - 969.9 - null - - 4465.110000000001 + - 540.36 - null - - 8360.6 + - 2074.55 - null - - 6219.379999999999 + - 6042.93 - null + - 4246.86 dimensionHeaders: - headerGroups: - headers: - - totalHeader: - function: MAX - totalHeader: function: SUM + - totalHeader: + function: MAX totalDimensions: - dim_1 paging: diff --git a/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_totals2.yaml b/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_totals2.yaml index eabc04efc..819dd2964 100644 --- a/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_totals2.yaml +++ b/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_totals2.yaml @@ -198,10 +198,10 @@ interactions: name: Order Amount localIdentifier: dim_1 links: - executionResult: 1ba3a68fc4afe47e6e7b6594d80c7376fae6ef98 + executionResult: 7c9720e9b5fac18b4cff44964d549e24aa672bef - request: method: GET - uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/1ba3a68fc4afe47e6e7b6594d80c7376fae6ef98/metadata + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/7c9720e9b5fac18b4cff44964d549e24aa672bef/metadata body: null headers: Accept: @@ -370,7 +370,7 @@ interactions: name: Order Amount localIdentifier: dim_1 links: - executionResult: 1ba3a68fc4afe47e6e7b6594d80c7376fae6ef98 + executionResult: 7c9720e9b5fac18b4cff44964d549e24aa672bef resultSpec: dimensions: - localIdentifier: dim_0 @@ -400,10 +400,10 @@ interactions: totalDimensionItems: - state - measureGroup - resultSize: 12234 + resultSize: 15292 - request: method: GET - uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/1ba3a68fc4afe47e6e7b6594d80c7376fae6ef98?offset=0%2C0&limit=100%2C100 + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/7c9720e9b5fac18b4cff44964d549e24aa672bef?offset=0%2C0&limit=100%2C100 body: null headers: Accept: @@ -473,7 +473,7 @@ interactions: X-XSS-Protection: - 1 ; mode=block content-length: - - '24543' + - '24544' body: string: data: @@ -2700,210 +2700,210 @@ interactions: measureIndex: 1 grandTotals: - data: - - - null - - 2664.71 + - - 4983.36 - null - - 3837.42 + - 6198.55 - null - - 3676.86 + - 10279.68 - null - - 3384.84 + - 4683.68 - null - - 30393.45 + - 57411.81 - null - - 5663.31 + - 10012.02 - null - - 1048.14 + - 2892.16 - null - - 1355.06 + - 3239.7200000000003 - null - - 7595.78 + - 16394.17 - null - - 25807.35 + - 41989.67 - null - - 5985.75 + - 9865.27 - null - - 3426.72 + - 5219.91 - null - - 3384.09 + - 1840.6399999999999 - null - - 3205.41 + - 8804.49 - null - - 3939.72 + - 5982.7 - null - - 3542.07 + - 8467.679999999998 - null - - 2349.06 + - 4503.79 - null - - 1671.49 + - 2879.09 - null - - 2185.98 + - 6511.789999999999 - null - - 6919.63 + - 8417.93 - null - - 1729.45 + - 4050.87 - null - - 5617.86 + - 7745.420000000001 - null - - 3157.96 + - 8189.130000000001 - null - - 2834.07 + - 3967.36 - null - - 3763.37 + - 8546.58 - null - - 701.11 + - 1384.3899999999999 - null - - 770.11 + - 2558.1 - null - - 969.9 + - 1444.77 - null - - 360.16 + - 382.19 - null - - 1129.66 + - 2132.86 - null - - 540.36 + - 1328.97 - null - - 13727.01 + - 21687.019999999997 - null - - 4879.18 + - 8876.18 - null - - 102.03 + - 176.71 - null - - 7939.25 + - 13572.17 - null - - 6328.89 + - 8748.77 - null - - 2074.55 + - 4465.110000000001 - null - - 9706.62 + - 13555.43 - null - 18.7 - null - - 1259.77 + - 3435.73 - null - - 393.47 + - 640.05 - null - - 1995.05 + - 5143.92 - null - - 22670.23 + - 44253.95 - null - - 6042.93 + - 8360.6 - null - - 7397.6 + - 15696.93 - null - - 4246.86 + - 6219.379999999999 - null - - 1176.32 + - 2654.63 - null - - 5646.42 - - - 4983.36 + - 10650.42 - null - - 6198.55 + - - null + - 2664.71 - null - - 10279.68 + - 3837.42 - null - - 4683.68 + - 3676.86 - null - - 57411.81 + - 3384.84 - null - - 10012.02 + - 30393.45 - null - - 2892.16 + - 5663.31 - null - - 3239.7200000000003 + - 1048.14 - null - - 16394.17 + - 1355.06 - null - - 41989.67 + - 7595.78 - null - - 9865.269999999999 + - 25807.35 - null - - 5219.91 + - 5985.75 - null - - 1840.64 + - 3426.72 - null - - 8804.49 + - 3384.09 - null - - 5982.7 + - 3205.41 - null - - 8467.68 + - 3939.72 - null - - 4503.79 + - 3542.07 - null - - 2879.09 + - 2349.06 - null - - 6511.790000000001 + - 1671.49 - null - - 8417.93 + - 2185.98 - null - - 4050.87 + - 6919.63 - null - - 7745.42 + - 1729.45 - null - - 8189.130000000001 + - 5617.86 - null - - 3967.36 + - 3157.96 - null - - 8546.58 + - 2834.07 - null - - 1384.3899999999999 + - 3763.37 - null - - 2558.1 + - 701.11 - null - - 1444.77 + - 770.11 - null - - 382.19 + - 969.9 - null - - 2132.86 + - 360.16 - null - - 1328.9699999999998 + - 1129.66 - null - - 21687.019999999997 + - 540.36 - null - - 8876.18 + - 13727.01 - null - - 176.71 + - 4879.18 - null - - 13572.17 + - 102.03 - null - - 8748.77 + - 7939.25 - null - - 4465.110000000001 + - 6328.89 - null - - 13555.43 + - 2074.55 - null - - 18.7 + - 9706.62 - null - - 3435.73 + - 18.7 - null - - 640.05 + - 1259.77 - null - - 5143.92 + - 393.47 - null - - 44253.95000000001 + - 1995.05 - null - - 8360.6 + - 22670.23 - null - - 15696.93 + - 6042.93 - null - - 6219.379999999999 + - 7397.6 - null - - 2654.63 + - 4246.86 - null - - 10650.42 + - 1176.32 - null + - 5646.42 dimensionHeaders: - headerGroups: - headers: - - totalHeader: - function: MAX - totalHeader: function: SUM - - headers: - totalHeader: function: MAX + - headers: - totalHeader: function: SUM + - totalHeader: + function: MAX totalDimensions: - dim_1 paging: @@ -2918,7 +2918,7 @@ interactions: - 96 - request: method: GET - uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/1ba3a68fc4afe47e6e7b6594d80c7376fae6ef98/metadata + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/7c9720e9b5fac18b4cff44964d549e24aa672bef/metadata body: null headers: Accept: @@ -3087,7 +3087,7 @@ interactions: name: Order Amount localIdentifier: dim_1 links: - executionResult: 1ba3a68fc4afe47e6e7b6594d80c7376fae6ef98 + executionResult: 7c9720e9b5fac18b4cff44964d549e24aa672bef resultSpec: dimensions: - localIdentifier: dim_0 @@ -3117,10 +3117,10 @@ interactions: totalDimensionItems: - state - measureGroup - resultSize: 12234 + resultSize: 15292 - request: method: GET - uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/1ba3a68fc4afe47e6e7b6594d80c7376fae6ef98?offset=0%2C0&limit=100%2C100 + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/7c9720e9b5fac18b4cff44964d549e24aa672bef?offset=0%2C0&limit=100%2C100 body: null headers: Accept: @@ -3190,7 +3190,7 @@ interactions: X-XSS-Protection: - 1 ; mode=block content-length: - - '24543' + - '24544' body: string: data: @@ -5417,210 +5417,210 @@ interactions: measureIndex: 1 grandTotals: - data: - - - null - - 2664.71 + - - 4983.36 - null - - 3837.42 + - 6198.55 - null - - 3676.86 + - 10279.68 - null - - 3384.84 + - 4683.68 - null - - 30393.45 + - 57411.81 - null - - 5663.31 + - 10012.02 - null - - 1048.14 + - 2892.16 - null - - 1355.06 + - 3239.7200000000003 - null - - 7595.78 + - 16394.17 - null - - 25807.35 + - 41989.67 - null - - 5985.75 + - 9865.27 - null - - 3426.72 + - 5219.91 - null - - 3384.09 + - 1840.6399999999999 - null - - 3205.41 + - 8804.49 - null - - 3939.72 + - 5982.7 - null - - 3542.07 + - 8467.679999999998 - null - - 2349.06 + - 4503.79 - null - - 1671.49 + - 2879.09 - null - - 2185.98 + - 6511.789999999999 - null - - 6919.63 + - 8417.93 - null - - 1729.45 + - 4050.87 - null - - 5617.86 + - 7745.420000000001 - null - - 3157.96 + - 8189.130000000001 - null - - 2834.07 + - 3967.36 - null - - 3763.37 + - 8546.58 - null - - 701.11 + - 1384.3899999999999 - null - - 770.11 + - 2558.1 - null - - 969.9 + - 1444.77 - null - - 360.16 + - 382.19 - null - - 1129.66 + - 2132.86 - null - - 540.36 + - 1328.97 - null - - 13727.01 + - 21687.019999999997 - null - - 4879.18 + - 8876.18 - null - - 102.03 + - 176.71 - null - - 7939.25 + - 13572.17 - null - - 6328.89 + - 8748.77 - null - - 2074.55 + - 4465.110000000001 - null - - 9706.62 + - 13555.43 - null - 18.7 - null - - 1259.77 + - 3435.73 - null - - 393.47 + - 640.05 - null - - 1995.05 + - 5143.92 - null - - 22670.23 + - 44253.95 - null - - 6042.93 + - 8360.6 - null - - 7397.6 + - 15696.93 - null - - 4246.86 + - 6219.379999999999 - null - - 1176.32 + - 2654.63 - null - - 5646.42 - - - 4983.36 + - 10650.42 - null - - 6198.55 + - - null + - 2664.71 - null - - 10279.68 + - 3837.42 - null - - 4683.68 + - 3676.86 - null - - 57411.81 + - 3384.84 - null - - 10012.02 + - 30393.45 - null - - 2892.16 + - 5663.31 - null - - 3239.7200000000003 + - 1048.14 - null - - 16394.17 + - 1355.06 - null - - 41989.67 + - 7595.78 - null - - 9865.269999999999 + - 25807.35 - null - - 5219.91 + - 5985.75 - null - - 1840.64 + - 3426.72 - null - - 8804.49 + - 3384.09 - null - - 5982.7 + - 3205.41 - null - - 8467.68 + - 3939.72 - null - - 4503.79 + - 3542.07 - null - - 2879.09 + - 2349.06 - null - - 6511.790000000001 + - 1671.49 - null - - 8417.93 + - 2185.98 - null - - 4050.87 + - 6919.63 - null - - 7745.42 + - 1729.45 - null - - 8189.130000000001 + - 5617.86 - null - - 3967.36 + - 3157.96 - null - - 8546.58 + - 2834.07 - null - - 1384.3899999999999 + - 3763.37 - null - - 2558.1 + - 701.11 - null - - 1444.77 + - 770.11 - null - - 382.19 + - 969.9 - null - - 2132.86 + - 360.16 - null - - 1328.9699999999998 + - 1129.66 - null - - 21687.019999999997 + - 540.36 - null - - 8876.18 + - 13727.01 - null - - 176.71 + - 4879.18 - null - - 13572.17 + - 102.03 - null - - 8748.77 + - 7939.25 - null - - 4465.110000000001 + - 6328.89 - null - - 13555.43 + - 2074.55 - null - - 18.7 + - 9706.62 - null - - 3435.73 + - 18.7 - null - - 640.05 + - 1259.77 - null - - 5143.92 + - 393.47 - null - - 44253.95000000001 + - 1995.05 - null - - 8360.6 + - 22670.23 - null - - 15696.93 + - 6042.93 - null - - 6219.379999999999 + - 7397.6 - null - - 2654.63 + - 4246.86 - null - - 10650.42 + - 1176.32 - null + - 5646.42 dimensionHeaders: - headerGroups: - headers: - - totalHeader: - function: MAX - totalHeader: function: SUM - - headers: - totalHeader: function: MAX + - headers: - totalHeader: function: SUM + - totalHeader: + function: MAX totalDimensions: - dim_1 paging: diff --git a/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_totals3.yaml b/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_totals3.yaml index 69ad1bcad..ab353d954 100644 --- a/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_totals3.yaml +++ b/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_totals3.yaml @@ -200,10 +200,10 @@ interactions: type: label localIdentifier: dim_1 links: - executionResult: a4d14243446c2863ddc2be995cdaee79d4cbe1ca + executionResult: dff9d826e1299d52f375ef3a877bb72618d59691 - request: method: GET - uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/a4d14243446c2863ddc2be995cdaee79d4cbe1ca/metadata + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/dff9d826e1299d52f375ef3a877bb72618d59691/metadata body: null headers: Accept: @@ -273,7 +273,7 @@ interactions: X-XSS-Protection: - 1 ; mode=block content-length: - - '2407' + - '2406' body: string: afm: @@ -372,7 +372,7 @@ interactions: type: label localIdentifier: dim_1 links: - executionResult: a4d14243446c2863ddc2be995cdaee79d4cbe1ca + executionResult: dff9d826e1299d52f375ef3a877bb72618d59691 resultSpec: dimensions: - localIdentifier: dim_0 @@ -404,10 +404,10 @@ interactions: - region - state - measureGroup - resultSize: 11840 + resultSize: 4770 - request: method: GET - uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/a4d14243446c2863ddc2be995cdaee79d4cbe1ca?offset=0%2C0&limit=100%2C100 + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/dff9d826e1299d52f375ef3a877bb72618d59691?offset=0%2C0&limit=100%2C100 body: null headers: Accept: @@ -477,7 +477,7 @@ interactions: X-XSS-Protection: - 1 ; mode=block content-length: - - '23291' + - '23292' body: string: data: @@ -1654,205 +1654,205 @@ interactions: primaryLabelValue: Outdoor grandTotals: - data: - - - null - - 8804.49 - - - 3205.41 + - - 8804.49 - null - - null - - 5982.7 - - - 3939.72 + - 3205.41 + - - 5982.7 - null - - null - - 8467.68 - - - 3542.07 + - 3939.72 + - - 8467.679999999998 - null - - null - - 4503.79 - - - 2349.06 + - 3542.07 + - - 4503.79 - null - - null - - 7745.42 - - - 5617.86 + - 2349.06 + - - 7745.420000000001 - null - - null - - 8189.130000000001 - - - 3157.96 + - 5617.86 + - - 8189.130000000001 - null - - null - - 8546.58 - - - 3763.37 + - 3157.96 + - - 8546.58 - null - - null - - 2558.1 - - - 770.11 + - 3763.37 + - - 2558.1 - null - - null - - 176.71 - - - 102.03 + - 770.11 + - - 176.71 - null - - null - - 13572.17 - - - 7939.25 + - 102.03 + - - 13572.17 - null - - null - - 640.05 - - - 393.47 + - 7939.25 + - - 640.05 - null - - null - - 10650.42 - - - 5646.42 + - 393.47 + - - 10650.42 - null - - null - - 2892.16 - - - 1048.14 + - 5646.42 + - - 2892.16 - null - - null - - 4050.87 - - - 1729.45 + - 1048.14 + - - 4050.87 - null - - null - - 382.19 - - - 360.16 + - 1729.45 + - - 382.19 - null - - null - - 2132.86 - - - 1129.66 + - 360.16 + - - 2132.86 - null - - null - - 21687.019999999997 - - - 13727.01 + - 1129.66 + - - 21687.019999999997 - null - - null - - 13555.43 - - - 9706.62 + - 13727.01 + - - 13555.43 - null - - null - - 6198.55 - - - 3837.42 + - 9706.62 + - - 6198.55 - null - - null - - 4683.68 - - - 3384.84 + - 3837.42 + - - 4683.68 - null - - null - - 3239.7200000000003 - - - 1355.06 + - 3384.84 + - - 3239.7200000000003 - null - - null - - 16394.17 - - - 7595.78 + - 1355.06 + - - 16394.17 - null - - null - - 41989.67 - - - 25807.35 + - 7595.78 + - - 41989.67 - null - - null - - 9865.269999999999 - - - 5985.75 + - 25807.35 + - - 9865.27 - null - - null - - 2879.09 - - - 1671.49 + - 5985.75 + - - 2879.09 - null - - null - - 6511.790000000001 - - - 2185.98 + - 1671.49 + - - 6511.789999999999 - null - - null - - 8417.93 - - - 6919.63 + - 2185.98 + - - 8417.93 - null - - null - - 3967.36 - - - 2834.07 + - 6919.63 + - - 3967.36 - null - - null - - 8876.18 - - - 4879.18 + - 2834.07 + - - 8876.18 - null - - null - - 8748.77 - - - 6328.89 + - 4879.18 + - - 8748.77 - null - - null - - 3435.73 - - - 1259.77 + - 6328.89 + - - 3435.73 - null - - null - - 5143.92 - - - 1995.05 + - 1259.77 + - - 5143.92 - null - - null - - 44253.95000000001 - - - 22670.23 + - 1995.05 + - - 44253.95 - null - - null - - 15696.93 - - - 7397.6 + - 22670.23 + - - 15696.93 - null - - null - - 2654.63 - - - 1176.32 + - 7397.6 + - - 2654.63 - null - - null - - 18.7 + - 1176.32 - - 18.7 - null - - null - - 4983.36 - - - 2664.71 + - 18.7 + - - 4983.36 - null - - null - - 10279.68 - - - 3676.86 + - 2664.71 + - - 10279.68 - null - - null - - 57411.81 - - - 30393.45 + - 3676.86 + - - 57411.81 - null - - null - - 10012.02 - - - 5663.31 + - 30393.45 + - - 10012.02 - null - - null - - 5219.91 - - - 3426.72 + - 5663.31 + - - 5219.91 - null - - null - - 1840.64 - - - 3384.09 + - 3426.72 + - - 1840.6399999999999 - null - - null - - 1384.3899999999999 - - - 701.11 + - 3384.09 + - - 1384.3899999999999 - null - - null - - 1444.77 - - - 969.9 + - 701.11 + - - 1444.77 - null - - null - - 1328.9699999999998 - - - 540.36 + - 969.9 + - - 1328.97 - null - - null - - 4465.110000000001 - - - 2074.55 + - 540.36 + - - 4465.110000000001 - null - - null - - 8360.6 - - - 6042.93 + - 2074.55 + - - 8360.6 - null - - null - - 6219.379999999999 - - - 4246.86 + - 6042.93 + - - 6219.379999999999 - null + - - null + - 4246.86 dimensionHeaders: - headerGroups: - headers: - - totalHeader: - function: MAX - totalHeader: function: SUM + - totalHeader: + function: MAX totalDimensions: - dim_0 paging: @@ -1867,7 +1867,7 @@ interactions: - 4 - request: method: GET - uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/a4d14243446c2863ddc2be995cdaee79d4cbe1ca/metadata + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/dff9d826e1299d52f375ef3a877bb72618d59691/metadata body: null headers: Accept: @@ -1937,7 +1937,7 @@ interactions: X-XSS-Protection: - 1 ; mode=block content-length: - - '2407' + - '2406' body: string: afm: @@ -2036,7 +2036,7 @@ interactions: type: label localIdentifier: dim_1 links: - executionResult: a4d14243446c2863ddc2be995cdaee79d4cbe1ca + executionResult: dff9d826e1299d52f375ef3a877bb72618d59691 resultSpec: dimensions: - localIdentifier: dim_0 @@ -2068,10 +2068,10 @@ interactions: - region - state - measureGroup - resultSize: 11840 + resultSize: 4770 - request: method: GET - uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/a4d14243446c2863ddc2be995cdaee79d4cbe1ca?offset=0%2C0&limit=100%2C100 + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/dff9d826e1299d52f375ef3a877bb72618d59691?offset=0%2C0&limit=100%2C100 body: null headers: Accept: @@ -2141,7 +2141,7 @@ interactions: X-XSS-Protection: - 1 ; mode=block content-length: - - '23291' + - '23292' body: string: data: @@ -3318,205 +3318,205 @@ interactions: primaryLabelValue: Outdoor grandTotals: - data: - - - null - - 8804.49 - - - 3205.41 + - - 8804.49 - null - - null - - 5982.7 - - - 3939.72 + - 3205.41 + - - 5982.7 - null - - null - - 8467.68 - - - 3542.07 + - 3939.72 + - - 8467.679999999998 - null - - null - - 4503.79 - - - 2349.06 + - 3542.07 + - - 4503.79 - null - - null - - 7745.42 - - - 5617.86 + - 2349.06 + - - 7745.420000000001 - null - - null - - 8189.130000000001 - - - 3157.96 + - 5617.86 + - - 8189.130000000001 - null - - null - - 8546.58 - - - 3763.37 + - 3157.96 + - - 8546.58 - null - - null - - 2558.1 - - - 770.11 + - 3763.37 + - - 2558.1 - null - - null - - 176.71 - - - 102.03 + - 770.11 + - - 176.71 - null - - null - - 13572.17 - - - 7939.25 + - 102.03 + - - 13572.17 - null - - null - - 640.05 - - - 393.47 + - 7939.25 + - - 640.05 - null - - null - - 10650.42 - - - 5646.42 + - 393.47 + - - 10650.42 - null - - null - - 2892.16 - - - 1048.14 + - 5646.42 + - - 2892.16 - null - - null - - 4050.87 - - - 1729.45 + - 1048.14 + - - 4050.87 - null - - null - - 382.19 - - - 360.16 + - 1729.45 + - - 382.19 - null - - null - - 2132.86 - - - 1129.66 + - 360.16 + - - 2132.86 - null - - null - - 21687.019999999997 - - - 13727.01 + - 1129.66 + - - 21687.019999999997 - null - - null - - 13555.43 - - - 9706.62 + - 13727.01 + - - 13555.43 - null - - null - - 6198.55 - - - 3837.42 + - 9706.62 + - - 6198.55 - null - - null - - 4683.68 - - - 3384.84 + - 3837.42 + - - 4683.68 - null - - null - - 3239.7200000000003 - - - 1355.06 + - 3384.84 + - - 3239.7200000000003 - null - - null - - 16394.17 - - - 7595.78 + - 1355.06 + - - 16394.17 - null - - null - - 41989.67 - - - 25807.35 + - 7595.78 + - - 41989.67 - null - - null - - 9865.269999999999 - - - 5985.75 + - 25807.35 + - - 9865.27 - null - - null - - 2879.09 - - - 1671.49 + - 5985.75 + - - 2879.09 - null - - null - - 6511.790000000001 - - - 2185.98 + - 1671.49 + - - 6511.789999999999 - null - - null - - 8417.93 - - - 6919.63 + - 2185.98 + - - 8417.93 - null - - null - - 3967.36 - - - 2834.07 + - 6919.63 + - - 3967.36 - null - - null - - 8876.18 - - - 4879.18 + - 2834.07 + - - 8876.18 - null - - null - - 8748.77 - - - 6328.89 + - 4879.18 + - - 8748.77 - null - - null - - 3435.73 - - - 1259.77 + - 6328.89 + - - 3435.73 - null - - null - - 5143.92 - - - 1995.05 + - 1259.77 + - - 5143.92 - null - - null - - 44253.95000000001 - - - 22670.23 + - 1995.05 + - - 44253.95 - null - - null - - 15696.93 - - - 7397.6 + - 22670.23 + - - 15696.93 - null - - null - - 2654.63 - - - 1176.32 + - 7397.6 + - - 2654.63 - null - - null - - 18.7 + - 1176.32 - - 18.7 - null - - null - - 4983.36 - - - 2664.71 + - 18.7 + - - 4983.36 - null - - null - - 10279.68 - - - 3676.86 + - 2664.71 + - - 10279.68 - null - - null - - 57411.81 - - - 30393.45 + - 3676.86 + - - 57411.81 - null - - null - - 10012.02 - - - 5663.31 + - 30393.45 + - - 10012.02 - null - - null - - 5219.91 - - - 3426.72 + - 5663.31 + - - 5219.91 - null - - null - - 1840.64 - - - 3384.09 + - 3426.72 + - - 1840.6399999999999 - null - - null - - 1384.3899999999999 - - - 701.11 + - 3384.09 + - - 1384.3899999999999 - null - - null - - 1444.77 - - - 969.9 + - 701.11 + - - 1444.77 - null - - null - - 1328.9699999999998 - - - 540.36 + - 969.9 + - - 1328.97 - null - - null - - 4465.110000000001 - - - 2074.55 + - 540.36 + - - 4465.110000000001 - null - - null - - 8360.6 - - - 6042.93 + - 2074.55 + - - 8360.6 - null - - null - - 6219.379999999999 - - - 4246.86 + - 6042.93 + - - 6219.379999999999 - null + - - null + - 4246.86 dimensionHeaders: - headerGroups: - headers: - - totalHeader: - function: MAX - totalHeader: function: SUM + - totalHeader: + function: MAX totalDimensions: - dim_0 paging: diff --git a/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_totals4.yaml b/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_totals4.yaml index a634a7fa0..b81719971 100644 --- a/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_totals4.yaml +++ b/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_totals4.yaml @@ -198,10 +198,10 @@ interactions: type: label localIdentifier: dim_1 links: - executionResult: 1055dd14d24f55a69be0e0ca87050f379c90254a + executionResult: ff28ae32ea10fb0c2af391c0fbcd67f8eb524c7d - request: method: GET - uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/1055dd14d24f55a69be0e0ca87050f379c90254a/metadata + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/ff28ae32ea10fb0c2af391c0fbcd67f8eb524c7d/metadata body: null headers: Accept: @@ -370,7 +370,7 @@ interactions: type: label localIdentifier: dim_1 links: - executionResult: 1055dd14d24f55a69be0e0ca87050f379c90254a + executionResult: ff28ae32ea10fb0c2af391c0fbcd67f8eb524c7d resultSpec: dimensions: - localIdentifier: dim_0 @@ -400,10 +400,10 @@ interactions: totalDimensionItems: - state - measureGroup - resultSize: 12888 + resultSize: 15292 - request: method: GET - uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/1055dd14d24f55a69be0e0ca87050f379c90254a?offset=0%2C0&limit=100%2C100 + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/ff28ae32ea10fb0c2af391c0fbcd67f8eb524c7d?offset=0%2C0&limit=100%2C100 body: null headers: Accept: @@ -473,7 +473,7 @@ interactions: X-XSS-Protection: - 1 ; mode=block content-length: - - '24889' + - '24890' body: string: data: @@ -2700,210 +2700,210 @@ interactions: primaryLabelValue: Outdoor grandTotals: - data: - - - null - - 4983.36 - - - 2664.71 + - - 4983.36 - null - - null - - 6198.55 - - - 3837.42 + - 2664.71 + - - 6198.55 - null - - null - - 10279.68 - - - 3676.86 + - 3837.42 + - - 10279.68 - null - - null - - 4683.68 - - - 3384.84 + - 3676.86 + - - 4683.68 - null - - null - - 57411.81 - - - 30393.45 + - 3384.84 + - - 57411.81 - null - - null - - 10012.02 - - - 5663.31 + - 30393.45 + - - 10012.02 - null - - null - - 2892.16 - - - 1048.14 + - 5663.31 + - - 2892.16 - null - - null - - 3239.7200000000003 - - - 1355.06 + - 1048.14 + - - 3239.7200000000003 - null - - null - - 16394.17 - - - 7595.78 + - 1355.06 + - - 16394.17 - null - - null - - 41989.67 - - - 25807.35 + - 7595.78 + - - 41989.67 - null - - null - - 9865.269999999999 - - - 5985.75 + - 25807.35 + - - 9865.27 - null - - null - - 5219.91 - - - 3426.72 + - 5985.75 + - - 5219.91 - null - - null - - 1840.64 - - - 3384.09 + - 3426.72 + - - 1840.6399999999999 - null - - null - - 8804.49 - - - 3205.41 + - 3384.09 + - - 8804.49 - null - - null - - 5982.7 - - - 3939.72 + - 3205.41 + - - 5982.7 - null - - null - - 8467.68 - - - 3542.07 + - 3939.72 + - - 8467.679999999998 - null - - null - - 4503.79 - - - 2349.06 + - 3542.07 + - - 4503.79 - null - - null - - 2879.09 - - - 1671.49 + - 2349.06 + - - 2879.09 - null - - null - - 6511.790000000001 - - - 2185.98 + - 1671.49 + - - 6511.789999999999 - null - - null - - 8417.93 - - - 6919.63 + - 2185.98 + - - 8417.93 - null - - null - - 4050.87 - - - 1729.45 + - 6919.63 + - - 4050.87 - null - - null - - 7745.42 - - - 5617.86 + - 1729.45 + - - 7745.420000000001 - null - - null - - 8189.130000000001 - - - 3157.96 + - 5617.86 + - - 8189.130000000001 - null - - null - - 3967.36 - - - 2834.07 + - 3157.96 + - - 3967.36 - null - - null - - 8546.58 - - - 3763.37 + - 2834.07 + - - 8546.58 - null - - null - - 1384.3899999999999 - - - 701.11 + - 3763.37 + - - 1384.3899999999999 - null - - null - - 2558.1 - - - 770.11 + - 701.11 + - - 2558.1 - null - - null - - 1444.77 - - - 969.9 + - 770.11 + - - 1444.77 - null - - null - - 382.19 - - - 360.16 + - 969.9 + - - 382.19 - null - - null - - 2132.86 - - - 1129.66 + - 360.16 + - - 2132.86 - null - - null - - 1328.9699999999998 - - - 540.36 + - 1129.66 + - - 1328.97 - null - - null - - 21687.019999999997 - - - 13727.01 + - 540.36 + - - 21687.019999999997 - null - - null - - 8876.18 - - - 4879.18 + - 13727.01 + - - 8876.18 - null - - null - - 176.71 - - - 102.03 + - 4879.18 + - - 176.71 - null - - null - - 13572.17 - - - 7939.25 + - 102.03 + - - 13572.17 - null - - null - - 8748.77 - - - 6328.89 + - 7939.25 + - - 8748.77 - null - - null - - 4465.110000000001 - - - 2074.55 + - 6328.89 + - - 4465.110000000001 - null - - null - - 13555.43 - - - 9706.62 + - 2074.55 + - - 13555.43 - null - - null - - 18.7 + - 9706.62 - - 18.7 - null - - null - - 3435.73 - - - 1259.77 + - 18.7 + - - 3435.73 - null - - null - - 640.05 - - - 393.47 + - 1259.77 + - - 640.05 - null - - null - - 5143.92 - - - 1995.05 + - 393.47 + - - 5143.92 - null - - null - - 44253.95000000001 - - - 22670.23 + - 1995.05 + - - 44253.95 - null - - null - - 8360.6 - - - 6042.93 + - 22670.23 + - - 8360.6 - null - - null - - 15696.93 - - - 7397.6 + - 6042.93 + - - 15696.93 - null - - null - - 6219.379999999999 - - - 4246.86 + - 7397.6 + - - 6219.379999999999 - null - - null - - 2654.63 - - - 1176.32 + - 4246.86 + - - 2654.63 - null - - null - - 10650.42 - - - 5646.42 + - 1176.32 + - - 10650.42 - null + - - null + - 5646.42 dimensionHeaders: - headerGroups: - headers: - - totalHeader: - function: MAX - totalHeader: function: SUM - - headers: - totalHeader: function: MAX + - headers: - totalHeader: function: SUM + - totalHeader: + function: MAX totalDimensions: - dim_0 paging: @@ -2918,7 +2918,7 @@ interactions: - 17 - request: method: GET - uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/1055dd14d24f55a69be0e0ca87050f379c90254a/metadata + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/ff28ae32ea10fb0c2af391c0fbcd67f8eb524c7d/metadata body: null headers: Accept: @@ -3087,7 +3087,7 @@ interactions: type: label localIdentifier: dim_1 links: - executionResult: 1055dd14d24f55a69be0e0ca87050f379c90254a + executionResult: ff28ae32ea10fb0c2af391c0fbcd67f8eb524c7d resultSpec: dimensions: - localIdentifier: dim_0 @@ -3117,10 +3117,10 @@ interactions: totalDimensionItems: - state - measureGroup - resultSize: 12888 + resultSize: 15292 - request: method: GET - uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/1055dd14d24f55a69be0e0ca87050f379c90254a?offset=0%2C0&limit=100%2C100 + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/ff28ae32ea10fb0c2af391c0fbcd67f8eb524c7d?offset=0%2C0&limit=100%2C100 body: null headers: Accept: @@ -3190,7 +3190,7 @@ interactions: X-XSS-Protection: - 1 ; mode=block content-length: - - '24889' + - '24890' body: string: data: @@ -5417,210 +5417,210 @@ interactions: primaryLabelValue: Outdoor grandTotals: - data: - - - null - - 4983.36 - - - 2664.71 + - - 4983.36 - null - - null - - 6198.55 - - - 3837.42 + - 2664.71 + - - 6198.55 - null - - null - - 10279.68 - - - 3676.86 + - 3837.42 + - - 10279.68 - null - - null - - 4683.68 - - - 3384.84 + - 3676.86 + - - 4683.68 - null - - null - - 57411.81 - - - 30393.45 + - 3384.84 + - - 57411.81 - null - - null - - 10012.02 - - - 5663.31 + - 30393.45 + - - 10012.02 - null - - null - - 2892.16 - - - 1048.14 + - 5663.31 + - - 2892.16 - null - - null - - 3239.7200000000003 - - - 1355.06 + - 1048.14 + - - 3239.7200000000003 - null - - null - - 16394.17 - - - 7595.78 + - 1355.06 + - - 16394.17 - null - - null - - 41989.67 - - - 25807.35 + - 7595.78 + - - 41989.67 - null - - null - - 9865.269999999999 - - - 5985.75 + - 25807.35 + - - 9865.27 - null - - null - - 5219.91 - - - 3426.72 + - 5985.75 + - - 5219.91 - null - - null - - 1840.64 - - - 3384.09 + - 3426.72 + - - 1840.6399999999999 - null - - null - - 8804.49 - - - 3205.41 + - 3384.09 + - - 8804.49 - null - - null - - 5982.7 - - - 3939.72 + - 3205.41 + - - 5982.7 - null - - null - - 8467.68 - - - 3542.07 + - 3939.72 + - - 8467.679999999998 - null - - null - - 4503.79 - - - 2349.06 + - 3542.07 + - - 4503.79 - null - - null - - 2879.09 - - - 1671.49 + - 2349.06 + - - 2879.09 - null - - null - - 6511.790000000001 - - - 2185.98 + - 1671.49 + - - 6511.789999999999 - null - - null - - 8417.93 - - - 6919.63 + - 2185.98 + - - 8417.93 - null - - null - - 4050.87 - - - 1729.45 + - 6919.63 + - - 4050.87 - null - - null - - 7745.42 - - - 5617.86 + - 1729.45 + - - 7745.420000000001 - null - - null - - 8189.130000000001 - - - 3157.96 + - 5617.86 + - - 8189.130000000001 - null - - null - - 3967.36 - - - 2834.07 + - 3157.96 + - - 3967.36 - null - - null - - 8546.58 - - - 3763.37 + - 2834.07 + - - 8546.58 - null - - null - - 1384.3899999999999 - - - 701.11 + - 3763.37 + - - 1384.3899999999999 - null - - null - - 2558.1 - - - 770.11 + - 701.11 + - - 2558.1 - null - - null - - 1444.77 - - - 969.9 + - 770.11 + - - 1444.77 - null - - null - - 382.19 - - - 360.16 + - 969.9 + - - 382.19 - null - - null - - 2132.86 - - - 1129.66 + - 360.16 + - - 2132.86 - null - - null - - 1328.9699999999998 - - - 540.36 + - 1129.66 + - - 1328.97 - null - - null - - 21687.019999999997 - - - 13727.01 + - 540.36 + - - 21687.019999999997 - null - - null - - 8876.18 - - - 4879.18 + - 13727.01 + - - 8876.18 - null - - null - - 176.71 - - - 102.03 + - 4879.18 + - - 176.71 - null - - null - - 13572.17 - - - 7939.25 + - 102.03 + - - 13572.17 - null - - null - - 8748.77 - - - 6328.89 + - 7939.25 + - - 8748.77 - null - - null - - 4465.110000000001 - - - 2074.55 + - 6328.89 + - - 4465.110000000001 - null - - null - - 13555.43 - - - 9706.62 + - 2074.55 + - - 13555.43 - null - - null - - 18.7 + - 9706.62 - - 18.7 - null - - null - - 3435.73 - - - 1259.77 + - 18.7 + - - 3435.73 - null - - null - - 640.05 - - - 393.47 + - 1259.77 + - - 640.05 - null - - null - - 5143.92 - - - 1995.05 + - 393.47 + - - 5143.92 - null - - null - - 44253.95000000001 - - - 22670.23 + - 1995.05 + - - 44253.95 - null - - null - - 8360.6 - - - 6042.93 + - 22670.23 + - - 8360.6 - null - - null - - 15696.93 - - - 7397.6 + - 6042.93 + - - 15696.93 - null - - null - - 6219.379999999999 - - - 4246.86 + - 7397.6 + - - 6219.379999999999 - null - - null - - 2654.63 - - - 1176.32 + - 4246.86 + - - 2654.63 - null - - null - - 10650.42 - - - 5646.42 + - 1176.32 + - - 10650.42 - null + - - null + - 5646.42 dimensionHeaders: - headerGroups: - headers: - - totalHeader: - function: MAX - totalHeader: function: SUM - - headers: - totalHeader: function: MAX + - headers: - totalHeader: function: SUM + - totalHeader: + function: MAX totalDimensions: - dim_0 paging: diff --git a/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_two_dim1.yaml b/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_two_dim1.yaml index 9b471fade..94d936aee 100644 --- a/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_two_dim1.yaml +++ b/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_two_dim1.yaml @@ -181,10 +181,10 @@ interactions: name: Order Amount localIdentifier: dim_1 links: - executionResult: 0608fca6971c95b3b33fd86eb0b6f22ccccb8d0f + executionResult: 5356bfa17f40f2d639cf93be52edbb43d7f6d5f2 - request: method: GET - uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/0608fca6971c95b3b33fd86eb0b6f22ccccb8d0f/metadata + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/5356bfa17f40f2d639cf93be52edbb43d7f6d5f2/metadata body: null headers: Accept: @@ -353,7 +353,7 @@ interactions: name: Order Amount localIdentifier: dim_1 links: - executionResult: 0608fca6971c95b3b33fd86eb0b6f22ccccb8d0f + executionResult: 5356bfa17f40f2d639cf93be52edbb43d7f6d5f2 resultSpec: dimensions: - localIdentifier: dim_0 @@ -367,10 +367,10 @@ interactions: - measureGroup sorting: [] totals: [] - resultSize: 7077 + resultSize: 4237 - request: method: GET - uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/0608fca6971c95b3b33fd86eb0b6f22ccccb8d0f?offset=0%2C0&limit=100%2C100 + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/5356bfa17f40f2d639cf93be52edbb43d7f6d5f2?offset=0%2C0&limit=100%2C100 body: null headers: Accept: @@ -1176,7 +1176,7 @@ interactions: - 8 - request: method: GET - uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/0608fca6971c95b3b33fd86eb0b6f22ccccb8d0f/metadata + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/5356bfa17f40f2d639cf93be52edbb43d7f6d5f2/metadata body: null headers: Accept: @@ -1345,7 +1345,7 @@ interactions: name: Order Amount localIdentifier: dim_1 links: - executionResult: 0608fca6971c95b3b33fd86eb0b6f22ccccb8d0f + executionResult: 5356bfa17f40f2d639cf93be52edbb43d7f6d5f2 resultSpec: dimensions: - localIdentifier: dim_0 @@ -1359,10 +1359,10 @@ interactions: - measureGroup sorting: [] totals: [] - resultSize: 7077 + resultSize: 4237 - request: method: GET - uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/0608fca6971c95b3b33fd86eb0b6f22ccccb8d0f?offset=0%2C0&limit=100%2C100 + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/5356bfa17f40f2d639cf93be52edbb43d7f6d5f2?offset=0%2C0&limit=100%2C100 body: null headers: Accept: @@ -2168,7 +2168,7 @@ interactions: - 8 - request: method: GET - uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/0608fca6971c95b3b33fd86eb0b6f22ccccb8d0f/metadata + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/5356bfa17f40f2d639cf93be52edbb43d7f6d5f2/metadata body: null headers: Accept: @@ -2337,7 +2337,7 @@ interactions: name: Order Amount localIdentifier: dim_1 links: - executionResult: 0608fca6971c95b3b33fd86eb0b6f22ccccb8d0f + executionResult: 5356bfa17f40f2d639cf93be52edbb43d7f6d5f2 resultSpec: dimensions: - localIdentifier: dim_0 @@ -2351,10 +2351,10 @@ interactions: - measureGroup sorting: [] totals: [] - resultSize: 7077 + resultSize: 4237 - request: method: GET - uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/0608fca6971c95b3b33fd86eb0b6f22ccccb8d0f?offset=0%2C0&limit=100%2C100 + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/5356bfa17f40f2d639cf93be52edbb43d7f6d5f2?offset=0%2C0&limit=100%2C100 body: null headers: Accept: diff --git a/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_two_dim2.yaml b/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_two_dim2.yaml index a8c97661f..e30cdb50d 100644 --- a/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_two_dim2.yaml +++ b/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_two_dim2.yaml @@ -181,10 +181,10 @@ interactions: name: Order Amount localIdentifier: dim_1 links: - executionResult: 2f4bceaa3a46282d3779d6f3137f697b0e0eddd2 + executionResult: 9b102487b64630977a58dcd1627ee4f38a84896d - request: method: GET - uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/2f4bceaa3a46282d3779d6f3137f697b0e0eddd2/metadata + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/9b102487b64630977a58dcd1627ee4f38a84896d/metadata body: null headers: Accept: @@ -254,7 +254,7 @@ interactions: X-XSS-Protection: - 1 ; mode=block content-length: - - '2047' + - '2046' body: string: afm: @@ -353,7 +353,7 @@ interactions: name: Order Amount localIdentifier: dim_1 links: - executionResult: 2f4bceaa3a46282d3779d6f3137f697b0e0eddd2 + executionResult: 9b102487b64630977a58dcd1627ee4f38a84896d resultSpec: dimensions: - localIdentifier: dim_0 @@ -367,10 +367,10 @@ interactions: - measureGroup sorting: [] totals: [] - resultSize: 19290 + resultSize: 9257 - request: method: GET - uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/2f4bceaa3a46282d3779d6f3137f697b0e0eddd2?offset=0%2C0&limit=100%2C100 + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/9b102487b64630977a58dcd1627ee4f38a84896d?offset=0%2C0&limit=100%2C100 body: null headers: Accept: @@ -1568,7 +1568,7 @@ interactions: - 2 - request: method: GET - uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/2f4bceaa3a46282d3779d6f3137f697b0e0eddd2?offset=100%2C0&limit=100%2C100 + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/9b102487b64630977a58dcd1627ee4f38a84896d?offset=100%2C0&limit=100%2C100 body: null headers: Accept: @@ -2568,7 +2568,7 @@ interactions: - 2 - request: method: GET - uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/2f4bceaa3a46282d3779d6f3137f697b0e0eddd2/metadata + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/9b102487b64630977a58dcd1627ee4f38a84896d/metadata body: null headers: Accept: @@ -2638,7 +2638,7 @@ interactions: X-XSS-Protection: - 1 ; mode=block content-length: - - '2047' + - '2046' body: string: afm: @@ -2737,7 +2737,7 @@ interactions: name: Order Amount localIdentifier: dim_1 links: - executionResult: 2f4bceaa3a46282d3779d6f3137f697b0e0eddd2 + executionResult: 9b102487b64630977a58dcd1627ee4f38a84896d resultSpec: dimensions: - localIdentifier: dim_0 @@ -2751,10 +2751,10 @@ interactions: - measureGroup sorting: [] totals: [] - resultSize: 19290 + resultSize: 9257 - request: method: GET - uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/2f4bceaa3a46282d3779d6f3137f697b0e0eddd2?offset=0%2C0&limit=100%2C100 + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/9b102487b64630977a58dcd1627ee4f38a84896d?offset=0%2C0&limit=100%2C100 body: null headers: Accept: @@ -3952,7 +3952,7 @@ interactions: - 2 - request: method: GET - uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/2f4bceaa3a46282d3779d6f3137f697b0e0eddd2?offset=100%2C0&limit=100%2C100 + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/9b102487b64630977a58dcd1627ee4f38a84896d?offset=100%2C0&limit=100%2C100 body: null headers: Accept: diff --git a/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_two_dim3.yaml b/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_two_dim3.yaml index 2903ee2bc..d44c6c81f 100644 --- a/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_two_dim3.yaml +++ b/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_two_dim3.yaml @@ -181,10 +181,10 @@ interactions: name: Order Amount localIdentifier: dim_1 links: - executionResult: 8729fc9c95fcbe45769a82e10889a783b3c61e8b + executionResult: 498112a54945e6ce74182b806ab14ad4261ca3c7 - request: method: GET - uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/8729fc9c95fcbe45769a82e10889a783b3c61e8b/metadata + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/498112a54945e6ce74182b806ab14ad4261ca3c7/metadata body: null headers: Accept: @@ -353,7 +353,7 @@ interactions: name: Order Amount localIdentifier: dim_1 links: - executionResult: 8729fc9c95fcbe45769a82e10889a783b3c61e8b + executionResult: 498112a54945e6ce74182b806ab14ad4261ca3c7 resultSpec: dimensions: - localIdentifier: dim_0 @@ -367,10 +367,10 @@ interactions: - measureGroup sorting: [] totals: [] - resultSize: 9786 + resultSize: 3136 - request: method: GET - uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/8729fc9c95fcbe45769a82e10889a783b3c61e8b?offset=0%2C0&limit=100%2C100 + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/498112a54945e6ce74182b806ab14ad4261ca3c7?offset=0%2C0&limit=100%2C100 body: null headers: Accept: @@ -1628,7 +1628,7 @@ interactions: - 96 - request: method: GET - uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/8729fc9c95fcbe45769a82e10889a783b3c61e8b/metadata + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/498112a54945e6ce74182b806ab14ad4261ca3c7/metadata body: null headers: Accept: @@ -1797,7 +1797,7 @@ interactions: name: Order Amount localIdentifier: dim_1 links: - executionResult: 8729fc9c95fcbe45769a82e10889a783b3c61e8b + executionResult: 498112a54945e6ce74182b806ab14ad4261ca3c7 resultSpec: dimensions: - localIdentifier: dim_0 @@ -1811,10 +1811,10 @@ interactions: - measureGroup sorting: [] totals: [] - resultSize: 9786 + resultSize: 3136 - request: method: GET - uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/8729fc9c95fcbe45769a82e10889a783b3c61e8b?offset=0%2C0&limit=100%2C100 + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/498112a54945e6ce74182b806ab14ad4261ca3c7?offset=0%2C0&limit=100%2C100 body: null headers: Accept: diff --git a/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_insight.yaml b/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_insight.yaml index a5d52dae9..44cf4dfbc 100644 --- a/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_insight.yaml +++ b/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_insight.yaml @@ -28,7 +28,7 @@ interactions: Connection: - keep-alive Content-Length: - - '4703' + - '5006' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -174,7 +174,12 @@ interactions: direction: asc version: '2' visualizationUrl: local:table + createdAt: 2023-10-24 11:00 relationships: + createdBy: + data: + id: admin + type: userIdentifier metrics: data: - id: percent_revenue_in_category @@ -183,10 +188,10 @@ interactions: type: metric facts: data: - - id: price - type: fact - id: quantity type: fact + - id: price + type: fact labels: data: - id: products.category @@ -216,6 +221,7 @@ interactions: attributes: title: Revenue description: '' + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} @@ -246,6 +252,11 @@ interactions: valueType: TEXT links: self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_name + - id: admin + type: userIdentifier + attributes: {} + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/userIdentifiers/admin - id: customer_name type: label attributes: @@ -263,6 +274,7 @@ interactions: type: metric attributes: title: '% Revenue in Category' + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, @@ -466,7 +478,7 @@ interactions: type: label localIdentifier: dim_1 links: - executionResult: fabc26cfbdbda4b24846d9b188994f1d94ff09e0 + executionResult: 2bcc261b966a6f6fc21b2d9c8b207a05a77097f1 - request: method: GET uri: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&page=0&size=500 @@ -494,7 +506,7 @@ interactions: Connection: - keep-alive Content-Length: - - '27018' + - '27121' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -541,743 +553,743 @@ interactions: body: string: data: - - id: campaign_channels.category + - id: date.minute type: attribute attributes: - title: Category - description: Category + title: Date - Minute + description: Minute tags: - - Campaign channels + - Date + granularity: MINUTE areRelationsValid: true - sourceColumn: category - sourceColumnDataType: STRING relationships: dataset: data: - id: campaign_channels + id: date type: dataset labels: data: - - id: campaign_channels.category + - id: date.minute type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute meta: origin: originType: NATIVE originId: demo - - id: campaign_channel_id + - id: date.hour type: attribute attributes: - title: Campaign channel id - description: Campaign channel id + title: Date - Hour + description: Hour tags: - - Campaign channels + - Date + granularity: HOUR areRelationsValid: true - sourceColumn: campaign_channel_id - sourceColumnDataType: STRING relationships: dataset: data: - id: campaign_channels + id: date type: dataset labels: data: - - id: campaign_channel_id + - id: date.hour type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour meta: origin: originType: NATIVE originId: demo - - id: type + - id: date.day type: attribute attributes: - title: Type - description: Type + title: Date - Date + description: Date tags: - - Campaign channels + - Date + granularity: DAY areRelationsValid: true - sourceColumn: type - sourceColumnDataType: STRING relationships: dataset: data: - id: campaign_channels + id: date type: dataset labels: data: - - id: type + - id: date.day type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day meta: origin: originType: NATIVE originId: demo - - id: campaign_name + - id: date.week type: attribute attributes: - title: Campaign name - description: Campaign name + title: Date - Week/Year + description: Week and Year (W52/2020) tags: - - Campaigns + - Date + granularity: WEEK areRelationsValid: true - sourceColumn: campaign_name - sourceColumnDataType: STRING relationships: dataset: data: - id: campaigns + id: date type: dataset labels: data: - - id: campaign_name + - id: date.week type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week meta: origin: originType: NATIVE originId: demo - - id: campaign_id + - id: date.month type: attribute attributes: - title: Campaign id - description: Campaign id + title: Date - Month/Year + description: Month and Year (12/2020) tags: - - Campaigns + - Date + granularity: MONTH areRelationsValid: true - sourceColumn: campaign_id - sourceColumnDataType: INT relationships: dataset: data: - id: campaigns + id: date type: dataset labels: data: - - id: campaign_id + - id: date.month type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month meta: origin: originType: NATIVE originId: demo - - id: state + - id: date.quarter type: attribute attributes: - title: State - description: State + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) tags: - - Customers + - Date + granularity: QUARTER areRelationsValid: true - sourceColumn: state - sourceColumnDataType: STRING relationships: - defaultView: - data: - id: state - type: label dataset: data: - id: customers + id: date type: dataset labels: data: - - id: state - type: label - - id: geo__state__location + - id: date.quarter type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter meta: origin: originType: NATIVE originId: demo - - id: region + - id: date.year type: attribute attributes: - title: Region - description: Region + title: Date - Year + description: Year tags: - - Customers + - Date + granularity: YEAR areRelationsValid: true - sourceColumn: region - sourceColumnDataType: STRING relationships: dataset: data: - id: customers + id: date type: dataset labels: data: - - id: region + - id: date.year type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year meta: origin: originType: NATIVE originId: demo - - id: customer_name + - id: date.minuteOfHour type: attribute attributes: - title: Customer name - description: Customer name + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) tags: - - Customers + - Date + granularity: MINUTE_OF_HOUR areRelationsValid: true - sourceColumn: customer_name - sourceColumnDataType: STRING relationships: dataset: data: - id: customers + id: date type: dataset labels: data: - - id: customer_name + - id: date.minuteOfHour type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour meta: origin: originType: NATIVE originId: demo - - id: customer_id + - id: date.hourOfDay type: attribute attributes: - title: Customer id - description: Customer id + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) tags: - - Customers + - Date + granularity: HOUR_OF_DAY areRelationsValid: true - sourceColumn: customer_id - sourceColumnDataType: INT relationships: dataset: data: - id: customers + id: date type: dataset labels: data: - - id: customer_id + - id: date.hourOfDay type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay meta: origin: originType: NATIVE originId: demo - - id: order_status + - id: date.dayOfWeek type: attribute attributes: - title: Order status - description: Order status + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) tags: - - Order lines + - Date + granularity: DAY_OF_WEEK areRelationsValid: true - sourceColumn: order_status - sourceColumnDataType: STRING relationships: dataset: data: - id: order_lines + id: date type: dataset labels: data: - - id: order_status + - id: date.dayOfWeek type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek meta: origin: originType: NATIVE originId: demo - - id: order_line_id + - id: date.dayOfMonth type: attribute attributes: - title: Order line id - description: Order line id + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) tags: - - Order lines + - Date + granularity: DAY_OF_MONTH areRelationsValid: true - sourceColumn: order_line_id - sourceColumnDataType: STRING relationships: dataset: data: - id: order_lines + id: date type: dataset labels: data: - - id: order_line_id + - id: date.dayOfMonth type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth meta: origin: originType: NATIVE originId: demo - - id: order_id + - id: date.dayOfYear type: attribute attributes: - title: Order id - description: Order id + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) tags: - - Order lines + - Date + granularity: DAY_OF_YEAR areRelationsValid: true - sourceColumn: order_id - sourceColumnDataType: STRING relationships: dataset: data: - id: order_lines + id: date type: dataset labels: data: - - id: order_id + - id: date.dayOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear meta: origin: originType: NATIVE originId: demo - - id: product_name + - id: date.weekOfYear type: attribute attributes: - title: Product name - description: Product name + title: Date - Week of Year + description: Generic Week (W1-W53) tags: - - Products + - Date + granularity: WEEK_OF_YEAR areRelationsValid: true - sourceColumn: product_name - sourceColumnDataType: STRING relationships: dataset: data: - id: products + id: date type: dataset labels: data: - - id: product_name + - id: date.weekOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear meta: origin: originType: NATIVE originId: demo - - id: product_id + - id: date.monthOfYear type: attribute attributes: - title: Product id - description: Product id + title: Date - Month of Year + description: Generic Month (M1-M12) tags: - - Products + - Date + granularity: MONTH_OF_YEAR areRelationsValid: true - sourceColumn: product_id - sourceColumnDataType: INT relationships: dataset: data: - id: products + id: date type: dataset labels: data: - - id: product_id + - id: date.monthOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear meta: origin: originType: NATIVE originId: demo - - id: products.category + - id: date.quarterOfYear type: attribute attributes: - title: Category - description: Category + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) tags: - - Products + - Date + granularity: QUARTER_OF_YEAR areRelationsValid: true - sourceColumn: category - sourceColumnDataType: STRING relationships: dataset: data: - id: products + id: date type: dataset labels: data: - - id: products.category + - id: date.quarterOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear meta: origin: originType: NATIVE originId: demo - - id: date.quarterOfYear + - id: campaign_channel_id type: attribute attributes: - title: Date - Quarter of Year - description: Generic Quarter (Q1-Q4) + title: Campaign channel id + description: Campaign channel id tags: - - Date - granularity: QUARTER_OF_YEAR + - Campaign channels areRelationsValid: true + sourceColumn: campaign_channel_id + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaign_channels type: dataset labels: data: - - id: date.quarterOfYear + - id: campaign_channel_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id meta: origin: originType: NATIVE originId: demo - - id: date.monthOfYear + - id: campaign_channels.category type: attribute attributes: - title: Date - Month of Year - description: Generic Month (M1-M12) + title: Category + description: Category tags: - - Date - granularity: MONTH_OF_YEAR + - Campaign channels areRelationsValid: true + sourceColumn: category + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaign_channels type: dataset labels: data: - - id: date.monthOfYear + - id: campaign_channels.category type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category meta: origin: originType: NATIVE originId: demo - - id: date.weekOfYear + - id: type type: attribute attributes: - title: Date - Week of Year - description: Generic Week (W1-W53) + title: Type + description: Type tags: - - Date - granularity: WEEK_OF_YEAR + - Campaign channels areRelationsValid: true + sourceColumn: type + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaign_channels type: dataset labels: data: - - id: date.weekOfYear + - id: type type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type meta: origin: originType: NATIVE originId: demo - - id: date.dayOfYear + - id: campaign_id type: attribute attributes: - title: Date - Day of Year - description: Generic Day of the Year (D1-D366) + title: Campaign id + description: Campaign id tags: - - Date - granularity: DAY_OF_YEAR + - Campaigns areRelationsValid: true + sourceColumn: campaign_id + sourceColumnDataType: INT relationships: dataset: data: - id: date + id: campaigns type: dataset labels: data: - - id: date.dayOfYear + - id: campaign_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id meta: origin: originType: NATIVE originId: demo - - id: date.dayOfMonth + - id: campaign_name type: attribute attributes: - title: Date - Day of Month - description: Generic Day of the Month (D1-D31) + title: Campaign name + description: Campaign name tags: - - Date - granularity: DAY_OF_MONTH + - Campaigns areRelationsValid: true + sourceColumn: campaign_name + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaigns type: dataset labels: data: - - id: date.dayOfMonth + - id: campaign_name type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name meta: origin: originType: NATIVE originId: demo - - id: date.dayOfWeek + - id: customer_id type: attribute attributes: - title: Date - Day of Week - description: Generic Day of the Week (D1-D7) + title: Customer id + description: Customer id tags: - - Date - granularity: DAY_OF_WEEK + - Customers areRelationsValid: true + sourceColumn: customer_id + sourceColumnDataType: INT relationships: dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.dayOfWeek + - id: customer_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id meta: origin: originType: NATIVE originId: demo - - id: date.hourOfDay + - id: customer_name type: attribute attributes: - title: Date - Hour of Day - description: Generic Hour of the Day(H1-H24) + title: Customer name + description: Customer name tags: - - Date - granularity: HOUR_OF_DAY + - Customers areRelationsValid: true + sourceColumn: customer_name + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.hourOfDay + - id: customer_name type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name meta: origin: originType: NATIVE originId: demo - - id: date.minuteOfHour + - id: region type: attribute attributes: - title: Date - Minute of Hour - description: Generic Minute of the Hour(MI1-MI60) + title: Region + description: Region tags: - - Date - granularity: MINUTE_OF_HOUR + - Customers areRelationsValid: true + sourceColumn: region + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.minuteOfHour + - id: region type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region meta: origin: originType: NATIVE originId: demo - - id: date.year + - id: state type: attribute attributes: - title: Date - Year - description: Year + title: State + description: State tags: - - Date - granularity: YEAR + - Customers areRelationsValid: true + sourceColumn: state + sourceColumnDataType: STRING relationships: + defaultView: + data: + id: state + type: label dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.year + - id: geo__state__location + type: label + - id: state type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state meta: origin: originType: NATIVE originId: demo - - id: date.quarter + - id: order_id type: attribute attributes: - title: Date - Quarter/Year - description: Quarter and Year (Q1/2020) + title: Order id + description: Order id tags: - - Date - granularity: QUARTER + - Order lines areRelationsValid: true + sourceColumn: order_id + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: order_lines type: dataset labels: data: - - id: date.quarter + - id: order_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id meta: origin: originType: NATIVE originId: demo - - id: date.month + - id: order_line_id type: attribute attributes: - title: Date - Month/Year - description: Month and Year (12/2020) + title: Order line id + description: Order line id tags: - - Date - granularity: MONTH + - Order lines areRelationsValid: true + sourceColumn: order_line_id + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: order_lines type: dataset labels: data: - - id: date.month + - id: order_line_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id meta: origin: originType: NATIVE originId: demo - - id: date.week + - id: order_status type: attribute attributes: - title: Date - Week/Year - description: Week and Year (W52/2020) + title: Order status + description: Order status tags: - - Date - granularity: WEEK + - Order lines areRelationsValid: true + sourceColumn: order_status + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: order_lines type: dataset labels: data: - - id: date.week + - id: order_status type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status meta: origin: originType: NATIVE originId: demo - - id: date.day + - id: product_id type: attribute attributes: - title: Date - Date - description: Date + title: Product id + description: Product id tags: - - Date - granularity: DAY + - Products areRelationsValid: true + sourceColumn: product_id + sourceColumnDataType: INT relationships: dataset: data: - id: date + id: products type: dataset labels: data: - - id: date.day + - id: product_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id meta: origin: originType: NATIVE originId: demo - - id: date.hour + - id: product_name type: attribute attributes: - title: Date - Hour - description: Hour + title: Product name + description: Product name tags: - - Date - granularity: HOUR + - Products areRelationsValid: true + sourceColumn: product_name + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: products type: dataset labels: data: - - id: date.hour + - id: product_name type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name meta: origin: originType: NATIVE originId: demo - - id: date.minute + - id: products.category type: attribute attributes: - title: Date - Minute - description: Minute + title: Category + description: Category tags: - - Date - granularity: MINUTE + - Products areRelationsValid: true + sourceColumn: category + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: products type: dataset labels: data: - - id: date.minute + - id: products.category type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category meta: origin: originType: NATIVE @@ -1341,51 +1353,59 @@ interactions: grain: - id: order_line_id type: attribute - order: 0 referenceProperties: - identifier: - id: products + id: date type: dataset multivalue: false + sources: null sourceColumns: - - product_id + - date sourceColumnDataTypes: - - INT + - DATE - identifier: id: customers type: dataset multivalue: false + sources: null sourceColumns: - customer_id sourceColumnDataTypes: - INT - identifier: - id: date + id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - - date + - campaign_id sourceColumnDataTypes: - - DATE + - INT - identifier: - id: campaigns + id: products type: dataset multivalue: false + sources: null sourceColumns: - - campaign_id + - product_id sourceColumnDataTypes: - INT dataSourceTableId: demo-test-ds:order_lines dataSourceTablePath: - demo - order_lines - workspaceDataFilterProperties: - - workspaceDataFilterIdentifier: + workspaceDataFilterColumns: + - name: wdf__state + dataType: STRING + - name: wdf__region + dataType: STRING + workspaceDataFilterReferences: + - filterId: id: wdf__state type: workspaceDataFilter filterColumn: wdf__state filterColumnDataType: STRING - - workspaceDataFilterIdentifier: + - filterId: id: wdf__region type: workspaceDataFilter filterColumn: wdf__region @@ -1427,12 +1447,12 @@ interactions: grain: - id: campaign_channel_id type: attribute - order: 0 referenceProperties: - identifier: id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - campaign_id sourceColumnDataTypes: @@ -1522,7 +1542,6 @@ interactions: grain: - id: campaign_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:campaigns dataSourceTablePath: - demo @@ -1579,7 +1598,6 @@ interactions: grain: - id: customer_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:customers dataSourceTablePath: - demo @@ -1705,7 +1723,6 @@ interactions: grain: - id: product_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:products dataSourceTablePath: - demo @@ -1809,8 +1826,8 @@ interactions: links: self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_id links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels,datasets&page=0&size=500 - next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels,datasets&page=1&size=500 + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&page=1&size=500 - request: method: GET uri: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500 @@ -1838,7 +1855,7 @@ interactions: Connection: - keep-alive Content-Length: - - '13953' + - '14899' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -1885,6 +1902,54 @@ interactions: body: string: data: + - id: date + type: dataset + attributes: + title: Date + description: '' + tags: + - Date + areRelationsValid: true + type: DATE + relationships: + attributes: + data: + - id: date.quarter + type: attribute + - id: date.minute + type: attribute + - id: date.hourOfDay + type: attribute + - id: date.minuteOfHour + type: attribute + - id: date.dayOfYear + type: attribute + - id: date.monthOfYear + type: attribute + - id: date.weekOfYear + type: attribute + - id: date.week + type: attribute + - id: date.year + type: attribute + - id: date.dayOfWeek + type: attribute + - id: date.hour + type: attribute + - id: date.dayOfMonth + type: attribute + - id: date.month + type: attribute + - id: date.quarterOfYear + type: attribute + - id: date.day + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date + meta: + origin: + originType: NATIVE + originId: demo - id: campaign_channels type: dataset attributes: @@ -1895,16 +1960,20 @@ interactions: grain: - id: campaign_channel_id type: attribute - order: 0 referenceProperties: - identifier: id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - campaign_id - sourceColumnDataTypes: null + sourceColumnDataTypes: + - INT dataSourceTableId: demo-test-ds:campaign_channels + dataSourceTablePath: + - demo + - campaign_channels areRelationsValid: true type: NORMAL relationships: @@ -1912,10 +1981,10 @@ interactions: data: - id: campaign_channel_id type: attribute - - id: type - type: attribute - id: campaign_channels.category type: attribute + - id: type + type: attribute facts: data: - id: budget @@ -1928,6 +1997,68 @@ interactions: origin: originType: NATIVE originId: demo + - id: campaigns + 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 + relationships: + attributes: + data: + - id: campaign_id + type: attribute + - id: campaign_name + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns + meta: + origin: + originType: NATIVE + originId: demo + - id: customers + 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 + relationships: + attributes: + data: + - id: customer_id + type: attribute + - id: state + type: attribute + - id: customer_name + type: attribute + - id: region + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers + meta: + origin: + originType: NATIVE + originId: demo - id: order_lines type: dataset attributes: @@ -1938,45 +2069,60 @@ interactions: grain: - id: order_line_id type: attribute - order: 0 referenceProperties: - identifier: - id: products + id: date type: dataset multivalue: false + sources: null sourceColumns: - - product_id - sourceColumnDataTypes: null + - date + sourceColumnDataTypes: + - DATE - identifier: id: customers type: dataset multivalue: false + sources: null sourceColumns: - customer_id - sourceColumnDataTypes: null + sourceColumnDataTypes: + - INT - identifier: - id: date + id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - - date - sourceColumnDataTypes: null + - campaign_id + sourceColumnDataTypes: + - INT - identifier: - id: campaigns + id: products type: dataset multivalue: false + sources: null sourceColumns: - - campaign_id - sourceColumnDataTypes: null + - product_id + sourceColumnDataTypes: + - INT dataSourceTableId: demo-test-ds:order_lines + dataSourceTablePath: + - demo + - order_lines areRelationsValid: true - workspaceDataFilterProperties: - - workspaceDataFilterIdentifier: + workspaceDataFilterColumns: + - name: wdf__state + dataType: STRING + - name: wdf__region + dataType: STRING + workspaceDataFilterReferences: + - filterId: id: wdf__state type: workspaceDataFilter filterColumn: wdf__state filterColumnDataType: STRING - - workspaceDataFilterIdentifier: + - filterId: id: wdf__region type: workspaceDataFilter filterColumn: wdf__region @@ -1985,12 +2131,12 @@ interactions: relationships: attributes: data: - - id: order_status - type: attribute - id: order_id type: attribute - id: order_line_id type: attribute + - id: order_status + type: attribute facts: data: - id: price @@ -2013,18 +2159,20 @@ interactions: grain: - id: product_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:products + dataSourceTablePath: + - demo + - products areRelationsValid: true type: NORMAL relationships: attributes: data: - - id: product_name + - id: products.category type: attribute - id: product_id type: attribute - - id: products.category + - id: product_name type: attribute links: self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/products @@ -2032,112 +2180,6 @@ interactions: origin: originType: NATIVE originId: demo - - id: date - type: dataset - attributes: - title: Date - description: '' - tags: - - Date - areRelationsValid: true - type: DATE - relationships: - attributes: - data: - - id: date.quarterOfYear - type: attribute - - id: date.weekOfYear - type: attribute - - id: date.dayOfMonth - type: attribute - - id: date.monthOfYear - type: attribute - - id: date.minuteOfHour - type: attribute - - id: date.hour - type: attribute - - id: date.year - type: attribute - - id: date.week - type: attribute - - id: date.quarter - type: attribute - - id: date.dayOfYear - type: attribute - - id: date.dayOfWeek - type: attribute - - id: date.minute - type: attribute - - id: date.day - type: attribute - - id: date.month - type: attribute - - id: date.hourOfDay - type: attribute - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date - meta: - origin: - originType: NATIVE - originId: demo - - id: campaigns - type: dataset - attributes: - title: Campaigns - description: Campaigns - tags: - - Campaigns - grain: - - id: campaign_id - type: attribute - order: 0 - dataSourceTableId: demo-test-ds:campaigns - areRelationsValid: true - type: NORMAL - relationships: - attributes: - data: - - id: campaign_id - type: attribute - - id: campaign_name - type: attribute - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns - meta: - origin: - originType: NATIVE - originId: demo - - id: customers - type: dataset - attributes: - title: Customers - description: Customers - tags: - - Customers - grain: - - id: customer_id - type: attribute - order: 0 - dataSourceTableId: demo-test-ds:customers - areRelationsValid: true - type: NORMAL - relationships: - attributes: - data: - - id: region - type: attribute - - id: state - type: attribute - - id: customer_id - type: attribute - - id: customer_name - type: attribute - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers - meta: - origin: - originType: NATIVE - originId: demo included: - id: product_id type: attribute @@ -2147,6 +2189,7 @@ interactions: tags: - Products sourceColumn: product_id + sourceColumnDataType: INT links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id - id: budget @@ -2157,6 +2200,7 @@ interactions: tags: - Campaign channels sourceColumn: budget + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/budget - id: date.year @@ -2177,6 +2221,7 @@ interactions: tags: - Products sourceColumn: product_name + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name - id: date.month @@ -2197,6 +2242,7 @@ interactions: tags: - Products sourceColumn: category + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category - id: date.dayOfMonth @@ -2237,6 +2283,7 @@ interactions: tags: - Campaign channels sourceColumn: category + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category - id: date.minute @@ -2257,6 +2304,7 @@ interactions: tags: - Customers sourceColumn: state + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state - id: date.week @@ -2277,6 +2325,7 @@ interactions: tags: - Order lines sourceColumn: order_id + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id - id: date.hour @@ -2297,6 +2346,7 @@ interactions: tags: - Campaigns sourceColumn: campaign_name + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name - id: price @@ -2307,6 +2357,7 @@ interactions: tags: - Order lines sourceColumn: price + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/price - id: date.dayOfWeek @@ -2337,6 +2388,7 @@ interactions: tags: - Customers sourceColumn: region + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region - id: campaign_channel_id @@ -2347,6 +2399,7 @@ interactions: tags: - Campaign channels sourceColumn: campaign_channel_id + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id - id: customer_id @@ -2357,6 +2410,7 @@ interactions: tags: - Customers sourceColumn: customer_id + sourceColumnDataType: INT links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id - id: date.hourOfDay @@ -2377,6 +2431,7 @@ interactions: tags: - Order lines sourceColumn: quantity + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity - id: campaign_id @@ -2387,6 +2442,7 @@ interactions: tags: - Campaigns sourceColumn: campaign_id + sourceColumnDataType: INT links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id - id: type @@ -2397,6 +2453,7 @@ interactions: tags: - Campaign channels sourceColumn: type + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type - id: spend @@ -2407,6 +2464,7 @@ interactions: tags: - Campaign channels sourceColumn: spend + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/spend - id: date.dayOfYear @@ -2447,6 +2505,7 @@ interactions: tags: - Order lines sourceColumn: order_status + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status - id: date.monthOfYear @@ -2467,6 +2526,7 @@ interactions: tags: - Customers sourceColumn: customer_name + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name - id: order_line_id @@ -2477,11 +2537,12 @@ interactions: tags: - Order lines sourceColumn: order_line_id + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=0&size=500 - next: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=1&size=500 + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=1&size=500 - request: method: GET uri: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500 @@ -2509,7 +2570,7 @@ interactions: Connection: - keep-alive Content-Length: - - '9799' + - '10543' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -2561,6 +2622,7 @@ interactions: attributes: title: '# of Active Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0' maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) @@ -2575,6 +2637,7 @@ interactions: attributes: title: '# of Orders' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0' maql: SELECT COUNT({attribute/order_id}) @@ -2589,6 +2652,7 @@ interactions: attributes: title: '# of Top Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0' maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT @@ -2605,6 +2669,7 @@ interactions: title: '# of Valid Orders' description: '' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.00' maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} @@ -2620,6 +2685,7 @@ interactions: attributes: title: Campaign Spend areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT SUM({fact/spend}) @@ -2634,6 +2700,7 @@ interactions: attributes: title: Order Amount areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT SUM({fact/price}*{fact/quantity}) @@ -2648,6 +2715,7 @@ interactions: attributes: title: '% Revenue' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / {metric/total_revenue} @@ -2662,6 +2730,7 @@ interactions: attributes: title: '% Revenue from Top 10 Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ @@ -2677,6 +2746,7 @@ interactions: attributes: title: '% Revenue from Top 10% Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ @@ -2692,6 +2762,7 @@ interactions: attributes: title: '% Revenue from Top 10% Products' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ @@ -2707,6 +2778,7 @@ interactions: attributes: title: '% Revenue from Top 10 Products' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ @@ -2722,6 +2794,7 @@ interactions: attributes: title: '% Revenue in Category' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, @@ -2737,6 +2810,7 @@ interactions: attributes: title: '% Revenue per Product' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL @@ -2753,6 +2827,7 @@ interactions: title: Revenue description: '' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} @@ -2768,6 +2843,7 @@ interactions: attributes: title: Revenue (Clothing) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2783,6 +2859,7 @@ interactions: attributes: title: Revenue (Electronic) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2798,6 +2875,7 @@ interactions: attributes: title: Revenue (Home) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2813,6 +2891,7 @@ interactions: attributes: title: Revenue (Outdoor) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2828,6 +2907,7 @@ interactions: attributes: title: Revenue per Customer areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0.0 maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) @@ -2842,6 +2922,7 @@ interactions: attributes: title: Revenue per Dollar Spent areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0.0 maql: SELECT {metric/revenue} / {metric/campaign_spend} @@ -2856,6 +2937,7 @@ interactions: attributes: title: Revenue / Top 10 areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) @@ -2870,6 +2952,7 @@ interactions: attributes: title: Revenue / Top 10% areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) @@ -2884,6 +2967,7 @@ interactions: attributes: title: Total Revenue areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} BY ALL OTHER @@ -2898,6 +2982,7 @@ interactions: attributes: title: Total Revenue (No Filters) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER @@ -2912,7 +2997,7 @@ interactions: next: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=1&size=500 - request: method: GET - uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/fabc26cfbdbda4b24846d9b188994f1d94ff09e0?offset=0%2C0&limit=4%2C1000 + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/2bcc261b966a6f6fc21b2d9c8b207a05a77097f1?offset=0%2C0&limit=4%2C1000 body: null headers: Accept: diff --git a/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_insight_date.yaml b/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_insight_date.yaml index 084515a6a..d3e41320b 100644 --- a/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_insight_date.yaml +++ b/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_insight_date.yaml @@ -28,7 +28,7 @@ interactions: Connection: - keep-alive Content-Length: - - '3018' + - '3321' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -151,7 +151,12 @@ interactions: rotation: auto version: '2' visualizationUrl: local:combo2 + createdAt: 2023-10-24 11:00 relationships: + createdBy: + data: + id: admin + type: userIdentifier metrics: data: - id: amount_of_active_customers @@ -171,6 +176,11 @@ interactions: originType: NATIVE originId: demo included: + - id: admin + type: userIdentifier + attributes: {} + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/userIdentifiers/admin - id: date type: dataset attributes: @@ -185,6 +195,7 @@ interactions: type: metric attributes: title: '# of Active Customers' + createdAt: 2023-10-24 11:00 content: format: '#,##0' maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) @@ -194,6 +205,7 @@ interactions: type: metric attributes: title: Revenue per Customer + createdAt: 2023-10-24 11:00 content: format: $#,##0.0 maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) @@ -363,7 +375,7 @@ interactions: pattern: MMM y localIdentifier: dim_1 links: - executionResult: a7cf6130fa00d49e190774d4bf6b8a4a57e3921d + executionResult: 6e3f87d214b9832af5c00b8ffbfbf08a668b5f3e - request: method: GET uri: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&page=0&size=500 @@ -391,7 +403,7 @@ interactions: Connection: - keep-alive Content-Length: - - '27018' + - '27121' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -438,743 +450,743 @@ interactions: body: string: data: - - id: campaign_channels.category + - id: date.minute type: attribute attributes: - title: Category - description: Category + title: Date - Minute + description: Minute tags: - - Campaign channels + - Date + granularity: MINUTE areRelationsValid: true - sourceColumn: category - sourceColumnDataType: STRING relationships: dataset: data: - id: campaign_channels + id: date type: dataset labels: data: - - id: campaign_channels.category + - id: date.minute type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute meta: origin: originType: NATIVE originId: demo - - id: campaign_channel_id + - id: date.hour type: attribute attributes: - title: Campaign channel id - description: Campaign channel id + title: Date - Hour + description: Hour tags: - - Campaign channels + - Date + granularity: HOUR areRelationsValid: true - sourceColumn: campaign_channel_id - sourceColumnDataType: STRING relationships: dataset: data: - id: campaign_channels + id: date type: dataset labels: data: - - id: campaign_channel_id + - id: date.hour type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour meta: origin: originType: NATIVE originId: demo - - id: type + - id: date.day type: attribute attributes: - title: Type - description: Type + title: Date - Date + description: Date tags: - - Campaign channels + - Date + granularity: DAY areRelationsValid: true - sourceColumn: type - sourceColumnDataType: STRING relationships: dataset: data: - id: campaign_channels + id: date type: dataset labels: data: - - id: type + - id: date.day type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day meta: origin: originType: NATIVE originId: demo - - id: campaign_name + - id: date.week type: attribute attributes: - title: Campaign name - description: Campaign name + title: Date - Week/Year + description: Week and Year (W52/2020) tags: - - Campaigns + - Date + granularity: WEEK areRelationsValid: true - sourceColumn: campaign_name - sourceColumnDataType: STRING relationships: dataset: data: - id: campaigns + id: date type: dataset labels: data: - - id: campaign_name + - id: date.week type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week meta: origin: originType: NATIVE originId: demo - - id: campaign_id + - id: date.month type: attribute attributes: - title: Campaign id - description: Campaign id + title: Date - Month/Year + description: Month and Year (12/2020) tags: - - Campaigns + - Date + granularity: MONTH areRelationsValid: true - sourceColumn: campaign_id - sourceColumnDataType: INT relationships: dataset: data: - id: campaigns + id: date type: dataset labels: data: - - id: campaign_id + - id: date.month type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month meta: origin: originType: NATIVE originId: demo - - id: state + - id: date.quarter type: attribute attributes: - title: State - description: State + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) tags: - - Customers + - Date + granularity: QUARTER areRelationsValid: true - sourceColumn: state - sourceColumnDataType: STRING relationships: - defaultView: - data: - id: state - type: label dataset: data: - id: customers + id: date type: dataset labels: data: - - id: state - type: label - - id: geo__state__location + - id: date.quarter type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter meta: origin: originType: NATIVE originId: demo - - id: region + - id: date.year type: attribute attributes: - title: Region - description: Region + title: Date - Year + description: Year tags: - - Customers + - Date + granularity: YEAR areRelationsValid: true - sourceColumn: region - sourceColumnDataType: STRING relationships: dataset: data: - id: customers + id: date type: dataset labels: data: - - id: region + - id: date.year type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year meta: origin: originType: NATIVE originId: demo - - id: customer_name + - id: date.minuteOfHour type: attribute attributes: - title: Customer name - description: Customer name + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) tags: - - Customers + - Date + granularity: MINUTE_OF_HOUR areRelationsValid: true - sourceColumn: customer_name - sourceColumnDataType: STRING relationships: dataset: data: - id: customers + id: date type: dataset labels: data: - - id: customer_name + - id: date.minuteOfHour type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour meta: origin: originType: NATIVE originId: demo - - id: customer_id + - id: date.hourOfDay type: attribute attributes: - title: Customer id - description: Customer id + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) tags: - - Customers + - Date + granularity: HOUR_OF_DAY areRelationsValid: true - sourceColumn: customer_id - sourceColumnDataType: INT relationships: dataset: data: - id: customers + id: date type: dataset labels: data: - - id: customer_id + - id: date.hourOfDay type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay meta: origin: originType: NATIVE originId: demo - - id: order_status + - id: date.dayOfWeek type: attribute attributes: - title: Order status - description: Order status + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) tags: - - Order lines + - Date + granularity: DAY_OF_WEEK areRelationsValid: true - sourceColumn: order_status - sourceColumnDataType: STRING relationships: dataset: data: - id: order_lines + id: date type: dataset labels: data: - - id: order_status + - id: date.dayOfWeek type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek meta: origin: originType: NATIVE originId: demo - - id: order_line_id + - id: date.dayOfMonth type: attribute attributes: - title: Order line id - description: Order line id + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) tags: - - Order lines + - Date + granularity: DAY_OF_MONTH areRelationsValid: true - sourceColumn: order_line_id - sourceColumnDataType: STRING relationships: dataset: data: - id: order_lines + id: date type: dataset labels: data: - - id: order_line_id + - id: date.dayOfMonth type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth meta: origin: originType: NATIVE originId: demo - - id: order_id + - id: date.dayOfYear type: attribute attributes: - title: Order id - description: Order id + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) tags: - - Order lines + - Date + granularity: DAY_OF_YEAR areRelationsValid: true - sourceColumn: order_id - sourceColumnDataType: STRING relationships: dataset: data: - id: order_lines + id: date type: dataset labels: data: - - id: order_id + - id: date.dayOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear meta: origin: originType: NATIVE originId: demo - - id: product_name + - id: date.weekOfYear type: attribute attributes: - title: Product name - description: Product name + title: Date - Week of Year + description: Generic Week (W1-W53) tags: - - Products + - Date + granularity: WEEK_OF_YEAR areRelationsValid: true - sourceColumn: product_name - sourceColumnDataType: STRING relationships: dataset: data: - id: products + id: date type: dataset labels: data: - - id: product_name + - id: date.weekOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear meta: origin: originType: NATIVE originId: demo - - id: product_id + - id: date.monthOfYear type: attribute attributes: - title: Product id - description: Product id + title: Date - Month of Year + description: Generic Month (M1-M12) tags: - - Products + - Date + granularity: MONTH_OF_YEAR areRelationsValid: true - sourceColumn: product_id - sourceColumnDataType: INT relationships: dataset: data: - id: products + id: date type: dataset labels: data: - - id: product_id + - id: date.monthOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear meta: origin: originType: NATIVE originId: demo - - id: products.category + - id: date.quarterOfYear type: attribute attributes: - title: Category - description: Category + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) tags: - - Products + - Date + granularity: QUARTER_OF_YEAR areRelationsValid: true - sourceColumn: category - sourceColumnDataType: STRING relationships: dataset: data: - id: products + id: date type: dataset labels: data: - - id: products.category + - id: date.quarterOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear meta: origin: originType: NATIVE originId: demo - - id: date.quarterOfYear + - id: campaign_channel_id type: attribute attributes: - title: Date - Quarter of Year - description: Generic Quarter (Q1-Q4) + title: Campaign channel id + description: Campaign channel id tags: - - Date - granularity: QUARTER_OF_YEAR + - Campaign channels areRelationsValid: true + sourceColumn: campaign_channel_id + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaign_channels type: dataset labels: data: - - id: date.quarterOfYear + - id: campaign_channel_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id meta: origin: originType: NATIVE originId: demo - - id: date.monthOfYear + - id: campaign_channels.category type: attribute attributes: - title: Date - Month of Year - description: Generic Month (M1-M12) + title: Category + description: Category tags: - - Date - granularity: MONTH_OF_YEAR + - Campaign channels areRelationsValid: true + sourceColumn: category + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaign_channels type: dataset labels: data: - - id: date.monthOfYear + - id: campaign_channels.category type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category meta: origin: originType: NATIVE originId: demo - - id: date.weekOfYear + - id: type type: attribute attributes: - title: Date - Week of Year - description: Generic Week (W1-W53) + title: Type + description: Type tags: - - Date - granularity: WEEK_OF_YEAR + - Campaign channels areRelationsValid: true + sourceColumn: type + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaign_channels type: dataset labels: data: - - id: date.weekOfYear + - id: type type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type meta: origin: originType: NATIVE originId: demo - - id: date.dayOfYear + - id: campaign_id type: attribute attributes: - title: Date - Day of Year - description: Generic Day of the Year (D1-D366) + title: Campaign id + description: Campaign id tags: - - Date - granularity: DAY_OF_YEAR + - Campaigns areRelationsValid: true + sourceColumn: campaign_id + sourceColumnDataType: INT relationships: dataset: data: - id: date + id: campaigns type: dataset labels: data: - - id: date.dayOfYear + - id: campaign_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id meta: origin: originType: NATIVE originId: demo - - id: date.dayOfMonth + - id: campaign_name type: attribute attributes: - title: Date - Day of Month - description: Generic Day of the Month (D1-D31) + title: Campaign name + description: Campaign name tags: - - Date - granularity: DAY_OF_MONTH + - Campaigns areRelationsValid: true + sourceColumn: campaign_name + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaigns type: dataset labels: data: - - id: date.dayOfMonth + - id: campaign_name type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name meta: origin: originType: NATIVE originId: demo - - id: date.dayOfWeek + - id: customer_id type: attribute attributes: - title: Date - Day of Week - description: Generic Day of the Week (D1-D7) + title: Customer id + description: Customer id tags: - - Date - granularity: DAY_OF_WEEK + - Customers areRelationsValid: true + sourceColumn: customer_id + sourceColumnDataType: INT relationships: dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.dayOfWeek + - id: customer_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id meta: origin: originType: NATIVE originId: demo - - id: date.hourOfDay + - id: customer_name type: attribute attributes: - title: Date - Hour of Day - description: Generic Hour of the Day(H1-H24) + title: Customer name + description: Customer name tags: - - Date - granularity: HOUR_OF_DAY + - Customers areRelationsValid: true + sourceColumn: customer_name + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.hourOfDay + - id: customer_name type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name meta: origin: originType: NATIVE originId: demo - - id: date.minuteOfHour + - id: region type: attribute attributes: - title: Date - Minute of Hour - description: Generic Minute of the Hour(MI1-MI60) + title: Region + description: Region tags: - - Date - granularity: MINUTE_OF_HOUR + - Customers areRelationsValid: true + sourceColumn: region + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.minuteOfHour + - id: region type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region meta: origin: originType: NATIVE originId: demo - - id: date.year + - id: state type: attribute attributes: - title: Date - Year - description: Year + title: State + description: State tags: - - Date - granularity: YEAR + - Customers areRelationsValid: true + sourceColumn: state + sourceColumnDataType: STRING relationships: + defaultView: + data: + id: state + type: label dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.year + - id: geo__state__location + type: label + - id: state type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state meta: origin: originType: NATIVE originId: demo - - id: date.quarter + - id: order_id type: attribute attributes: - title: Date - Quarter/Year - description: Quarter and Year (Q1/2020) + title: Order id + description: Order id tags: - - Date - granularity: QUARTER + - Order lines areRelationsValid: true + sourceColumn: order_id + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: order_lines type: dataset labels: data: - - id: date.quarter + - id: order_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id meta: origin: originType: NATIVE originId: demo - - id: date.month + - id: order_line_id type: attribute attributes: - title: Date - Month/Year - description: Month and Year (12/2020) + title: Order line id + description: Order line id tags: - - Date - granularity: MONTH + - Order lines areRelationsValid: true + sourceColumn: order_line_id + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: order_lines type: dataset labels: data: - - id: date.month + - id: order_line_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id meta: origin: originType: NATIVE originId: demo - - id: date.week + - id: order_status type: attribute attributes: - title: Date - Week/Year - description: Week and Year (W52/2020) + title: Order status + description: Order status tags: - - Date - granularity: WEEK + - Order lines areRelationsValid: true + sourceColumn: order_status + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: order_lines type: dataset labels: data: - - id: date.week + - id: order_status type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status meta: origin: originType: NATIVE originId: demo - - id: date.day + - id: product_id type: attribute attributes: - title: Date - Date - description: Date + title: Product id + description: Product id tags: - - Date - granularity: DAY + - Products areRelationsValid: true + sourceColumn: product_id + sourceColumnDataType: INT relationships: dataset: data: - id: date + id: products type: dataset labels: data: - - id: date.day + - id: product_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id meta: origin: originType: NATIVE originId: demo - - id: date.hour + - id: product_name type: attribute attributes: - title: Date - Hour - description: Hour + title: Product name + description: Product name tags: - - Date - granularity: HOUR + - Products areRelationsValid: true + sourceColumn: product_name + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: products type: dataset labels: data: - - id: date.hour + - id: product_name type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name meta: origin: originType: NATIVE originId: demo - - id: date.minute + - id: products.category type: attribute attributes: - title: Date - Minute - description: Minute + title: Category + description: Category tags: - - Date - granularity: MINUTE + - Products areRelationsValid: true + sourceColumn: category + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: products type: dataset labels: data: - - id: date.minute + - id: products.category type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category meta: origin: originType: NATIVE @@ -1238,51 +1250,59 @@ interactions: grain: - id: order_line_id type: attribute - order: 0 referenceProperties: - identifier: - id: products + id: date type: dataset multivalue: false + sources: null sourceColumns: - - product_id + - date sourceColumnDataTypes: - - INT + - DATE - identifier: id: customers type: dataset multivalue: false + sources: null sourceColumns: - customer_id sourceColumnDataTypes: - INT - identifier: - id: date + id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - - date + - campaign_id sourceColumnDataTypes: - - DATE + - INT - identifier: - id: campaigns + id: products type: dataset multivalue: false + sources: null sourceColumns: - - campaign_id + - product_id sourceColumnDataTypes: - INT dataSourceTableId: demo-test-ds:order_lines dataSourceTablePath: - demo - order_lines - workspaceDataFilterProperties: - - workspaceDataFilterIdentifier: + workspaceDataFilterColumns: + - name: wdf__state + dataType: STRING + - name: wdf__region + dataType: STRING + workspaceDataFilterReferences: + - filterId: id: wdf__state type: workspaceDataFilter filterColumn: wdf__state filterColumnDataType: STRING - - workspaceDataFilterIdentifier: + - filterId: id: wdf__region type: workspaceDataFilter filterColumn: wdf__region @@ -1324,12 +1344,12 @@ interactions: grain: - id: campaign_channel_id type: attribute - order: 0 referenceProperties: - identifier: id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - campaign_id sourceColumnDataTypes: @@ -1419,7 +1439,6 @@ interactions: grain: - id: campaign_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:campaigns dataSourceTablePath: - demo @@ -1476,7 +1495,6 @@ interactions: grain: - id: customer_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:customers dataSourceTablePath: - demo @@ -1602,7 +1620,6 @@ interactions: grain: - id: product_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:products dataSourceTablePath: - demo @@ -1706,8 +1723,8 @@ interactions: links: self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_id links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels,datasets&page=0&size=500 - next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels,datasets&page=1&size=500 + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&page=1&size=500 - request: method: GET uri: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500 @@ -1735,7 +1752,7 @@ interactions: Connection: - keep-alive Content-Length: - - '13953' + - '14899' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -1782,6 +1799,54 @@ interactions: body: string: data: + - id: date + type: dataset + attributes: + title: Date + description: '' + tags: + - Date + areRelationsValid: true + type: DATE + relationships: + attributes: + data: + - id: date.quarter + type: attribute + - id: date.minute + type: attribute + - id: date.hourOfDay + type: attribute + - id: date.minuteOfHour + type: attribute + - id: date.dayOfYear + type: attribute + - id: date.monthOfYear + type: attribute + - id: date.weekOfYear + type: attribute + - id: date.week + type: attribute + - id: date.year + type: attribute + - id: date.dayOfWeek + type: attribute + - id: date.hour + type: attribute + - id: date.dayOfMonth + type: attribute + - id: date.month + type: attribute + - id: date.quarterOfYear + type: attribute + - id: date.day + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date + meta: + origin: + originType: NATIVE + originId: demo - id: campaign_channels type: dataset attributes: @@ -1792,16 +1857,20 @@ interactions: grain: - id: campaign_channel_id type: attribute - order: 0 referenceProperties: - identifier: id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - campaign_id - sourceColumnDataTypes: null + sourceColumnDataTypes: + - INT dataSourceTableId: demo-test-ds:campaign_channels + dataSourceTablePath: + - demo + - campaign_channels areRelationsValid: true type: NORMAL relationships: @@ -1809,10 +1878,10 @@ interactions: data: - id: campaign_channel_id type: attribute - - id: type - type: attribute - id: campaign_channels.category type: attribute + - id: type + type: attribute facts: data: - id: budget @@ -1825,6 +1894,68 @@ interactions: origin: originType: NATIVE originId: demo + - id: campaigns + 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 + relationships: + attributes: + data: + - id: campaign_id + type: attribute + - id: campaign_name + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns + meta: + origin: + originType: NATIVE + originId: demo + - id: customers + 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 + relationships: + attributes: + data: + - id: customer_id + type: attribute + - id: state + type: attribute + - id: customer_name + type: attribute + - id: region + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers + meta: + origin: + originType: NATIVE + originId: demo - id: order_lines type: dataset attributes: @@ -1835,45 +1966,60 @@ interactions: grain: - id: order_line_id type: attribute - order: 0 referenceProperties: - identifier: - id: products + id: date type: dataset multivalue: false + sources: null sourceColumns: - - product_id - sourceColumnDataTypes: null + - date + sourceColumnDataTypes: + - DATE - identifier: id: customers type: dataset multivalue: false + sources: null sourceColumns: - customer_id - sourceColumnDataTypes: null + sourceColumnDataTypes: + - INT - identifier: - id: date + id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - - date - sourceColumnDataTypes: null + - campaign_id + sourceColumnDataTypes: + - INT - identifier: - id: campaigns + id: products type: dataset multivalue: false + sources: null sourceColumns: - - campaign_id - sourceColumnDataTypes: null + - product_id + sourceColumnDataTypes: + - INT dataSourceTableId: demo-test-ds:order_lines + dataSourceTablePath: + - demo + - order_lines areRelationsValid: true - workspaceDataFilterProperties: - - workspaceDataFilterIdentifier: + workspaceDataFilterColumns: + - name: wdf__state + dataType: STRING + - name: wdf__region + dataType: STRING + workspaceDataFilterReferences: + - filterId: id: wdf__state type: workspaceDataFilter filterColumn: wdf__state filterColumnDataType: STRING - - workspaceDataFilterIdentifier: + - filterId: id: wdf__region type: workspaceDataFilter filterColumn: wdf__region @@ -1882,12 +2028,12 @@ interactions: relationships: attributes: data: - - id: order_status - type: attribute - id: order_id type: attribute - id: order_line_id type: attribute + - id: order_status + type: attribute facts: data: - id: price @@ -1910,18 +2056,20 @@ interactions: grain: - id: product_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:products + dataSourceTablePath: + - demo + - products areRelationsValid: true type: NORMAL relationships: attributes: data: - - id: product_name + - id: products.category type: attribute - id: product_id type: attribute - - id: products.category + - id: product_name type: attribute links: self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/products @@ -1929,112 +2077,6 @@ interactions: origin: originType: NATIVE originId: demo - - id: date - type: dataset - attributes: - title: Date - description: '' - tags: - - Date - areRelationsValid: true - type: DATE - relationships: - attributes: - data: - - id: date.quarterOfYear - type: attribute - - id: date.weekOfYear - type: attribute - - id: date.dayOfMonth - type: attribute - - id: date.monthOfYear - type: attribute - - id: date.minuteOfHour - type: attribute - - id: date.hour - type: attribute - - id: date.year - type: attribute - - id: date.week - type: attribute - - id: date.quarter - type: attribute - - id: date.dayOfYear - type: attribute - - id: date.dayOfWeek - type: attribute - - id: date.minute - type: attribute - - id: date.day - type: attribute - - id: date.month - type: attribute - - id: date.hourOfDay - type: attribute - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date - meta: - origin: - originType: NATIVE - originId: demo - - id: campaigns - type: dataset - attributes: - title: Campaigns - description: Campaigns - tags: - - Campaigns - grain: - - id: campaign_id - type: attribute - order: 0 - dataSourceTableId: demo-test-ds:campaigns - areRelationsValid: true - type: NORMAL - relationships: - attributes: - data: - - id: campaign_id - type: attribute - - id: campaign_name - type: attribute - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns - meta: - origin: - originType: NATIVE - originId: demo - - id: customers - type: dataset - attributes: - title: Customers - description: Customers - tags: - - Customers - grain: - - id: customer_id - type: attribute - order: 0 - dataSourceTableId: demo-test-ds:customers - areRelationsValid: true - type: NORMAL - relationships: - attributes: - data: - - id: region - type: attribute - - id: state - type: attribute - - id: customer_id - type: attribute - - id: customer_name - type: attribute - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers - meta: - origin: - originType: NATIVE - originId: demo included: - id: product_id type: attribute @@ -2044,6 +2086,7 @@ interactions: tags: - Products sourceColumn: product_id + sourceColumnDataType: INT links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id - id: budget @@ -2054,6 +2097,7 @@ interactions: tags: - Campaign channels sourceColumn: budget + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/budget - id: date.year @@ -2074,6 +2118,7 @@ interactions: tags: - Products sourceColumn: product_name + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name - id: date.month @@ -2094,6 +2139,7 @@ interactions: tags: - Products sourceColumn: category + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category - id: date.dayOfMonth @@ -2134,6 +2180,7 @@ interactions: tags: - Campaign channels sourceColumn: category + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category - id: date.minute @@ -2154,6 +2201,7 @@ interactions: tags: - Customers sourceColumn: state + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state - id: date.week @@ -2174,6 +2222,7 @@ interactions: tags: - Order lines sourceColumn: order_id + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id - id: date.hour @@ -2194,6 +2243,7 @@ interactions: tags: - Campaigns sourceColumn: campaign_name + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name - id: price @@ -2204,6 +2254,7 @@ interactions: tags: - Order lines sourceColumn: price + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/price - id: date.dayOfWeek @@ -2234,6 +2285,7 @@ interactions: tags: - Customers sourceColumn: region + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region - id: campaign_channel_id @@ -2244,6 +2296,7 @@ interactions: tags: - Campaign channels sourceColumn: campaign_channel_id + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id - id: customer_id @@ -2254,6 +2307,7 @@ interactions: tags: - Customers sourceColumn: customer_id + sourceColumnDataType: INT links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id - id: date.hourOfDay @@ -2274,6 +2328,7 @@ interactions: tags: - Order lines sourceColumn: quantity + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity - id: campaign_id @@ -2284,6 +2339,7 @@ interactions: tags: - Campaigns sourceColumn: campaign_id + sourceColumnDataType: INT links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id - id: type @@ -2294,6 +2350,7 @@ interactions: tags: - Campaign channels sourceColumn: type + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type - id: spend @@ -2304,6 +2361,7 @@ interactions: tags: - Campaign channels sourceColumn: spend + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/spend - id: date.dayOfYear @@ -2344,6 +2402,7 @@ interactions: tags: - Order lines sourceColumn: order_status + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status - id: date.monthOfYear @@ -2364,6 +2423,7 @@ interactions: tags: - Customers sourceColumn: customer_name + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name - id: order_line_id @@ -2374,11 +2434,12 @@ interactions: tags: - Order lines sourceColumn: order_line_id + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=0&size=500 - next: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=1&size=500 + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=1&size=500 - request: method: GET uri: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500 @@ -2406,7 +2467,7 @@ interactions: Connection: - keep-alive Content-Length: - - '9799' + - '10543' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -2458,6 +2519,7 @@ interactions: attributes: title: '# of Active Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0' maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) @@ -2472,6 +2534,7 @@ interactions: attributes: title: '# of Orders' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0' maql: SELECT COUNT({attribute/order_id}) @@ -2486,6 +2549,7 @@ interactions: attributes: title: '# of Top Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0' maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT @@ -2502,6 +2566,7 @@ interactions: title: '# of Valid Orders' description: '' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.00' maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} @@ -2517,6 +2582,7 @@ interactions: attributes: title: Campaign Spend areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT SUM({fact/spend}) @@ -2531,6 +2597,7 @@ interactions: attributes: title: Order Amount areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT SUM({fact/price}*{fact/quantity}) @@ -2545,6 +2612,7 @@ interactions: attributes: title: '% Revenue' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / {metric/total_revenue} @@ -2559,6 +2627,7 @@ interactions: attributes: title: '% Revenue from Top 10 Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ @@ -2574,6 +2643,7 @@ interactions: attributes: title: '% Revenue from Top 10% Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ @@ -2589,6 +2659,7 @@ interactions: attributes: title: '% Revenue from Top 10% Products' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ @@ -2604,6 +2675,7 @@ interactions: attributes: title: '% Revenue from Top 10 Products' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ @@ -2619,6 +2691,7 @@ interactions: attributes: title: '% Revenue in Category' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, @@ -2634,6 +2707,7 @@ interactions: attributes: title: '% Revenue per Product' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL @@ -2650,6 +2724,7 @@ interactions: title: Revenue description: '' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} @@ -2665,6 +2740,7 @@ interactions: attributes: title: Revenue (Clothing) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2680,6 +2756,7 @@ interactions: attributes: title: Revenue (Electronic) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2695,6 +2772,7 @@ interactions: attributes: title: Revenue (Home) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2710,6 +2788,7 @@ interactions: attributes: title: Revenue (Outdoor) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2725,6 +2804,7 @@ interactions: attributes: title: Revenue per Customer areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0.0 maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) @@ -2739,6 +2819,7 @@ interactions: attributes: title: Revenue per Dollar Spent areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0.0 maql: SELECT {metric/revenue} / {metric/campaign_spend} @@ -2753,6 +2834,7 @@ interactions: attributes: title: Revenue / Top 10 areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) @@ -2767,6 +2849,7 @@ interactions: attributes: title: Revenue / Top 10% areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) @@ -2781,6 +2864,7 @@ interactions: attributes: title: Total Revenue areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} BY ALL OTHER @@ -2795,6 +2879,7 @@ interactions: attributes: title: Total Revenue (No Filters) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER @@ -2809,7 +2894,7 @@ interactions: next: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=1&size=500 - request: method: GET - uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/a7cf6130fa00d49e190774d4bf6b8a4a57e3921d?offset=0%2C0&limit=2%2C1000 + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/6e3f87d214b9832af5c00b8ffbfbf08a668b5f3e?offset=0%2C0&limit=2%2C1000 body: null headers: Accept: @@ -2879,26 +2964,23 @@ interactions: X-XSS-Protection: - 1 ; mode=block content-length: - - '1410' + - '1385' body: string: data: - - - 87.0 - - 87.0 - - 73.0 - - 56.0 - - 88.0 - - 65.0 - - 61.0 - - 70.0 - - 53.0 - - 54.0 - - 58.0 - - 76.0 - - - 249.6326923076923 - - 208.97644736842105 - - 177.2809375 - - 170.1824 + - - 56 + - 88 + - 65 + - 61 + - 70 + - 53 + - 54 + - 58 + - 76 + - 95 + - 110 + - 91 + - - 170.1824 - 178.174875 - 174.79036363636362 - 150.10735849056604 @@ -2907,6 +2989,9 @@ interactions: - 247.32333333333332 - 113.54166666666667 - 213.47925373134328 + - 167.58869047619046 + - 237.2503 + - 154.40761904761905 dimensionHeaders: - headerGroups: - headers: @@ -2916,15 +3001,6 @@ interactions: measureIndex: 1 - headerGroups: - headers: - - attributeHeader: - labelValue: 2022-08 - primaryLabelValue: 2022-08 - - attributeHeader: - labelValue: 2022-09 - primaryLabelValue: 2022-09 - - attributeHeader: - labelValue: 2022-10 - primaryLabelValue: 2022-10 - attributeHeader: labelValue: 2022-11 primaryLabelValue: 2022-11 @@ -2952,6 +3028,15 @@ interactions: - 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 grandTotals: [] paging: count: diff --git a/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_insight_no_index.yaml b/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_insight_no_index.yaml index a5d52dae9..44cf4dfbc 100644 --- a/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_insight_no_index.yaml +++ b/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_insight_no_index.yaml @@ -28,7 +28,7 @@ interactions: Connection: - keep-alive Content-Length: - - '4703' + - '5006' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -174,7 +174,12 @@ interactions: direction: asc version: '2' visualizationUrl: local:table + createdAt: 2023-10-24 11:00 relationships: + createdBy: + data: + id: admin + type: userIdentifier metrics: data: - id: percent_revenue_in_category @@ -183,10 +188,10 @@ interactions: type: metric facts: data: - - id: price - type: fact - id: quantity type: fact + - id: price + type: fact labels: data: - id: products.category @@ -216,6 +221,7 @@ interactions: attributes: title: Revenue description: '' + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} @@ -246,6 +252,11 @@ interactions: valueType: TEXT links: self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_name + - id: admin + type: userIdentifier + attributes: {} + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/userIdentifiers/admin - id: customer_name type: label attributes: @@ -263,6 +274,7 @@ interactions: type: metric attributes: title: '% Revenue in Category' + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, @@ -466,7 +478,7 @@ interactions: type: label localIdentifier: dim_1 links: - executionResult: fabc26cfbdbda4b24846d9b188994f1d94ff09e0 + executionResult: 2bcc261b966a6f6fc21b2d9c8b207a05a77097f1 - request: method: GET uri: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&page=0&size=500 @@ -494,7 +506,7 @@ interactions: Connection: - keep-alive Content-Length: - - '27018' + - '27121' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -541,743 +553,743 @@ interactions: body: string: data: - - id: campaign_channels.category + - id: date.minute type: attribute attributes: - title: Category - description: Category + title: Date - Minute + description: Minute tags: - - Campaign channels + - Date + granularity: MINUTE areRelationsValid: true - sourceColumn: category - sourceColumnDataType: STRING relationships: dataset: data: - id: campaign_channels + id: date type: dataset labels: data: - - id: campaign_channels.category + - id: date.minute type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute meta: origin: originType: NATIVE originId: demo - - id: campaign_channel_id + - id: date.hour type: attribute attributes: - title: Campaign channel id - description: Campaign channel id + title: Date - Hour + description: Hour tags: - - Campaign channels + - Date + granularity: HOUR areRelationsValid: true - sourceColumn: campaign_channel_id - sourceColumnDataType: STRING relationships: dataset: data: - id: campaign_channels + id: date type: dataset labels: data: - - id: campaign_channel_id + - id: date.hour type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour meta: origin: originType: NATIVE originId: demo - - id: type + - id: date.day type: attribute attributes: - title: Type - description: Type + title: Date - Date + description: Date tags: - - Campaign channels + - Date + granularity: DAY areRelationsValid: true - sourceColumn: type - sourceColumnDataType: STRING relationships: dataset: data: - id: campaign_channels + id: date type: dataset labels: data: - - id: type + - id: date.day type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day meta: origin: originType: NATIVE originId: demo - - id: campaign_name + - id: date.week type: attribute attributes: - title: Campaign name - description: Campaign name + title: Date - Week/Year + description: Week and Year (W52/2020) tags: - - Campaigns + - Date + granularity: WEEK areRelationsValid: true - sourceColumn: campaign_name - sourceColumnDataType: STRING relationships: dataset: data: - id: campaigns + id: date type: dataset labels: data: - - id: campaign_name + - id: date.week type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week meta: origin: originType: NATIVE originId: demo - - id: campaign_id + - id: date.month type: attribute attributes: - title: Campaign id - description: Campaign id + title: Date - Month/Year + description: Month and Year (12/2020) tags: - - Campaigns + - Date + granularity: MONTH areRelationsValid: true - sourceColumn: campaign_id - sourceColumnDataType: INT relationships: dataset: data: - id: campaigns + id: date type: dataset labels: data: - - id: campaign_id + - id: date.month type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month meta: origin: originType: NATIVE originId: demo - - id: state + - id: date.quarter type: attribute attributes: - title: State - description: State + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) tags: - - Customers + - Date + granularity: QUARTER areRelationsValid: true - sourceColumn: state - sourceColumnDataType: STRING relationships: - defaultView: - data: - id: state - type: label dataset: data: - id: customers + id: date type: dataset labels: data: - - id: state - type: label - - id: geo__state__location + - id: date.quarter type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter meta: origin: originType: NATIVE originId: demo - - id: region + - id: date.year type: attribute attributes: - title: Region - description: Region + title: Date - Year + description: Year tags: - - Customers + - Date + granularity: YEAR areRelationsValid: true - sourceColumn: region - sourceColumnDataType: STRING relationships: dataset: data: - id: customers + id: date type: dataset labels: data: - - id: region + - id: date.year type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year meta: origin: originType: NATIVE originId: demo - - id: customer_name + - id: date.minuteOfHour type: attribute attributes: - title: Customer name - description: Customer name + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) tags: - - Customers + - Date + granularity: MINUTE_OF_HOUR areRelationsValid: true - sourceColumn: customer_name - sourceColumnDataType: STRING relationships: dataset: data: - id: customers + id: date type: dataset labels: data: - - id: customer_name + - id: date.minuteOfHour type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour meta: origin: originType: NATIVE originId: demo - - id: customer_id + - id: date.hourOfDay type: attribute attributes: - title: Customer id - description: Customer id + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) tags: - - Customers + - Date + granularity: HOUR_OF_DAY areRelationsValid: true - sourceColumn: customer_id - sourceColumnDataType: INT relationships: dataset: data: - id: customers + id: date type: dataset labels: data: - - id: customer_id + - id: date.hourOfDay type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay meta: origin: originType: NATIVE originId: demo - - id: order_status + - id: date.dayOfWeek type: attribute attributes: - title: Order status - description: Order status + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) tags: - - Order lines + - Date + granularity: DAY_OF_WEEK areRelationsValid: true - sourceColumn: order_status - sourceColumnDataType: STRING relationships: dataset: data: - id: order_lines + id: date type: dataset labels: data: - - id: order_status + - id: date.dayOfWeek type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek meta: origin: originType: NATIVE originId: demo - - id: order_line_id + - id: date.dayOfMonth type: attribute attributes: - title: Order line id - description: Order line id + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) tags: - - Order lines + - Date + granularity: DAY_OF_MONTH areRelationsValid: true - sourceColumn: order_line_id - sourceColumnDataType: STRING relationships: dataset: data: - id: order_lines + id: date type: dataset labels: data: - - id: order_line_id + - id: date.dayOfMonth type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth meta: origin: originType: NATIVE originId: demo - - id: order_id + - id: date.dayOfYear type: attribute attributes: - title: Order id - description: Order id + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) tags: - - Order lines + - Date + granularity: DAY_OF_YEAR areRelationsValid: true - sourceColumn: order_id - sourceColumnDataType: STRING relationships: dataset: data: - id: order_lines + id: date type: dataset labels: data: - - id: order_id + - id: date.dayOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear meta: origin: originType: NATIVE originId: demo - - id: product_name + - id: date.weekOfYear type: attribute attributes: - title: Product name - description: Product name + title: Date - Week of Year + description: Generic Week (W1-W53) tags: - - Products + - Date + granularity: WEEK_OF_YEAR areRelationsValid: true - sourceColumn: product_name - sourceColumnDataType: STRING relationships: dataset: data: - id: products + id: date type: dataset labels: data: - - id: product_name + - id: date.weekOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear meta: origin: originType: NATIVE originId: demo - - id: product_id + - id: date.monthOfYear type: attribute attributes: - title: Product id - description: Product id + title: Date - Month of Year + description: Generic Month (M1-M12) tags: - - Products + - Date + granularity: MONTH_OF_YEAR areRelationsValid: true - sourceColumn: product_id - sourceColumnDataType: INT relationships: dataset: data: - id: products + id: date type: dataset labels: data: - - id: product_id + - id: date.monthOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear meta: origin: originType: NATIVE originId: demo - - id: products.category + - id: date.quarterOfYear type: attribute attributes: - title: Category - description: Category + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) tags: - - Products + - Date + granularity: QUARTER_OF_YEAR areRelationsValid: true - sourceColumn: category - sourceColumnDataType: STRING relationships: dataset: data: - id: products + id: date type: dataset labels: data: - - id: products.category + - id: date.quarterOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear meta: origin: originType: NATIVE originId: demo - - id: date.quarterOfYear + - id: campaign_channel_id type: attribute attributes: - title: Date - Quarter of Year - description: Generic Quarter (Q1-Q4) + title: Campaign channel id + description: Campaign channel id tags: - - Date - granularity: QUARTER_OF_YEAR + - Campaign channels areRelationsValid: true + sourceColumn: campaign_channel_id + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaign_channels type: dataset labels: data: - - id: date.quarterOfYear + - id: campaign_channel_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id meta: origin: originType: NATIVE originId: demo - - id: date.monthOfYear + - id: campaign_channels.category type: attribute attributes: - title: Date - Month of Year - description: Generic Month (M1-M12) + title: Category + description: Category tags: - - Date - granularity: MONTH_OF_YEAR + - Campaign channels areRelationsValid: true + sourceColumn: category + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaign_channels type: dataset labels: data: - - id: date.monthOfYear + - id: campaign_channels.category type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category meta: origin: originType: NATIVE originId: demo - - id: date.weekOfYear + - id: type type: attribute attributes: - title: Date - Week of Year - description: Generic Week (W1-W53) + title: Type + description: Type tags: - - Date - granularity: WEEK_OF_YEAR + - Campaign channels areRelationsValid: true + sourceColumn: type + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaign_channels type: dataset labels: data: - - id: date.weekOfYear + - id: type type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type meta: origin: originType: NATIVE originId: demo - - id: date.dayOfYear + - id: campaign_id type: attribute attributes: - title: Date - Day of Year - description: Generic Day of the Year (D1-D366) + title: Campaign id + description: Campaign id tags: - - Date - granularity: DAY_OF_YEAR + - Campaigns areRelationsValid: true + sourceColumn: campaign_id + sourceColumnDataType: INT relationships: dataset: data: - id: date + id: campaigns type: dataset labels: data: - - id: date.dayOfYear + - id: campaign_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id meta: origin: originType: NATIVE originId: demo - - id: date.dayOfMonth + - id: campaign_name type: attribute attributes: - title: Date - Day of Month - description: Generic Day of the Month (D1-D31) + title: Campaign name + description: Campaign name tags: - - Date - granularity: DAY_OF_MONTH + - Campaigns areRelationsValid: true + sourceColumn: campaign_name + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaigns type: dataset labels: data: - - id: date.dayOfMonth + - id: campaign_name type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name meta: origin: originType: NATIVE originId: demo - - id: date.dayOfWeek + - id: customer_id type: attribute attributes: - title: Date - Day of Week - description: Generic Day of the Week (D1-D7) + title: Customer id + description: Customer id tags: - - Date - granularity: DAY_OF_WEEK + - Customers areRelationsValid: true + sourceColumn: customer_id + sourceColumnDataType: INT relationships: dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.dayOfWeek + - id: customer_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id meta: origin: originType: NATIVE originId: demo - - id: date.hourOfDay + - id: customer_name type: attribute attributes: - title: Date - Hour of Day - description: Generic Hour of the Day(H1-H24) + title: Customer name + description: Customer name tags: - - Date - granularity: HOUR_OF_DAY + - Customers areRelationsValid: true + sourceColumn: customer_name + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.hourOfDay + - id: customer_name type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name meta: origin: originType: NATIVE originId: demo - - id: date.minuteOfHour + - id: region type: attribute attributes: - title: Date - Minute of Hour - description: Generic Minute of the Hour(MI1-MI60) + title: Region + description: Region tags: - - Date - granularity: MINUTE_OF_HOUR + - Customers areRelationsValid: true + sourceColumn: region + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.minuteOfHour + - id: region type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region meta: origin: originType: NATIVE originId: demo - - id: date.year + - id: state type: attribute attributes: - title: Date - Year - description: Year + title: State + description: State tags: - - Date - granularity: YEAR + - Customers areRelationsValid: true + sourceColumn: state + sourceColumnDataType: STRING relationships: + defaultView: + data: + id: state + type: label dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.year + - id: geo__state__location + type: label + - id: state type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state meta: origin: originType: NATIVE originId: demo - - id: date.quarter + - id: order_id type: attribute attributes: - title: Date - Quarter/Year - description: Quarter and Year (Q1/2020) + title: Order id + description: Order id tags: - - Date - granularity: QUARTER + - Order lines areRelationsValid: true + sourceColumn: order_id + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: order_lines type: dataset labels: data: - - id: date.quarter + - id: order_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id meta: origin: originType: NATIVE originId: demo - - id: date.month + - id: order_line_id type: attribute attributes: - title: Date - Month/Year - description: Month and Year (12/2020) + title: Order line id + description: Order line id tags: - - Date - granularity: MONTH + - Order lines areRelationsValid: true + sourceColumn: order_line_id + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: order_lines type: dataset labels: data: - - id: date.month + - id: order_line_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id meta: origin: originType: NATIVE originId: demo - - id: date.week + - id: order_status type: attribute attributes: - title: Date - Week/Year - description: Week and Year (W52/2020) + title: Order status + description: Order status tags: - - Date - granularity: WEEK + - Order lines areRelationsValid: true + sourceColumn: order_status + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: order_lines type: dataset labels: data: - - id: date.week + - id: order_status type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status meta: origin: originType: NATIVE originId: demo - - id: date.day + - id: product_id type: attribute attributes: - title: Date - Date - description: Date + title: Product id + description: Product id tags: - - Date - granularity: DAY + - Products areRelationsValid: true + sourceColumn: product_id + sourceColumnDataType: INT relationships: dataset: data: - id: date + id: products type: dataset labels: data: - - id: date.day + - id: product_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id meta: origin: originType: NATIVE originId: demo - - id: date.hour + - id: product_name type: attribute attributes: - title: Date - Hour - description: Hour + title: Product name + description: Product name tags: - - Date - granularity: HOUR + - Products areRelationsValid: true + sourceColumn: product_name + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: products type: dataset labels: data: - - id: date.hour + - id: product_name type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name meta: origin: originType: NATIVE originId: demo - - id: date.minute + - id: products.category type: attribute attributes: - title: Date - Minute - description: Minute + title: Category + description: Category tags: - - Date - granularity: MINUTE + - Products areRelationsValid: true + sourceColumn: category + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: products type: dataset labels: data: - - id: date.minute + - id: products.category type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category meta: origin: originType: NATIVE @@ -1341,51 +1353,59 @@ interactions: grain: - id: order_line_id type: attribute - order: 0 referenceProperties: - identifier: - id: products + id: date type: dataset multivalue: false + sources: null sourceColumns: - - product_id + - date sourceColumnDataTypes: - - INT + - DATE - identifier: id: customers type: dataset multivalue: false + sources: null sourceColumns: - customer_id sourceColumnDataTypes: - INT - identifier: - id: date + id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - - date + - campaign_id sourceColumnDataTypes: - - DATE + - INT - identifier: - id: campaigns + id: products type: dataset multivalue: false + sources: null sourceColumns: - - campaign_id + - product_id sourceColumnDataTypes: - INT dataSourceTableId: demo-test-ds:order_lines dataSourceTablePath: - demo - order_lines - workspaceDataFilterProperties: - - workspaceDataFilterIdentifier: + workspaceDataFilterColumns: + - name: wdf__state + dataType: STRING + - name: wdf__region + dataType: STRING + workspaceDataFilterReferences: + - filterId: id: wdf__state type: workspaceDataFilter filterColumn: wdf__state filterColumnDataType: STRING - - workspaceDataFilterIdentifier: + - filterId: id: wdf__region type: workspaceDataFilter filterColumn: wdf__region @@ -1427,12 +1447,12 @@ interactions: grain: - id: campaign_channel_id type: attribute - order: 0 referenceProperties: - identifier: id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - campaign_id sourceColumnDataTypes: @@ -1522,7 +1542,6 @@ interactions: grain: - id: campaign_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:campaigns dataSourceTablePath: - demo @@ -1579,7 +1598,6 @@ interactions: grain: - id: customer_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:customers dataSourceTablePath: - demo @@ -1705,7 +1723,6 @@ interactions: grain: - id: product_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:products dataSourceTablePath: - demo @@ -1809,8 +1826,8 @@ interactions: links: self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_id links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels,datasets&page=0&size=500 - next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels,datasets&page=1&size=500 + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&page=1&size=500 - request: method: GET uri: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500 @@ -1838,7 +1855,7 @@ interactions: Connection: - keep-alive Content-Length: - - '13953' + - '14899' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -1885,6 +1902,54 @@ interactions: body: string: data: + - id: date + type: dataset + attributes: + title: Date + description: '' + tags: + - Date + areRelationsValid: true + type: DATE + relationships: + attributes: + data: + - id: date.quarter + type: attribute + - id: date.minute + type: attribute + - id: date.hourOfDay + type: attribute + - id: date.minuteOfHour + type: attribute + - id: date.dayOfYear + type: attribute + - id: date.monthOfYear + type: attribute + - id: date.weekOfYear + type: attribute + - id: date.week + type: attribute + - id: date.year + type: attribute + - id: date.dayOfWeek + type: attribute + - id: date.hour + type: attribute + - id: date.dayOfMonth + type: attribute + - id: date.month + type: attribute + - id: date.quarterOfYear + type: attribute + - id: date.day + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date + meta: + origin: + originType: NATIVE + originId: demo - id: campaign_channels type: dataset attributes: @@ -1895,16 +1960,20 @@ interactions: grain: - id: campaign_channel_id type: attribute - order: 0 referenceProperties: - identifier: id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - campaign_id - sourceColumnDataTypes: null + sourceColumnDataTypes: + - INT dataSourceTableId: demo-test-ds:campaign_channels + dataSourceTablePath: + - demo + - campaign_channels areRelationsValid: true type: NORMAL relationships: @@ -1912,10 +1981,10 @@ interactions: data: - id: campaign_channel_id type: attribute - - id: type - type: attribute - id: campaign_channels.category type: attribute + - id: type + type: attribute facts: data: - id: budget @@ -1928,6 +1997,68 @@ interactions: origin: originType: NATIVE originId: demo + - id: campaigns + 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 + relationships: + attributes: + data: + - id: campaign_id + type: attribute + - id: campaign_name + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns + meta: + origin: + originType: NATIVE + originId: demo + - id: customers + 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 + relationships: + attributes: + data: + - id: customer_id + type: attribute + - id: state + type: attribute + - id: customer_name + type: attribute + - id: region + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers + meta: + origin: + originType: NATIVE + originId: demo - id: order_lines type: dataset attributes: @@ -1938,45 +2069,60 @@ interactions: grain: - id: order_line_id type: attribute - order: 0 referenceProperties: - identifier: - id: products + id: date type: dataset multivalue: false + sources: null sourceColumns: - - product_id - sourceColumnDataTypes: null + - date + sourceColumnDataTypes: + - DATE - identifier: id: customers type: dataset multivalue: false + sources: null sourceColumns: - customer_id - sourceColumnDataTypes: null + sourceColumnDataTypes: + - INT - identifier: - id: date + id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - - date - sourceColumnDataTypes: null + - campaign_id + sourceColumnDataTypes: + - INT - identifier: - id: campaigns + id: products type: dataset multivalue: false + sources: null sourceColumns: - - campaign_id - sourceColumnDataTypes: null + - product_id + sourceColumnDataTypes: + - INT dataSourceTableId: demo-test-ds:order_lines + dataSourceTablePath: + - demo + - order_lines areRelationsValid: true - workspaceDataFilterProperties: - - workspaceDataFilterIdentifier: + workspaceDataFilterColumns: + - name: wdf__state + dataType: STRING + - name: wdf__region + dataType: STRING + workspaceDataFilterReferences: + - filterId: id: wdf__state type: workspaceDataFilter filterColumn: wdf__state filterColumnDataType: STRING - - workspaceDataFilterIdentifier: + - filterId: id: wdf__region type: workspaceDataFilter filterColumn: wdf__region @@ -1985,12 +2131,12 @@ interactions: relationships: attributes: data: - - id: order_status - type: attribute - id: order_id type: attribute - id: order_line_id type: attribute + - id: order_status + type: attribute facts: data: - id: price @@ -2013,18 +2159,20 @@ interactions: grain: - id: product_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:products + dataSourceTablePath: + - demo + - products areRelationsValid: true type: NORMAL relationships: attributes: data: - - id: product_name + - id: products.category type: attribute - id: product_id type: attribute - - id: products.category + - id: product_name type: attribute links: self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/products @@ -2032,112 +2180,6 @@ interactions: origin: originType: NATIVE originId: demo - - id: date - type: dataset - attributes: - title: Date - description: '' - tags: - - Date - areRelationsValid: true - type: DATE - relationships: - attributes: - data: - - id: date.quarterOfYear - type: attribute - - id: date.weekOfYear - type: attribute - - id: date.dayOfMonth - type: attribute - - id: date.monthOfYear - type: attribute - - id: date.minuteOfHour - type: attribute - - id: date.hour - type: attribute - - id: date.year - type: attribute - - id: date.week - type: attribute - - id: date.quarter - type: attribute - - id: date.dayOfYear - type: attribute - - id: date.dayOfWeek - type: attribute - - id: date.minute - type: attribute - - id: date.day - type: attribute - - id: date.month - type: attribute - - id: date.hourOfDay - type: attribute - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date - meta: - origin: - originType: NATIVE - originId: demo - - id: campaigns - type: dataset - attributes: - title: Campaigns - description: Campaigns - tags: - - Campaigns - grain: - - id: campaign_id - type: attribute - order: 0 - dataSourceTableId: demo-test-ds:campaigns - areRelationsValid: true - type: NORMAL - relationships: - attributes: - data: - - id: campaign_id - type: attribute - - id: campaign_name - type: attribute - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns - meta: - origin: - originType: NATIVE - originId: demo - - id: customers - type: dataset - attributes: - title: Customers - description: Customers - tags: - - Customers - grain: - - id: customer_id - type: attribute - order: 0 - dataSourceTableId: demo-test-ds:customers - areRelationsValid: true - type: NORMAL - relationships: - attributes: - data: - - id: region - type: attribute - - id: state - type: attribute - - id: customer_id - type: attribute - - id: customer_name - type: attribute - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers - meta: - origin: - originType: NATIVE - originId: demo included: - id: product_id type: attribute @@ -2147,6 +2189,7 @@ interactions: tags: - Products sourceColumn: product_id + sourceColumnDataType: INT links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id - id: budget @@ -2157,6 +2200,7 @@ interactions: tags: - Campaign channels sourceColumn: budget + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/budget - id: date.year @@ -2177,6 +2221,7 @@ interactions: tags: - Products sourceColumn: product_name + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name - id: date.month @@ -2197,6 +2242,7 @@ interactions: tags: - Products sourceColumn: category + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category - id: date.dayOfMonth @@ -2237,6 +2283,7 @@ interactions: tags: - Campaign channels sourceColumn: category + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category - id: date.minute @@ -2257,6 +2304,7 @@ interactions: tags: - Customers sourceColumn: state + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state - id: date.week @@ -2277,6 +2325,7 @@ interactions: tags: - Order lines sourceColumn: order_id + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id - id: date.hour @@ -2297,6 +2346,7 @@ interactions: tags: - Campaigns sourceColumn: campaign_name + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name - id: price @@ -2307,6 +2357,7 @@ interactions: tags: - Order lines sourceColumn: price + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/price - id: date.dayOfWeek @@ -2337,6 +2388,7 @@ interactions: tags: - Customers sourceColumn: region + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region - id: campaign_channel_id @@ -2347,6 +2399,7 @@ interactions: tags: - Campaign channels sourceColumn: campaign_channel_id + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id - id: customer_id @@ -2357,6 +2410,7 @@ interactions: tags: - Customers sourceColumn: customer_id + sourceColumnDataType: INT links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id - id: date.hourOfDay @@ -2377,6 +2431,7 @@ interactions: tags: - Order lines sourceColumn: quantity + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity - id: campaign_id @@ -2387,6 +2442,7 @@ interactions: tags: - Campaigns sourceColumn: campaign_id + sourceColumnDataType: INT links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id - id: type @@ -2397,6 +2453,7 @@ interactions: tags: - Campaign channels sourceColumn: type + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type - id: spend @@ -2407,6 +2464,7 @@ interactions: tags: - Campaign channels sourceColumn: spend + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/spend - id: date.dayOfYear @@ -2447,6 +2505,7 @@ interactions: tags: - Order lines sourceColumn: order_status + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status - id: date.monthOfYear @@ -2467,6 +2526,7 @@ interactions: tags: - Customers sourceColumn: customer_name + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name - id: order_line_id @@ -2477,11 +2537,12 @@ interactions: tags: - Order lines sourceColumn: order_line_id + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=0&size=500 - next: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=1&size=500 + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=1&size=500 - request: method: GET uri: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500 @@ -2509,7 +2570,7 @@ interactions: Connection: - keep-alive Content-Length: - - '9799' + - '10543' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -2561,6 +2622,7 @@ interactions: attributes: title: '# of Active Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0' maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) @@ -2575,6 +2637,7 @@ interactions: attributes: title: '# of Orders' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0' maql: SELECT COUNT({attribute/order_id}) @@ -2589,6 +2652,7 @@ interactions: attributes: title: '# of Top Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0' maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT @@ -2605,6 +2669,7 @@ interactions: title: '# of Valid Orders' description: '' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.00' maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} @@ -2620,6 +2685,7 @@ interactions: attributes: title: Campaign Spend areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT SUM({fact/spend}) @@ -2634,6 +2700,7 @@ interactions: attributes: title: Order Amount areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT SUM({fact/price}*{fact/quantity}) @@ -2648,6 +2715,7 @@ interactions: attributes: title: '% Revenue' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / {metric/total_revenue} @@ -2662,6 +2730,7 @@ interactions: attributes: title: '% Revenue from Top 10 Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ @@ -2677,6 +2746,7 @@ interactions: attributes: title: '% Revenue from Top 10% Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ @@ -2692,6 +2762,7 @@ interactions: attributes: title: '% Revenue from Top 10% Products' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ @@ -2707,6 +2778,7 @@ interactions: attributes: title: '% Revenue from Top 10 Products' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ @@ -2722,6 +2794,7 @@ interactions: attributes: title: '% Revenue in Category' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, @@ -2737,6 +2810,7 @@ interactions: attributes: title: '% Revenue per Product' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL @@ -2753,6 +2827,7 @@ interactions: title: Revenue description: '' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} @@ -2768,6 +2843,7 @@ interactions: attributes: title: Revenue (Clothing) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2783,6 +2859,7 @@ interactions: attributes: title: Revenue (Electronic) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2798,6 +2875,7 @@ interactions: attributes: title: Revenue (Home) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2813,6 +2891,7 @@ interactions: attributes: title: Revenue (Outdoor) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2828,6 +2907,7 @@ interactions: attributes: title: Revenue per Customer areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0.0 maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) @@ -2842,6 +2922,7 @@ interactions: attributes: title: Revenue per Dollar Spent areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0.0 maql: SELECT {metric/revenue} / {metric/campaign_spend} @@ -2856,6 +2937,7 @@ interactions: attributes: title: Revenue / Top 10 areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) @@ -2870,6 +2952,7 @@ interactions: attributes: title: Revenue / Top 10% areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) @@ -2884,6 +2967,7 @@ interactions: attributes: title: Total Revenue areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} BY ALL OTHER @@ -2898,6 +2982,7 @@ interactions: attributes: title: Total Revenue (No Filters) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER @@ -2912,7 +2997,7 @@ interactions: next: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=1&size=500 - request: method: GET - uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/fabc26cfbdbda4b24846d9b188994f1d94ff09e0?offset=0%2C0&limit=4%2C1000 + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/2bcc261b966a6f6fc21b2d9c8b207a05a77097f1?offset=0%2C0&limit=4%2C1000 body: null headers: Accept: diff --git a/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_items.yaml b/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_items.yaml index 9bf6ffe39..f62f14caa 100644 --- a/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_items.yaml +++ b/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_items.yaml @@ -161,7 +161,7 @@ interactions: type: label localIdentifier: dim_1 links: - executionResult: ee0e374e18c044f1e3ff0053a740465b51f3b5ed + executionResult: ae4b472f7bfc24eba6c7ea9ad50a2d1597e8e494 - request: method: GET uri: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&page=0&size=500 @@ -189,7 +189,7 @@ interactions: Connection: - keep-alive Content-Length: - - '27018' + - '27121' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -236,743 +236,743 @@ interactions: body: string: data: - - id: campaign_channels.category + - id: date.minute type: attribute attributes: - title: Category - description: Category + title: Date - Minute + description: Minute tags: - - Campaign channels + - Date + granularity: MINUTE areRelationsValid: true - sourceColumn: category - sourceColumnDataType: STRING relationships: dataset: data: - id: campaign_channels + id: date type: dataset labels: data: - - id: campaign_channels.category + - id: date.minute type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute meta: origin: originType: NATIVE originId: demo - - id: campaign_channel_id + - id: date.hour type: attribute attributes: - title: Campaign channel id - description: Campaign channel id + title: Date - Hour + description: Hour tags: - - Campaign channels + - Date + granularity: HOUR areRelationsValid: true - sourceColumn: campaign_channel_id - sourceColumnDataType: STRING relationships: dataset: data: - id: campaign_channels + id: date type: dataset labels: data: - - id: campaign_channel_id + - id: date.hour type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour meta: origin: originType: NATIVE originId: demo - - id: type + - id: date.day type: attribute attributes: - title: Type - description: Type + title: Date - Date + description: Date tags: - - Campaign channels + - Date + granularity: DAY areRelationsValid: true - sourceColumn: type - sourceColumnDataType: STRING relationships: dataset: data: - id: campaign_channels + id: date type: dataset labels: data: - - id: type + - id: date.day type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day meta: origin: originType: NATIVE originId: demo - - id: campaign_name + - id: date.week type: attribute attributes: - title: Campaign name - description: Campaign name + title: Date - Week/Year + description: Week and Year (W52/2020) tags: - - Campaigns + - Date + granularity: WEEK areRelationsValid: true - sourceColumn: campaign_name - sourceColumnDataType: STRING relationships: dataset: data: - id: campaigns + id: date type: dataset labels: data: - - id: campaign_name + - id: date.week type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week meta: origin: originType: NATIVE originId: demo - - id: campaign_id + - id: date.month type: attribute attributes: - title: Campaign id - description: Campaign id + title: Date - Month/Year + description: Month and Year (12/2020) tags: - - Campaigns + - Date + granularity: MONTH areRelationsValid: true - sourceColumn: campaign_id - sourceColumnDataType: INT relationships: dataset: data: - id: campaigns + id: date type: dataset labels: data: - - id: campaign_id + - id: date.month type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month meta: origin: originType: NATIVE originId: demo - - id: state + - id: date.quarter type: attribute attributes: - title: State - description: State + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) tags: - - Customers + - Date + granularity: QUARTER areRelationsValid: true - sourceColumn: state - sourceColumnDataType: STRING relationships: - defaultView: - data: - id: state - type: label dataset: data: - id: customers + id: date type: dataset labels: data: - - id: state - type: label - - id: geo__state__location + - id: date.quarter type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter meta: origin: originType: NATIVE originId: demo - - id: region + - id: date.year type: attribute attributes: - title: Region - description: Region + title: Date - Year + description: Year tags: - - Customers + - Date + granularity: YEAR areRelationsValid: true - sourceColumn: region - sourceColumnDataType: STRING relationships: dataset: data: - id: customers + id: date type: dataset labels: data: - - id: region + - id: date.year type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year meta: origin: originType: NATIVE originId: demo - - id: customer_name + - id: date.minuteOfHour type: attribute attributes: - title: Customer name - description: Customer name + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) tags: - - Customers + - Date + granularity: MINUTE_OF_HOUR areRelationsValid: true - sourceColumn: customer_name - sourceColumnDataType: STRING relationships: dataset: data: - id: customers + id: date type: dataset labels: data: - - id: customer_name + - id: date.minuteOfHour type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour meta: origin: originType: NATIVE originId: demo - - id: customer_id + - id: date.hourOfDay type: attribute attributes: - title: Customer id - description: Customer id + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) tags: - - Customers + - Date + granularity: HOUR_OF_DAY areRelationsValid: true - sourceColumn: customer_id - sourceColumnDataType: INT relationships: dataset: data: - id: customers + id: date type: dataset labels: data: - - id: customer_id + - id: date.hourOfDay type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay meta: origin: originType: NATIVE originId: demo - - id: order_status + - id: date.dayOfWeek type: attribute attributes: - title: Order status - description: Order status + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) tags: - - Order lines + - Date + granularity: DAY_OF_WEEK areRelationsValid: true - sourceColumn: order_status - sourceColumnDataType: STRING relationships: dataset: data: - id: order_lines + id: date type: dataset labels: data: - - id: order_status + - id: date.dayOfWeek type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek meta: origin: originType: NATIVE originId: demo - - id: order_line_id + - id: date.dayOfMonth type: attribute attributes: - title: Order line id - description: Order line id + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) tags: - - Order lines + - Date + granularity: DAY_OF_MONTH areRelationsValid: true - sourceColumn: order_line_id - sourceColumnDataType: STRING relationships: dataset: data: - id: order_lines + id: date type: dataset labels: data: - - id: order_line_id + - id: date.dayOfMonth type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth meta: origin: originType: NATIVE originId: demo - - id: order_id + - id: date.dayOfYear type: attribute attributes: - title: Order id - description: Order id + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) tags: - - Order lines + - Date + granularity: DAY_OF_YEAR areRelationsValid: true - sourceColumn: order_id - sourceColumnDataType: STRING relationships: dataset: data: - id: order_lines + id: date type: dataset labels: data: - - id: order_id + - id: date.dayOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear meta: origin: originType: NATIVE originId: demo - - id: product_name + - id: date.weekOfYear type: attribute attributes: - title: Product name - description: Product name + title: Date - Week of Year + description: Generic Week (W1-W53) tags: - - Products + - Date + granularity: WEEK_OF_YEAR areRelationsValid: true - sourceColumn: product_name - sourceColumnDataType: STRING relationships: dataset: data: - id: products + id: date type: dataset labels: data: - - id: product_name + - id: date.weekOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear meta: origin: originType: NATIVE originId: demo - - id: product_id + - id: date.monthOfYear type: attribute attributes: - title: Product id - description: Product id + title: Date - Month of Year + description: Generic Month (M1-M12) tags: - - Products + - Date + granularity: MONTH_OF_YEAR areRelationsValid: true - sourceColumn: product_id - sourceColumnDataType: INT relationships: dataset: data: - id: products + id: date type: dataset labels: data: - - id: product_id + - id: date.monthOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear meta: origin: originType: NATIVE originId: demo - - id: products.category + - id: date.quarterOfYear type: attribute attributes: - title: Category - description: Category + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) tags: - - Products + - Date + granularity: QUARTER_OF_YEAR areRelationsValid: true - sourceColumn: category - sourceColumnDataType: STRING relationships: dataset: data: - id: products + id: date type: dataset labels: data: - - id: products.category + - id: date.quarterOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear meta: origin: originType: NATIVE originId: demo - - id: date.quarterOfYear + - id: campaign_channel_id type: attribute attributes: - title: Date - Quarter of Year - description: Generic Quarter (Q1-Q4) + title: Campaign channel id + description: Campaign channel id tags: - - Date - granularity: QUARTER_OF_YEAR + - Campaign channels areRelationsValid: true + sourceColumn: campaign_channel_id + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaign_channels type: dataset labels: data: - - id: date.quarterOfYear + - id: campaign_channel_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id meta: origin: originType: NATIVE originId: demo - - id: date.monthOfYear + - id: campaign_channels.category type: attribute attributes: - title: Date - Month of Year - description: Generic Month (M1-M12) + title: Category + description: Category tags: - - Date - granularity: MONTH_OF_YEAR + - Campaign channels areRelationsValid: true + sourceColumn: category + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaign_channels type: dataset labels: data: - - id: date.monthOfYear + - id: campaign_channels.category type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category meta: origin: originType: NATIVE originId: demo - - id: date.weekOfYear + - id: type type: attribute - attributes: - title: Date - Week of Year - description: Generic Week (W1-W53) + attributes: + title: Type + description: Type tags: - - Date - granularity: WEEK_OF_YEAR + - Campaign channels areRelationsValid: true + sourceColumn: type + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaign_channels type: dataset labels: data: - - id: date.weekOfYear + - id: type type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type meta: origin: originType: NATIVE originId: demo - - id: date.dayOfYear + - id: campaign_id type: attribute attributes: - title: Date - Day of Year - description: Generic Day of the Year (D1-D366) + title: Campaign id + description: Campaign id tags: - - Date - granularity: DAY_OF_YEAR + - Campaigns areRelationsValid: true + sourceColumn: campaign_id + sourceColumnDataType: INT relationships: dataset: data: - id: date + id: campaigns type: dataset labels: data: - - id: date.dayOfYear + - id: campaign_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id meta: origin: originType: NATIVE originId: demo - - id: date.dayOfMonth + - id: campaign_name type: attribute attributes: - title: Date - Day of Month - description: Generic Day of the Month (D1-D31) + title: Campaign name + description: Campaign name tags: - - Date - granularity: DAY_OF_MONTH + - Campaigns areRelationsValid: true + sourceColumn: campaign_name + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaigns type: dataset labels: data: - - id: date.dayOfMonth + - id: campaign_name type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name meta: origin: originType: NATIVE originId: demo - - id: date.dayOfWeek + - id: customer_id type: attribute attributes: - title: Date - Day of Week - description: Generic Day of the Week (D1-D7) + title: Customer id + description: Customer id tags: - - Date - granularity: DAY_OF_WEEK + - Customers areRelationsValid: true + sourceColumn: customer_id + sourceColumnDataType: INT relationships: dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.dayOfWeek + - id: customer_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id meta: origin: originType: NATIVE originId: demo - - id: date.hourOfDay + - id: customer_name type: attribute attributes: - title: Date - Hour of Day - description: Generic Hour of the Day(H1-H24) + title: Customer name + description: Customer name tags: - - Date - granularity: HOUR_OF_DAY + - Customers areRelationsValid: true + sourceColumn: customer_name + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.hourOfDay + - id: customer_name type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name meta: origin: originType: NATIVE originId: demo - - id: date.minuteOfHour + - id: region type: attribute attributes: - title: Date - Minute of Hour - description: Generic Minute of the Hour(MI1-MI60) + title: Region + description: Region tags: - - Date - granularity: MINUTE_OF_HOUR + - Customers areRelationsValid: true + sourceColumn: region + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.minuteOfHour + - id: region type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region meta: origin: originType: NATIVE originId: demo - - id: date.year + - id: state type: attribute attributes: - title: Date - Year - description: Year + title: State + description: State tags: - - Date - granularity: YEAR + - Customers areRelationsValid: true + sourceColumn: state + sourceColumnDataType: STRING relationships: + defaultView: + data: + id: state + type: label dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.year + - id: geo__state__location + type: label + - id: state type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state meta: origin: originType: NATIVE originId: demo - - id: date.quarter + - id: order_id type: attribute attributes: - title: Date - Quarter/Year - description: Quarter and Year (Q1/2020) + title: Order id + description: Order id tags: - - Date - granularity: QUARTER + - Order lines areRelationsValid: true + sourceColumn: order_id + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: order_lines type: dataset labels: data: - - id: date.quarter + - id: order_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id meta: origin: originType: NATIVE originId: demo - - id: date.month + - id: order_line_id type: attribute attributes: - title: Date - Month/Year - description: Month and Year (12/2020) + title: Order line id + description: Order line id tags: - - Date - granularity: MONTH + - Order lines areRelationsValid: true + sourceColumn: order_line_id + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: order_lines type: dataset labels: data: - - id: date.month + - id: order_line_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id meta: origin: originType: NATIVE originId: demo - - id: date.week + - id: order_status type: attribute attributes: - title: Date - Week/Year - description: Week and Year (W52/2020) + title: Order status + description: Order status tags: - - Date - granularity: WEEK + - Order lines areRelationsValid: true + sourceColumn: order_status + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: order_lines type: dataset labels: data: - - id: date.week + - id: order_status type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status meta: origin: originType: NATIVE originId: demo - - id: date.day + - id: product_id type: attribute attributes: - title: Date - Date - description: Date + title: Product id + description: Product id tags: - - Date - granularity: DAY + - Products areRelationsValid: true + sourceColumn: product_id + sourceColumnDataType: INT relationships: dataset: data: - id: date + id: products type: dataset labels: data: - - id: date.day + - id: product_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id meta: origin: originType: NATIVE originId: demo - - id: date.hour + - id: product_name type: attribute attributes: - title: Date - Hour - description: Hour + title: Product name + description: Product name tags: - - Date - granularity: HOUR + - Products areRelationsValid: true + sourceColumn: product_name + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: products type: dataset labels: data: - - id: date.hour + - id: product_name type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name meta: origin: originType: NATIVE originId: demo - - id: date.minute + - id: products.category type: attribute attributes: - title: Date - Minute - description: Minute + title: Category + description: Category tags: - - Date - granularity: MINUTE + - Products areRelationsValid: true + sourceColumn: category + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: products type: dataset labels: data: - - id: date.minute + - id: products.category type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category meta: origin: originType: NATIVE @@ -1036,51 +1036,59 @@ interactions: grain: - id: order_line_id type: attribute - order: 0 referenceProperties: - identifier: - id: products + id: date type: dataset multivalue: false + sources: null sourceColumns: - - product_id + - date sourceColumnDataTypes: - - INT + - DATE - identifier: id: customers type: dataset multivalue: false + sources: null sourceColumns: - customer_id sourceColumnDataTypes: - INT - identifier: - id: date + id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - - date + - campaign_id sourceColumnDataTypes: - - DATE + - INT - identifier: - id: campaigns + id: products type: dataset multivalue: false + sources: null sourceColumns: - - campaign_id + - product_id sourceColumnDataTypes: - INT dataSourceTableId: demo-test-ds:order_lines dataSourceTablePath: - demo - order_lines - workspaceDataFilterProperties: - - workspaceDataFilterIdentifier: + workspaceDataFilterColumns: + - name: wdf__state + dataType: STRING + - name: wdf__region + dataType: STRING + workspaceDataFilterReferences: + - filterId: id: wdf__state type: workspaceDataFilter filterColumn: wdf__state filterColumnDataType: STRING - - workspaceDataFilterIdentifier: + - filterId: id: wdf__region type: workspaceDataFilter filterColumn: wdf__region @@ -1122,12 +1130,12 @@ interactions: grain: - id: campaign_channel_id type: attribute - order: 0 referenceProperties: - identifier: id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - campaign_id sourceColumnDataTypes: @@ -1217,7 +1225,6 @@ interactions: grain: - id: campaign_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:campaigns dataSourceTablePath: - demo @@ -1274,7 +1281,6 @@ interactions: grain: - id: customer_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:customers dataSourceTablePath: - demo @@ -1400,7 +1406,6 @@ interactions: grain: - id: product_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:products dataSourceTablePath: - demo @@ -1504,8 +1509,8 @@ interactions: links: self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_id links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels,datasets&page=0&size=500 - next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels,datasets&page=1&size=500 + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&page=1&size=500 - request: method: GET uri: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500 @@ -1533,7 +1538,7 @@ interactions: Connection: - keep-alive Content-Length: - - '13953' + - '14899' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -1580,6 +1585,54 @@ interactions: body: string: data: + - id: date + type: dataset + attributes: + title: Date + description: '' + tags: + - Date + areRelationsValid: true + type: DATE + relationships: + attributes: + data: + - id: date.quarter + type: attribute + - id: date.minute + type: attribute + - id: date.hourOfDay + type: attribute + - id: date.minuteOfHour + type: attribute + - id: date.dayOfYear + type: attribute + - id: date.monthOfYear + type: attribute + - id: date.weekOfYear + type: attribute + - id: date.week + type: attribute + - id: date.year + type: attribute + - id: date.dayOfWeek + type: attribute + - id: date.hour + type: attribute + - id: date.dayOfMonth + type: attribute + - id: date.month + type: attribute + - id: date.quarterOfYear + type: attribute + - id: date.day + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date + meta: + origin: + originType: NATIVE + originId: demo - id: campaign_channels type: dataset attributes: @@ -1590,16 +1643,20 @@ interactions: grain: - id: campaign_channel_id type: attribute - order: 0 referenceProperties: - identifier: id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - campaign_id - sourceColumnDataTypes: null + sourceColumnDataTypes: + - INT dataSourceTableId: demo-test-ds:campaign_channels + dataSourceTablePath: + - demo + - campaign_channels areRelationsValid: true type: NORMAL relationships: @@ -1607,10 +1664,10 @@ interactions: data: - id: campaign_channel_id type: attribute - - id: type - type: attribute - id: campaign_channels.category type: attribute + - id: type + type: attribute facts: data: - id: budget @@ -1623,6 +1680,68 @@ interactions: origin: originType: NATIVE originId: demo + - id: campaigns + 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 + relationships: + attributes: + data: + - id: campaign_id + type: attribute + - id: campaign_name + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns + meta: + origin: + originType: NATIVE + originId: demo + - id: customers + 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 + relationships: + attributes: + data: + - id: customer_id + type: attribute + - id: state + type: attribute + - id: customer_name + type: attribute + - id: region + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers + meta: + origin: + originType: NATIVE + originId: demo - id: order_lines type: dataset attributes: @@ -1633,45 +1752,60 @@ interactions: grain: - id: order_line_id type: attribute - order: 0 referenceProperties: - identifier: - id: products + id: date type: dataset multivalue: false + sources: null sourceColumns: - - product_id - sourceColumnDataTypes: null + - date + sourceColumnDataTypes: + - DATE - identifier: id: customers type: dataset multivalue: false + sources: null sourceColumns: - customer_id - sourceColumnDataTypes: null + sourceColumnDataTypes: + - INT - identifier: - id: date + id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - - date - sourceColumnDataTypes: null + - campaign_id + sourceColumnDataTypes: + - INT - identifier: - id: campaigns + id: products type: dataset multivalue: false + sources: null sourceColumns: - - campaign_id - sourceColumnDataTypes: null + - product_id + sourceColumnDataTypes: + - INT dataSourceTableId: demo-test-ds:order_lines + dataSourceTablePath: + - demo + - order_lines areRelationsValid: true - workspaceDataFilterProperties: - - workspaceDataFilterIdentifier: + workspaceDataFilterColumns: + - name: wdf__state + dataType: STRING + - name: wdf__region + dataType: STRING + workspaceDataFilterReferences: + - filterId: id: wdf__state type: workspaceDataFilter filterColumn: wdf__state filterColumnDataType: STRING - - workspaceDataFilterIdentifier: + - filterId: id: wdf__region type: workspaceDataFilter filterColumn: wdf__region @@ -1680,12 +1814,12 @@ interactions: relationships: attributes: data: - - id: order_status - type: attribute - id: order_id type: attribute - id: order_line_id type: attribute + - id: order_status + type: attribute facts: data: - id: price @@ -1708,18 +1842,20 @@ interactions: grain: - id: product_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:products + dataSourceTablePath: + - demo + - products areRelationsValid: true type: NORMAL relationships: attributes: data: - - id: product_name + - id: products.category type: attribute - id: product_id type: attribute - - id: products.category + - id: product_name type: attribute links: self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/products @@ -1727,112 +1863,6 @@ interactions: origin: originType: NATIVE originId: demo - - id: date - type: dataset - attributes: - title: Date - description: '' - tags: - - Date - areRelationsValid: true - type: DATE - relationships: - attributes: - data: - - id: date.quarterOfYear - type: attribute - - id: date.weekOfYear - type: attribute - - id: date.dayOfMonth - type: attribute - - id: date.monthOfYear - type: attribute - - id: date.minuteOfHour - type: attribute - - id: date.hour - type: attribute - - id: date.year - type: attribute - - id: date.week - type: attribute - - id: date.quarter - type: attribute - - id: date.dayOfYear - type: attribute - - id: date.dayOfWeek - type: attribute - - id: date.minute - type: attribute - - id: date.day - type: attribute - - id: date.month - type: attribute - - id: date.hourOfDay - type: attribute - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date - meta: - origin: - originType: NATIVE - originId: demo - - id: campaigns - type: dataset - attributes: - title: Campaigns - description: Campaigns - tags: - - Campaigns - grain: - - id: campaign_id - type: attribute - order: 0 - dataSourceTableId: demo-test-ds:campaigns - areRelationsValid: true - type: NORMAL - relationships: - attributes: - data: - - id: campaign_id - type: attribute - - id: campaign_name - type: attribute - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns - meta: - origin: - originType: NATIVE - originId: demo - - id: customers - type: dataset - attributes: - title: Customers - description: Customers - tags: - - Customers - grain: - - id: customer_id - type: attribute - order: 0 - dataSourceTableId: demo-test-ds:customers - areRelationsValid: true - type: NORMAL - relationships: - attributes: - data: - - id: region - type: attribute - - id: state - type: attribute - - id: customer_id - type: attribute - - id: customer_name - type: attribute - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers - meta: - origin: - originType: NATIVE - originId: demo included: - id: product_id type: attribute @@ -1842,6 +1872,7 @@ interactions: tags: - Products sourceColumn: product_id + sourceColumnDataType: INT links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id - id: budget @@ -1852,6 +1883,7 @@ interactions: tags: - Campaign channels sourceColumn: budget + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/budget - id: date.year @@ -1872,6 +1904,7 @@ interactions: tags: - Products sourceColumn: product_name + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name - id: date.month @@ -1892,6 +1925,7 @@ interactions: tags: - Products sourceColumn: category + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category - id: date.dayOfMonth @@ -1932,6 +1966,7 @@ interactions: tags: - Campaign channels sourceColumn: category + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category - id: date.minute @@ -1952,6 +1987,7 @@ interactions: tags: - Customers sourceColumn: state + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state - id: date.week @@ -1972,6 +2008,7 @@ interactions: tags: - Order lines sourceColumn: order_id + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id - id: date.hour @@ -1992,6 +2029,7 @@ interactions: tags: - Campaigns sourceColumn: campaign_name + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name - id: price @@ -2002,6 +2040,7 @@ interactions: tags: - Order lines sourceColumn: price + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/price - id: date.dayOfWeek @@ -2032,6 +2071,7 @@ interactions: tags: - Customers sourceColumn: region + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region - id: campaign_channel_id @@ -2042,6 +2082,7 @@ interactions: tags: - Campaign channels sourceColumn: campaign_channel_id + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id - id: customer_id @@ -2052,6 +2093,7 @@ interactions: tags: - Customers sourceColumn: customer_id + sourceColumnDataType: INT links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id - id: date.hourOfDay @@ -2072,6 +2114,7 @@ interactions: tags: - Order lines sourceColumn: quantity + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity - id: campaign_id @@ -2082,6 +2125,7 @@ interactions: tags: - Campaigns sourceColumn: campaign_id + sourceColumnDataType: INT links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id - id: type @@ -2092,6 +2136,7 @@ interactions: tags: - Campaign channels sourceColumn: type + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type - id: spend @@ -2102,6 +2147,7 @@ interactions: tags: - Campaign channels sourceColumn: spend + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/spend - id: date.dayOfYear @@ -2142,6 +2188,7 @@ interactions: tags: - Order lines sourceColumn: order_status + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status - id: date.monthOfYear @@ -2162,6 +2209,7 @@ interactions: tags: - Customers sourceColumn: customer_name + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name - id: order_line_id @@ -2172,11 +2220,12 @@ interactions: tags: - Order lines sourceColumn: order_line_id + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=0&size=500 - next: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=1&size=500 + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=1&size=500 - request: method: GET uri: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500 @@ -2204,7 +2253,7 @@ interactions: Connection: - keep-alive Content-Length: - - '9799' + - '10543' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -2256,6 +2305,7 @@ interactions: attributes: title: '# of Active Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0' maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) @@ -2270,6 +2320,7 @@ interactions: attributes: title: '# of Orders' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0' maql: SELECT COUNT({attribute/order_id}) @@ -2284,6 +2335,7 @@ interactions: attributes: title: '# of Top Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0' maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT @@ -2300,6 +2352,7 @@ interactions: title: '# of Valid Orders' description: '' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.00' maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} @@ -2315,6 +2368,7 @@ interactions: attributes: title: Campaign Spend areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT SUM({fact/spend}) @@ -2329,6 +2383,7 @@ interactions: attributes: title: Order Amount areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT SUM({fact/price}*{fact/quantity}) @@ -2343,6 +2398,7 @@ interactions: attributes: title: '% Revenue' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / {metric/total_revenue} @@ -2357,6 +2413,7 @@ interactions: attributes: title: '% Revenue from Top 10 Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ @@ -2372,6 +2429,7 @@ interactions: attributes: title: '% Revenue from Top 10% Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ @@ -2387,6 +2445,7 @@ interactions: attributes: title: '% Revenue from Top 10% Products' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ @@ -2402,6 +2461,7 @@ interactions: attributes: title: '% Revenue from Top 10 Products' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ @@ -2417,6 +2477,7 @@ interactions: attributes: title: '% Revenue in Category' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, @@ -2432,6 +2493,7 @@ interactions: attributes: title: '% Revenue per Product' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL @@ -2448,6 +2510,7 @@ interactions: title: Revenue description: '' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} @@ -2463,6 +2526,7 @@ interactions: attributes: title: Revenue (Clothing) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2478,6 +2542,7 @@ interactions: attributes: title: Revenue (Electronic) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2493,6 +2558,7 @@ interactions: attributes: title: Revenue (Home) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2508,6 +2574,7 @@ interactions: attributes: title: Revenue (Outdoor) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2523,6 +2590,7 @@ interactions: attributes: title: Revenue per Customer areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0.0 maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) @@ -2537,6 +2605,7 @@ interactions: attributes: title: Revenue per Dollar Spent areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0.0 maql: SELECT {metric/revenue} / {metric/campaign_spend} @@ -2551,6 +2620,7 @@ interactions: attributes: title: Revenue / Top 10 areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) @@ -2565,6 +2635,7 @@ interactions: attributes: title: Revenue / Top 10% areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) @@ -2579,6 +2650,7 @@ interactions: attributes: title: Total Revenue areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} BY ALL OTHER @@ -2593,6 +2665,7 @@ interactions: attributes: title: Total Revenue (No Filters) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER @@ -2607,7 +2680,7 @@ interactions: next: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=1&size=500 - request: method: GET - uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/ee0e374e18c044f1e3ff0053a740465b51f3b5ed?offset=0%2C0&limit=2%2C1000 + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/ae4b472f7bfc24eba6c7ea9ad50a2d1597e8e494?offset=0%2C0&limit=2%2C1000 body: null headers: Accept: diff --git a/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_items_no_index.yaml b/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_items_no_index.yaml index 9bf6ffe39..f62f14caa 100644 --- a/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_items_no_index.yaml +++ b/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_items_no_index.yaml @@ -161,7 +161,7 @@ interactions: type: label localIdentifier: dim_1 links: - executionResult: ee0e374e18c044f1e3ff0053a740465b51f3b5ed + executionResult: ae4b472f7bfc24eba6c7ea9ad50a2d1597e8e494 - request: method: GET uri: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&page=0&size=500 @@ -189,7 +189,7 @@ interactions: Connection: - keep-alive Content-Length: - - '27018' + - '27121' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -236,743 +236,743 @@ interactions: body: string: data: - - id: campaign_channels.category + - id: date.minute type: attribute attributes: - title: Category - description: Category + title: Date - Minute + description: Minute tags: - - Campaign channels + - Date + granularity: MINUTE areRelationsValid: true - sourceColumn: category - sourceColumnDataType: STRING relationships: dataset: data: - id: campaign_channels + id: date type: dataset labels: data: - - id: campaign_channels.category + - id: date.minute type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute meta: origin: originType: NATIVE originId: demo - - id: campaign_channel_id + - id: date.hour type: attribute attributes: - title: Campaign channel id - description: Campaign channel id + title: Date - Hour + description: Hour tags: - - Campaign channels + - Date + granularity: HOUR areRelationsValid: true - sourceColumn: campaign_channel_id - sourceColumnDataType: STRING relationships: dataset: data: - id: campaign_channels + id: date type: dataset labels: data: - - id: campaign_channel_id + - id: date.hour type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour meta: origin: originType: NATIVE originId: demo - - id: type + - id: date.day type: attribute attributes: - title: Type - description: Type + title: Date - Date + description: Date tags: - - Campaign channels + - Date + granularity: DAY areRelationsValid: true - sourceColumn: type - sourceColumnDataType: STRING relationships: dataset: data: - id: campaign_channels + id: date type: dataset labels: data: - - id: type + - id: date.day type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day meta: origin: originType: NATIVE originId: demo - - id: campaign_name + - id: date.week type: attribute attributes: - title: Campaign name - description: Campaign name + title: Date - Week/Year + description: Week and Year (W52/2020) tags: - - Campaigns + - Date + granularity: WEEK areRelationsValid: true - sourceColumn: campaign_name - sourceColumnDataType: STRING relationships: dataset: data: - id: campaigns + id: date type: dataset labels: data: - - id: campaign_name + - id: date.week type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week meta: origin: originType: NATIVE originId: demo - - id: campaign_id + - id: date.month type: attribute attributes: - title: Campaign id - description: Campaign id + title: Date - Month/Year + description: Month and Year (12/2020) tags: - - Campaigns + - Date + granularity: MONTH areRelationsValid: true - sourceColumn: campaign_id - sourceColumnDataType: INT relationships: dataset: data: - id: campaigns + id: date type: dataset labels: data: - - id: campaign_id + - id: date.month type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month meta: origin: originType: NATIVE originId: demo - - id: state + - id: date.quarter type: attribute attributes: - title: State - description: State + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) tags: - - Customers + - Date + granularity: QUARTER areRelationsValid: true - sourceColumn: state - sourceColumnDataType: STRING relationships: - defaultView: - data: - id: state - type: label dataset: data: - id: customers + id: date type: dataset labels: data: - - id: state - type: label - - id: geo__state__location + - id: date.quarter type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter meta: origin: originType: NATIVE originId: demo - - id: region + - id: date.year type: attribute attributes: - title: Region - description: Region + title: Date - Year + description: Year tags: - - Customers + - Date + granularity: YEAR areRelationsValid: true - sourceColumn: region - sourceColumnDataType: STRING relationships: dataset: data: - id: customers + id: date type: dataset labels: data: - - id: region + - id: date.year type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year meta: origin: originType: NATIVE originId: demo - - id: customer_name + - id: date.minuteOfHour type: attribute attributes: - title: Customer name - description: Customer name + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) tags: - - Customers + - Date + granularity: MINUTE_OF_HOUR areRelationsValid: true - sourceColumn: customer_name - sourceColumnDataType: STRING relationships: dataset: data: - id: customers + id: date type: dataset labels: data: - - id: customer_name + - id: date.minuteOfHour type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour meta: origin: originType: NATIVE originId: demo - - id: customer_id + - id: date.hourOfDay type: attribute attributes: - title: Customer id - description: Customer id + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) tags: - - Customers + - Date + granularity: HOUR_OF_DAY areRelationsValid: true - sourceColumn: customer_id - sourceColumnDataType: INT relationships: dataset: data: - id: customers + id: date type: dataset labels: data: - - id: customer_id + - id: date.hourOfDay type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay meta: origin: originType: NATIVE originId: demo - - id: order_status + - id: date.dayOfWeek type: attribute attributes: - title: Order status - description: Order status + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) tags: - - Order lines + - Date + granularity: DAY_OF_WEEK areRelationsValid: true - sourceColumn: order_status - sourceColumnDataType: STRING relationships: dataset: data: - id: order_lines + id: date type: dataset labels: data: - - id: order_status + - id: date.dayOfWeek type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek meta: origin: originType: NATIVE originId: demo - - id: order_line_id + - id: date.dayOfMonth type: attribute attributes: - title: Order line id - description: Order line id + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) tags: - - Order lines + - Date + granularity: DAY_OF_MONTH areRelationsValid: true - sourceColumn: order_line_id - sourceColumnDataType: STRING relationships: dataset: data: - id: order_lines + id: date type: dataset labels: data: - - id: order_line_id + - id: date.dayOfMonth type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth meta: origin: originType: NATIVE originId: demo - - id: order_id + - id: date.dayOfYear type: attribute attributes: - title: Order id - description: Order id + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) tags: - - Order lines + - Date + granularity: DAY_OF_YEAR areRelationsValid: true - sourceColumn: order_id - sourceColumnDataType: STRING relationships: dataset: data: - id: order_lines + id: date type: dataset labels: data: - - id: order_id + - id: date.dayOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear meta: origin: originType: NATIVE originId: demo - - id: product_name + - id: date.weekOfYear type: attribute attributes: - title: Product name - description: Product name + title: Date - Week of Year + description: Generic Week (W1-W53) tags: - - Products + - Date + granularity: WEEK_OF_YEAR areRelationsValid: true - sourceColumn: product_name - sourceColumnDataType: STRING relationships: dataset: data: - id: products + id: date type: dataset labels: data: - - id: product_name + - id: date.weekOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear meta: origin: originType: NATIVE originId: demo - - id: product_id + - id: date.monthOfYear type: attribute attributes: - title: Product id - description: Product id + title: Date - Month of Year + description: Generic Month (M1-M12) tags: - - Products + - Date + granularity: MONTH_OF_YEAR areRelationsValid: true - sourceColumn: product_id - sourceColumnDataType: INT relationships: dataset: data: - id: products + id: date type: dataset labels: data: - - id: product_id + - id: date.monthOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear meta: origin: originType: NATIVE originId: demo - - id: products.category + - id: date.quarterOfYear type: attribute attributes: - title: Category - description: Category + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) tags: - - Products + - Date + granularity: QUARTER_OF_YEAR areRelationsValid: true - sourceColumn: category - sourceColumnDataType: STRING relationships: dataset: data: - id: products + id: date type: dataset labels: data: - - id: products.category + - id: date.quarterOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear meta: origin: originType: NATIVE originId: demo - - id: date.quarterOfYear + - id: campaign_channel_id type: attribute attributes: - title: Date - Quarter of Year - description: Generic Quarter (Q1-Q4) + title: Campaign channel id + description: Campaign channel id tags: - - Date - granularity: QUARTER_OF_YEAR + - Campaign channels areRelationsValid: true + sourceColumn: campaign_channel_id + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaign_channels type: dataset labels: data: - - id: date.quarterOfYear + - id: campaign_channel_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id meta: origin: originType: NATIVE originId: demo - - id: date.monthOfYear + - id: campaign_channels.category type: attribute attributes: - title: Date - Month of Year - description: Generic Month (M1-M12) + title: Category + description: Category tags: - - Date - granularity: MONTH_OF_YEAR + - Campaign channels areRelationsValid: true + sourceColumn: category + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaign_channels type: dataset labels: data: - - id: date.monthOfYear + - id: campaign_channels.category type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category meta: origin: originType: NATIVE originId: demo - - id: date.weekOfYear + - id: type type: attribute - attributes: - title: Date - Week of Year - description: Generic Week (W1-W53) + attributes: + title: Type + description: Type tags: - - Date - granularity: WEEK_OF_YEAR + - Campaign channels areRelationsValid: true + sourceColumn: type + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaign_channels type: dataset labels: data: - - id: date.weekOfYear + - id: type type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type meta: origin: originType: NATIVE originId: demo - - id: date.dayOfYear + - id: campaign_id type: attribute attributes: - title: Date - Day of Year - description: Generic Day of the Year (D1-D366) + title: Campaign id + description: Campaign id tags: - - Date - granularity: DAY_OF_YEAR + - Campaigns areRelationsValid: true + sourceColumn: campaign_id + sourceColumnDataType: INT relationships: dataset: data: - id: date + id: campaigns type: dataset labels: data: - - id: date.dayOfYear + - id: campaign_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id meta: origin: originType: NATIVE originId: demo - - id: date.dayOfMonth + - id: campaign_name type: attribute attributes: - title: Date - Day of Month - description: Generic Day of the Month (D1-D31) + title: Campaign name + description: Campaign name tags: - - Date - granularity: DAY_OF_MONTH + - Campaigns areRelationsValid: true + sourceColumn: campaign_name + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaigns type: dataset labels: data: - - id: date.dayOfMonth + - id: campaign_name type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name meta: origin: originType: NATIVE originId: demo - - id: date.dayOfWeek + - id: customer_id type: attribute attributes: - title: Date - Day of Week - description: Generic Day of the Week (D1-D7) + title: Customer id + description: Customer id tags: - - Date - granularity: DAY_OF_WEEK + - Customers areRelationsValid: true + sourceColumn: customer_id + sourceColumnDataType: INT relationships: dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.dayOfWeek + - id: customer_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id meta: origin: originType: NATIVE originId: demo - - id: date.hourOfDay + - id: customer_name type: attribute attributes: - title: Date - Hour of Day - description: Generic Hour of the Day(H1-H24) + title: Customer name + description: Customer name tags: - - Date - granularity: HOUR_OF_DAY + - Customers areRelationsValid: true + sourceColumn: customer_name + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.hourOfDay + - id: customer_name type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name meta: origin: originType: NATIVE originId: demo - - id: date.minuteOfHour + - id: region type: attribute attributes: - title: Date - Minute of Hour - description: Generic Minute of the Hour(MI1-MI60) + title: Region + description: Region tags: - - Date - granularity: MINUTE_OF_HOUR + - Customers areRelationsValid: true + sourceColumn: region + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.minuteOfHour + - id: region type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region meta: origin: originType: NATIVE originId: demo - - id: date.year + - id: state type: attribute attributes: - title: Date - Year - description: Year + title: State + description: State tags: - - Date - granularity: YEAR + - Customers areRelationsValid: true + sourceColumn: state + sourceColumnDataType: STRING relationships: + defaultView: + data: + id: state + type: label dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.year + - id: geo__state__location + type: label + - id: state type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state meta: origin: originType: NATIVE originId: demo - - id: date.quarter + - id: order_id type: attribute attributes: - title: Date - Quarter/Year - description: Quarter and Year (Q1/2020) + title: Order id + description: Order id tags: - - Date - granularity: QUARTER + - Order lines areRelationsValid: true + sourceColumn: order_id + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: order_lines type: dataset labels: data: - - id: date.quarter + - id: order_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id meta: origin: originType: NATIVE originId: demo - - id: date.month + - id: order_line_id type: attribute attributes: - title: Date - Month/Year - description: Month and Year (12/2020) + title: Order line id + description: Order line id tags: - - Date - granularity: MONTH + - Order lines areRelationsValid: true + sourceColumn: order_line_id + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: order_lines type: dataset labels: data: - - id: date.month + - id: order_line_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id meta: origin: originType: NATIVE originId: demo - - id: date.week + - id: order_status type: attribute attributes: - title: Date - Week/Year - description: Week and Year (W52/2020) + title: Order status + description: Order status tags: - - Date - granularity: WEEK + - Order lines areRelationsValid: true + sourceColumn: order_status + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: order_lines type: dataset labels: data: - - id: date.week + - id: order_status type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status meta: origin: originType: NATIVE originId: demo - - id: date.day + - id: product_id type: attribute attributes: - title: Date - Date - description: Date + title: Product id + description: Product id tags: - - Date - granularity: DAY + - Products areRelationsValid: true + sourceColumn: product_id + sourceColumnDataType: INT relationships: dataset: data: - id: date + id: products type: dataset labels: data: - - id: date.day + - id: product_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id meta: origin: originType: NATIVE originId: demo - - id: date.hour + - id: product_name type: attribute attributes: - title: Date - Hour - description: Hour + title: Product name + description: Product name tags: - - Date - granularity: HOUR + - Products areRelationsValid: true + sourceColumn: product_name + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: products type: dataset labels: data: - - id: date.hour + - id: product_name type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name meta: origin: originType: NATIVE originId: demo - - id: date.minute + - id: products.category type: attribute attributes: - title: Date - Minute - description: Minute + title: Category + description: Category tags: - - Date - granularity: MINUTE + - Products areRelationsValid: true + sourceColumn: category + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: products type: dataset labels: data: - - id: date.minute + - id: products.category type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category meta: origin: originType: NATIVE @@ -1036,51 +1036,59 @@ interactions: grain: - id: order_line_id type: attribute - order: 0 referenceProperties: - identifier: - id: products + id: date type: dataset multivalue: false + sources: null sourceColumns: - - product_id + - date sourceColumnDataTypes: - - INT + - DATE - identifier: id: customers type: dataset multivalue: false + sources: null sourceColumns: - customer_id sourceColumnDataTypes: - INT - identifier: - id: date + id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - - date + - campaign_id sourceColumnDataTypes: - - DATE + - INT - identifier: - id: campaigns + id: products type: dataset multivalue: false + sources: null sourceColumns: - - campaign_id + - product_id sourceColumnDataTypes: - INT dataSourceTableId: demo-test-ds:order_lines dataSourceTablePath: - demo - order_lines - workspaceDataFilterProperties: - - workspaceDataFilterIdentifier: + workspaceDataFilterColumns: + - name: wdf__state + dataType: STRING + - name: wdf__region + dataType: STRING + workspaceDataFilterReferences: + - filterId: id: wdf__state type: workspaceDataFilter filterColumn: wdf__state filterColumnDataType: STRING - - workspaceDataFilterIdentifier: + - filterId: id: wdf__region type: workspaceDataFilter filterColumn: wdf__region @@ -1122,12 +1130,12 @@ interactions: grain: - id: campaign_channel_id type: attribute - order: 0 referenceProperties: - identifier: id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - campaign_id sourceColumnDataTypes: @@ -1217,7 +1225,6 @@ interactions: grain: - id: campaign_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:campaigns dataSourceTablePath: - demo @@ -1274,7 +1281,6 @@ interactions: grain: - id: customer_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:customers dataSourceTablePath: - demo @@ -1400,7 +1406,6 @@ interactions: grain: - id: product_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:products dataSourceTablePath: - demo @@ -1504,8 +1509,8 @@ interactions: links: self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_id links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels,datasets&page=0&size=500 - next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels,datasets&page=1&size=500 + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&page=1&size=500 - request: method: GET uri: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500 @@ -1533,7 +1538,7 @@ interactions: Connection: - keep-alive Content-Length: - - '13953' + - '14899' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -1580,6 +1585,54 @@ interactions: body: string: data: + - id: date + type: dataset + attributes: + title: Date + description: '' + tags: + - Date + areRelationsValid: true + type: DATE + relationships: + attributes: + data: + - id: date.quarter + type: attribute + - id: date.minute + type: attribute + - id: date.hourOfDay + type: attribute + - id: date.minuteOfHour + type: attribute + - id: date.dayOfYear + type: attribute + - id: date.monthOfYear + type: attribute + - id: date.weekOfYear + type: attribute + - id: date.week + type: attribute + - id: date.year + type: attribute + - id: date.dayOfWeek + type: attribute + - id: date.hour + type: attribute + - id: date.dayOfMonth + type: attribute + - id: date.month + type: attribute + - id: date.quarterOfYear + type: attribute + - id: date.day + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date + meta: + origin: + originType: NATIVE + originId: demo - id: campaign_channels type: dataset attributes: @@ -1590,16 +1643,20 @@ interactions: grain: - id: campaign_channel_id type: attribute - order: 0 referenceProperties: - identifier: id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - campaign_id - sourceColumnDataTypes: null + sourceColumnDataTypes: + - INT dataSourceTableId: demo-test-ds:campaign_channels + dataSourceTablePath: + - demo + - campaign_channels areRelationsValid: true type: NORMAL relationships: @@ -1607,10 +1664,10 @@ interactions: data: - id: campaign_channel_id type: attribute - - id: type - type: attribute - id: campaign_channels.category type: attribute + - id: type + type: attribute facts: data: - id: budget @@ -1623,6 +1680,68 @@ interactions: origin: originType: NATIVE originId: demo + - id: campaigns + 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 + relationships: + attributes: + data: + - id: campaign_id + type: attribute + - id: campaign_name + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns + meta: + origin: + originType: NATIVE + originId: demo + - id: customers + 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 + relationships: + attributes: + data: + - id: customer_id + type: attribute + - id: state + type: attribute + - id: customer_name + type: attribute + - id: region + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers + meta: + origin: + originType: NATIVE + originId: demo - id: order_lines type: dataset attributes: @@ -1633,45 +1752,60 @@ interactions: grain: - id: order_line_id type: attribute - order: 0 referenceProperties: - identifier: - id: products + id: date type: dataset multivalue: false + sources: null sourceColumns: - - product_id - sourceColumnDataTypes: null + - date + sourceColumnDataTypes: + - DATE - identifier: id: customers type: dataset multivalue: false + sources: null sourceColumns: - customer_id - sourceColumnDataTypes: null + sourceColumnDataTypes: + - INT - identifier: - id: date + id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - - date - sourceColumnDataTypes: null + - campaign_id + sourceColumnDataTypes: + - INT - identifier: - id: campaigns + id: products type: dataset multivalue: false + sources: null sourceColumns: - - campaign_id - sourceColumnDataTypes: null + - product_id + sourceColumnDataTypes: + - INT dataSourceTableId: demo-test-ds:order_lines + dataSourceTablePath: + - demo + - order_lines areRelationsValid: true - workspaceDataFilterProperties: - - workspaceDataFilterIdentifier: + workspaceDataFilterColumns: + - name: wdf__state + dataType: STRING + - name: wdf__region + dataType: STRING + workspaceDataFilterReferences: + - filterId: id: wdf__state type: workspaceDataFilter filterColumn: wdf__state filterColumnDataType: STRING - - workspaceDataFilterIdentifier: + - filterId: id: wdf__region type: workspaceDataFilter filterColumn: wdf__region @@ -1680,12 +1814,12 @@ interactions: relationships: attributes: data: - - id: order_status - type: attribute - id: order_id type: attribute - id: order_line_id type: attribute + - id: order_status + type: attribute facts: data: - id: price @@ -1708,18 +1842,20 @@ interactions: grain: - id: product_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:products + dataSourceTablePath: + - demo + - products areRelationsValid: true type: NORMAL relationships: attributes: data: - - id: product_name + - id: products.category type: attribute - id: product_id type: attribute - - id: products.category + - id: product_name type: attribute links: self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/products @@ -1727,112 +1863,6 @@ interactions: origin: originType: NATIVE originId: demo - - id: date - type: dataset - attributes: - title: Date - description: '' - tags: - - Date - areRelationsValid: true - type: DATE - relationships: - attributes: - data: - - id: date.quarterOfYear - type: attribute - - id: date.weekOfYear - type: attribute - - id: date.dayOfMonth - type: attribute - - id: date.monthOfYear - type: attribute - - id: date.minuteOfHour - type: attribute - - id: date.hour - type: attribute - - id: date.year - type: attribute - - id: date.week - type: attribute - - id: date.quarter - type: attribute - - id: date.dayOfYear - type: attribute - - id: date.dayOfWeek - type: attribute - - id: date.minute - type: attribute - - id: date.day - type: attribute - - id: date.month - type: attribute - - id: date.hourOfDay - type: attribute - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date - meta: - origin: - originType: NATIVE - originId: demo - - id: campaigns - type: dataset - attributes: - title: Campaigns - description: Campaigns - tags: - - Campaigns - grain: - - id: campaign_id - type: attribute - order: 0 - dataSourceTableId: demo-test-ds:campaigns - areRelationsValid: true - type: NORMAL - relationships: - attributes: - data: - - id: campaign_id - type: attribute - - id: campaign_name - type: attribute - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns - meta: - origin: - originType: NATIVE - originId: demo - - id: customers - type: dataset - attributes: - title: Customers - description: Customers - tags: - - Customers - grain: - - id: customer_id - type: attribute - order: 0 - dataSourceTableId: demo-test-ds:customers - areRelationsValid: true - type: NORMAL - relationships: - attributes: - data: - - id: region - type: attribute - - id: state - type: attribute - - id: customer_id - type: attribute - - id: customer_name - type: attribute - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers - meta: - origin: - originType: NATIVE - originId: demo included: - id: product_id type: attribute @@ -1842,6 +1872,7 @@ interactions: tags: - Products sourceColumn: product_id + sourceColumnDataType: INT links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id - id: budget @@ -1852,6 +1883,7 @@ interactions: tags: - Campaign channels sourceColumn: budget + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/budget - id: date.year @@ -1872,6 +1904,7 @@ interactions: tags: - Products sourceColumn: product_name + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name - id: date.month @@ -1892,6 +1925,7 @@ interactions: tags: - Products sourceColumn: category + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category - id: date.dayOfMonth @@ -1932,6 +1966,7 @@ interactions: tags: - Campaign channels sourceColumn: category + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category - id: date.minute @@ -1952,6 +1987,7 @@ interactions: tags: - Customers sourceColumn: state + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state - id: date.week @@ -1972,6 +2008,7 @@ interactions: tags: - Order lines sourceColumn: order_id + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id - id: date.hour @@ -1992,6 +2029,7 @@ interactions: tags: - Campaigns sourceColumn: campaign_name + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name - id: price @@ -2002,6 +2040,7 @@ interactions: tags: - Order lines sourceColumn: price + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/price - id: date.dayOfWeek @@ -2032,6 +2071,7 @@ interactions: tags: - Customers sourceColumn: region + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region - id: campaign_channel_id @@ -2042,6 +2082,7 @@ interactions: tags: - Campaign channels sourceColumn: campaign_channel_id + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id - id: customer_id @@ -2052,6 +2093,7 @@ interactions: tags: - Customers sourceColumn: customer_id + sourceColumnDataType: INT links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id - id: date.hourOfDay @@ -2072,6 +2114,7 @@ interactions: tags: - Order lines sourceColumn: quantity + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity - id: campaign_id @@ -2082,6 +2125,7 @@ interactions: tags: - Campaigns sourceColumn: campaign_id + sourceColumnDataType: INT links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id - id: type @@ -2092,6 +2136,7 @@ interactions: tags: - Campaign channels sourceColumn: type + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type - id: spend @@ -2102,6 +2147,7 @@ interactions: tags: - Campaign channels sourceColumn: spend + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/spend - id: date.dayOfYear @@ -2142,6 +2188,7 @@ interactions: tags: - Order lines sourceColumn: order_status + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status - id: date.monthOfYear @@ -2162,6 +2209,7 @@ interactions: tags: - Customers sourceColumn: customer_name + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name - id: order_line_id @@ -2172,11 +2220,12 @@ interactions: tags: - Order lines sourceColumn: order_line_id + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=0&size=500 - next: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=1&size=500 + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=1&size=500 - request: method: GET uri: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500 @@ -2204,7 +2253,7 @@ interactions: Connection: - keep-alive Content-Length: - - '9799' + - '10543' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -2256,6 +2305,7 @@ interactions: attributes: title: '# of Active Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0' maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) @@ -2270,6 +2320,7 @@ interactions: attributes: title: '# of Orders' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0' maql: SELECT COUNT({attribute/order_id}) @@ -2284,6 +2335,7 @@ interactions: attributes: title: '# of Top Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0' maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT @@ -2300,6 +2352,7 @@ interactions: title: '# of Valid Orders' description: '' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.00' maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} @@ -2315,6 +2368,7 @@ interactions: attributes: title: Campaign Spend areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT SUM({fact/spend}) @@ -2329,6 +2383,7 @@ interactions: attributes: title: Order Amount areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT SUM({fact/price}*{fact/quantity}) @@ -2343,6 +2398,7 @@ interactions: attributes: title: '% Revenue' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / {metric/total_revenue} @@ -2357,6 +2413,7 @@ interactions: attributes: title: '% Revenue from Top 10 Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ @@ -2372,6 +2429,7 @@ interactions: attributes: title: '% Revenue from Top 10% Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ @@ -2387,6 +2445,7 @@ interactions: attributes: title: '% Revenue from Top 10% Products' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ @@ -2402,6 +2461,7 @@ interactions: attributes: title: '% Revenue from Top 10 Products' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ @@ -2417,6 +2477,7 @@ interactions: attributes: title: '% Revenue in Category' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, @@ -2432,6 +2493,7 @@ interactions: attributes: title: '% Revenue per Product' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL @@ -2448,6 +2510,7 @@ interactions: title: Revenue description: '' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} @@ -2463,6 +2526,7 @@ interactions: attributes: title: Revenue (Clothing) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2478,6 +2542,7 @@ interactions: attributes: title: Revenue (Electronic) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2493,6 +2558,7 @@ interactions: attributes: title: Revenue (Home) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2508,6 +2574,7 @@ interactions: attributes: title: Revenue (Outdoor) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2523,6 +2590,7 @@ interactions: attributes: title: Revenue per Customer areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0.0 maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) @@ -2537,6 +2605,7 @@ interactions: attributes: title: Revenue per Dollar Spent areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0.0 maql: SELECT {metric/revenue} / {metric/campaign_spend} @@ -2551,6 +2620,7 @@ interactions: attributes: title: Revenue / Top 10 areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) @@ -2565,6 +2635,7 @@ interactions: attributes: title: Revenue / Top 10% areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) @@ -2579,6 +2650,7 @@ interactions: attributes: title: Total Revenue areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} BY ALL OTHER @@ -2593,6 +2665,7 @@ interactions: attributes: title: Total Revenue (No Filters) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER @@ -2607,7 +2680,7 @@ interactions: next: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=1&size=500 - request: method: GET - uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/ee0e374e18c044f1e3ff0053a740465b51f3b5ed?offset=0%2C0&limit=2%2C1000 + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/ae4b472f7bfc24eba6c7ea9ad50a2d1597e8e494?offset=0%2C0&limit=2%2C1000 body: null headers: Accept: diff --git a/gooddata-pandas/tests/dataframe/fixtures/empty_indexed_dataframe.yaml b/gooddata-pandas/tests/dataframe/fixtures/empty_indexed_dataframe.yaml index 5db5682f3..d230fae9b 100644 --- a/gooddata-pandas/tests/dataframe/fixtures/empty_indexed_dataframe.yaml +++ b/gooddata-pandas/tests/dataframe/fixtures/empty_indexed_dataframe.yaml @@ -142,7 +142,7 @@ interactions: type: label localIdentifier: dim_1 links: - executionResult: cbaf263195bd7766958407b59cf8ff31b96b531a + executionResult: d5b149e6d4b09e426fccf980529833e5639b60df - request: method: GET uri: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&page=0&size=500 @@ -170,7 +170,7 @@ interactions: Connection: - keep-alive Content-Length: - - '27018' + - '27121' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -217,743 +217,743 @@ interactions: body: string: data: - - id: campaign_channels.category + - id: date.minute type: attribute attributes: - title: Category - description: Category + title: Date - Minute + description: Minute tags: - - Campaign channels + - Date + granularity: MINUTE areRelationsValid: true - sourceColumn: category - sourceColumnDataType: STRING relationships: dataset: data: - id: campaign_channels + id: date type: dataset labels: data: - - id: campaign_channels.category + - id: date.minute type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute meta: origin: originType: NATIVE originId: demo - - id: campaign_channel_id + - id: date.hour type: attribute attributes: - title: Campaign channel id - description: Campaign channel id + title: Date - Hour + description: Hour tags: - - Campaign channels + - Date + granularity: HOUR areRelationsValid: true - sourceColumn: campaign_channel_id - sourceColumnDataType: STRING relationships: dataset: data: - id: campaign_channels + id: date type: dataset labels: data: - - id: campaign_channel_id + - id: date.hour type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour meta: origin: originType: NATIVE originId: demo - - id: type + - id: date.day type: attribute attributes: - title: Type - description: Type + title: Date - Date + description: Date tags: - - Campaign channels + - Date + granularity: DAY areRelationsValid: true - sourceColumn: type - sourceColumnDataType: STRING relationships: dataset: data: - id: campaign_channels + id: date type: dataset labels: data: - - id: type + - id: date.day type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day meta: origin: originType: NATIVE originId: demo - - id: campaign_name + - id: date.week type: attribute attributes: - title: Campaign name - description: Campaign name + title: Date - Week/Year + description: Week and Year (W52/2020) tags: - - Campaigns + - Date + granularity: WEEK areRelationsValid: true - sourceColumn: campaign_name - sourceColumnDataType: STRING relationships: dataset: data: - id: campaigns + id: date type: dataset labels: data: - - id: campaign_name + - id: date.week type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week meta: origin: originType: NATIVE originId: demo - - id: campaign_id + - id: date.month type: attribute attributes: - title: Campaign id - description: Campaign id + title: Date - Month/Year + description: Month and Year (12/2020) tags: - - Campaigns + - Date + granularity: MONTH areRelationsValid: true - sourceColumn: campaign_id - sourceColumnDataType: INT relationships: dataset: data: - id: campaigns + id: date type: dataset labels: data: - - id: campaign_id + - id: date.month type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month meta: origin: originType: NATIVE originId: demo - - id: state + - id: date.quarter type: attribute attributes: - title: State - description: State + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) tags: - - Customers + - Date + granularity: QUARTER areRelationsValid: true - sourceColumn: state - sourceColumnDataType: STRING relationships: - defaultView: - data: - id: state - type: label dataset: data: - id: customers + id: date type: dataset labels: data: - - id: state - type: label - - id: geo__state__location + - id: date.quarter type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter meta: origin: originType: NATIVE originId: demo - - id: region + - id: date.year type: attribute attributes: - title: Region - description: Region + title: Date - Year + description: Year tags: - - Customers + - Date + granularity: YEAR areRelationsValid: true - sourceColumn: region - sourceColumnDataType: STRING relationships: dataset: data: - id: customers + id: date type: dataset labels: data: - - id: region + - id: date.year type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year meta: origin: originType: NATIVE originId: demo - - id: customer_name + - id: date.minuteOfHour type: attribute attributes: - title: Customer name - description: Customer name + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) tags: - - Customers + - Date + granularity: MINUTE_OF_HOUR areRelationsValid: true - sourceColumn: customer_name - sourceColumnDataType: STRING relationships: dataset: data: - id: customers + id: date type: dataset labels: data: - - id: customer_name + - id: date.minuteOfHour type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour meta: origin: originType: NATIVE originId: demo - - id: customer_id + - id: date.hourOfDay type: attribute attributes: - title: Customer id - description: Customer id + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) tags: - - Customers + - Date + granularity: HOUR_OF_DAY areRelationsValid: true - sourceColumn: customer_id - sourceColumnDataType: INT relationships: dataset: data: - id: customers + id: date type: dataset labels: data: - - id: customer_id + - id: date.hourOfDay type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay meta: origin: originType: NATIVE originId: demo - - id: order_status + - id: date.dayOfWeek type: attribute attributes: - title: Order status - description: Order status + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) tags: - - Order lines + - Date + granularity: DAY_OF_WEEK areRelationsValid: true - sourceColumn: order_status - sourceColumnDataType: STRING relationships: dataset: data: - id: order_lines + id: date type: dataset labels: data: - - id: order_status + - id: date.dayOfWeek type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek meta: origin: originType: NATIVE originId: demo - - id: order_line_id + - id: date.dayOfMonth type: attribute attributes: - title: Order line id - description: Order line id + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) tags: - - Order lines + - Date + granularity: DAY_OF_MONTH areRelationsValid: true - sourceColumn: order_line_id - sourceColumnDataType: STRING relationships: dataset: data: - id: order_lines + id: date type: dataset labels: data: - - id: order_line_id + - id: date.dayOfMonth type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth meta: origin: originType: NATIVE originId: demo - - id: order_id + - id: date.dayOfYear type: attribute attributes: - title: Order id - description: Order id + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) tags: - - Order lines + - Date + granularity: DAY_OF_YEAR areRelationsValid: true - sourceColumn: order_id - sourceColumnDataType: STRING relationships: dataset: data: - id: order_lines + id: date type: dataset labels: data: - - id: order_id + - id: date.dayOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear meta: origin: originType: NATIVE originId: demo - - id: product_name + - id: date.weekOfYear type: attribute attributes: - title: Product name - description: Product name + title: Date - Week of Year + description: Generic Week (W1-W53) tags: - - Products + - Date + granularity: WEEK_OF_YEAR areRelationsValid: true - sourceColumn: product_name - sourceColumnDataType: STRING relationships: dataset: data: - id: products + id: date type: dataset labels: data: - - id: product_name + - id: date.weekOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear meta: origin: originType: NATIVE originId: demo - - id: product_id + - id: date.monthOfYear type: attribute attributes: - title: Product id - description: Product id + title: Date - Month of Year + description: Generic Month (M1-M12) tags: - - Products + - Date + granularity: MONTH_OF_YEAR areRelationsValid: true - sourceColumn: product_id - sourceColumnDataType: INT relationships: dataset: data: - id: products + id: date type: dataset labels: data: - - id: product_id + - id: date.monthOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear meta: origin: originType: NATIVE originId: demo - - id: products.category + - id: date.quarterOfYear type: attribute attributes: - title: Category - description: Category + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) tags: - - Products + - Date + granularity: QUARTER_OF_YEAR areRelationsValid: true - sourceColumn: category - sourceColumnDataType: STRING relationships: dataset: data: - id: products + id: date type: dataset labels: data: - - id: products.category + - id: date.quarterOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear meta: origin: originType: NATIVE originId: demo - - id: date.quarterOfYear + - id: campaign_channel_id type: attribute attributes: - title: Date - Quarter of Year - description: Generic Quarter (Q1-Q4) + title: Campaign channel id + description: Campaign channel id tags: - - Date - granularity: QUARTER_OF_YEAR + - Campaign channels areRelationsValid: true + sourceColumn: campaign_channel_id + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaign_channels type: dataset labels: data: - - id: date.quarterOfYear + - id: campaign_channel_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id meta: origin: originType: NATIVE originId: demo - - id: date.monthOfYear + - id: campaign_channels.category type: attribute attributes: - title: Date - Month of Year - description: Generic Month (M1-M12) + title: Category + description: Category tags: - - Date - granularity: MONTH_OF_YEAR + - Campaign channels areRelationsValid: true + sourceColumn: category + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaign_channels type: dataset labels: data: - - id: date.monthOfYear + - id: campaign_channels.category type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category meta: origin: originType: NATIVE originId: demo - - id: date.weekOfYear + - id: type type: attribute attributes: - title: Date - Week of Year - description: Generic Week (W1-W53) + title: Type + description: Type tags: - - Date - granularity: WEEK_OF_YEAR + - Campaign channels areRelationsValid: true + sourceColumn: type + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaign_channels type: dataset labels: data: - - id: date.weekOfYear + - id: type type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type meta: origin: originType: NATIVE originId: demo - - id: date.dayOfYear + - id: campaign_id type: attribute attributes: - title: Date - Day of Year - description: Generic Day of the Year (D1-D366) + title: Campaign id + description: Campaign id tags: - - Date - granularity: DAY_OF_YEAR + - Campaigns areRelationsValid: true + sourceColumn: campaign_id + sourceColumnDataType: INT relationships: dataset: data: - id: date + id: campaigns type: dataset labels: data: - - id: date.dayOfYear + - id: campaign_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id meta: origin: originType: NATIVE originId: demo - - id: date.dayOfMonth + - id: campaign_name type: attribute attributes: - title: Date - Day of Month - description: Generic Day of the Month (D1-D31) + title: Campaign name + description: Campaign name tags: - - Date - granularity: DAY_OF_MONTH + - Campaigns areRelationsValid: true + sourceColumn: campaign_name + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaigns type: dataset labels: data: - - id: date.dayOfMonth + - id: campaign_name type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name meta: origin: originType: NATIVE originId: demo - - id: date.dayOfWeek + - id: customer_id type: attribute attributes: - title: Date - Day of Week - description: Generic Day of the Week (D1-D7) + title: Customer id + description: Customer id tags: - - Date - granularity: DAY_OF_WEEK + - Customers areRelationsValid: true + sourceColumn: customer_id + sourceColumnDataType: INT relationships: dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.dayOfWeek + - id: customer_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id meta: origin: originType: NATIVE originId: demo - - id: date.hourOfDay + - id: customer_name type: attribute attributes: - title: Date - Hour of Day - description: Generic Hour of the Day(H1-H24) + title: Customer name + description: Customer name tags: - - Date - granularity: HOUR_OF_DAY + - Customers areRelationsValid: true + sourceColumn: customer_name + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.hourOfDay + - id: customer_name type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name meta: origin: originType: NATIVE originId: demo - - id: date.minuteOfHour + - id: region type: attribute attributes: - title: Date - Minute of Hour - description: Generic Minute of the Hour(MI1-MI60) + title: Region + description: Region tags: - - Date - granularity: MINUTE_OF_HOUR + - Customers areRelationsValid: true + sourceColumn: region + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.minuteOfHour + - id: region type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region meta: origin: originType: NATIVE originId: demo - - id: date.year + - id: state type: attribute attributes: - title: Date - Year - description: Year + title: State + description: State tags: - - Date - granularity: YEAR + - Customers areRelationsValid: true + sourceColumn: state + sourceColumnDataType: STRING relationships: + defaultView: + data: + id: state + type: label dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.year + - id: geo__state__location + type: label + - id: state type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state meta: origin: originType: NATIVE originId: demo - - id: date.quarter + - id: order_id type: attribute attributes: - title: Date - Quarter/Year - description: Quarter and Year (Q1/2020) + title: Order id + description: Order id tags: - - Date - granularity: QUARTER + - Order lines areRelationsValid: true + sourceColumn: order_id + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: order_lines type: dataset labels: data: - - id: date.quarter + - id: order_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id meta: origin: originType: NATIVE originId: demo - - id: date.month + - id: order_line_id type: attribute attributes: - title: Date - Month/Year - description: Month and Year (12/2020) + title: Order line id + description: Order line id tags: - - Date - granularity: MONTH + - Order lines areRelationsValid: true + sourceColumn: order_line_id + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: order_lines type: dataset labels: data: - - id: date.month + - id: order_line_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id meta: origin: originType: NATIVE originId: demo - - id: date.week + - id: order_status type: attribute attributes: - title: Date - Week/Year - description: Week and Year (W52/2020) + title: Order status + description: Order status tags: - - Date - granularity: WEEK + - Order lines areRelationsValid: true + sourceColumn: order_status + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: order_lines type: dataset labels: data: - - id: date.week + - id: order_status type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status meta: origin: originType: NATIVE originId: demo - - id: date.day + - id: product_id type: attribute attributes: - title: Date - Date - description: Date + title: Product id + description: Product id tags: - - Date - granularity: DAY + - Products areRelationsValid: true + sourceColumn: product_id + sourceColumnDataType: INT relationships: dataset: data: - id: date + id: products type: dataset labels: data: - - id: date.day + - id: product_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id meta: origin: originType: NATIVE originId: demo - - id: date.hour + - id: product_name type: attribute attributes: - title: Date - Hour - description: Hour + title: Product name + description: Product name tags: - - Date - granularity: HOUR + - Products areRelationsValid: true + sourceColumn: product_name + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: products type: dataset labels: data: - - id: date.hour + - id: product_name type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name meta: origin: originType: NATIVE originId: demo - - id: date.minute + - id: products.category type: attribute attributes: - title: Date - Minute - description: Minute + title: Category + description: Category tags: - - Date - granularity: MINUTE + - Products areRelationsValid: true + sourceColumn: category + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: products type: dataset labels: data: - - id: date.minute + - id: products.category type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category meta: origin: originType: NATIVE @@ -1017,51 +1017,59 @@ interactions: grain: - id: order_line_id type: attribute - order: 0 referenceProperties: - identifier: - id: products + id: date type: dataset multivalue: false + sources: null sourceColumns: - - product_id + - date sourceColumnDataTypes: - - INT + - DATE - identifier: id: customers type: dataset multivalue: false + sources: null sourceColumns: - customer_id sourceColumnDataTypes: - INT - identifier: - id: date + id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - - date + - campaign_id sourceColumnDataTypes: - - DATE + - INT - identifier: - id: campaigns + id: products type: dataset multivalue: false + sources: null sourceColumns: - - campaign_id + - product_id sourceColumnDataTypes: - INT dataSourceTableId: demo-test-ds:order_lines dataSourceTablePath: - demo - order_lines - workspaceDataFilterProperties: - - workspaceDataFilterIdentifier: + workspaceDataFilterColumns: + - name: wdf__state + dataType: STRING + - name: wdf__region + dataType: STRING + workspaceDataFilterReferences: + - filterId: id: wdf__state type: workspaceDataFilter filterColumn: wdf__state filterColumnDataType: STRING - - workspaceDataFilterIdentifier: + - filterId: id: wdf__region type: workspaceDataFilter filterColumn: wdf__region @@ -1103,12 +1111,12 @@ interactions: grain: - id: campaign_channel_id type: attribute - order: 0 referenceProperties: - identifier: id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - campaign_id sourceColumnDataTypes: @@ -1198,7 +1206,6 @@ interactions: grain: - id: campaign_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:campaigns dataSourceTablePath: - demo @@ -1255,7 +1262,6 @@ interactions: grain: - id: customer_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:customers dataSourceTablePath: - demo @@ -1381,7 +1387,6 @@ interactions: grain: - id: product_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:products dataSourceTablePath: - demo @@ -1485,8 +1490,8 @@ interactions: links: self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_id links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels,datasets&page=0&size=500 - next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels,datasets&page=1&size=500 + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&page=1&size=500 - request: method: GET uri: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500 @@ -1514,7 +1519,7 @@ interactions: Connection: - keep-alive Content-Length: - - '13953' + - '14899' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -1561,6 +1566,54 @@ interactions: body: string: data: + - id: date + type: dataset + attributes: + title: Date + description: '' + tags: + - Date + areRelationsValid: true + type: DATE + relationships: + attributes: + data: + - id: date.quarter + type: attribute + - id: date.minute + type: attribute + - id: date.hourOfDay + type: attribute + - id: date.minuteOfHour + type: attribute + - id: date.dayOfYear + type: attribute + - id: date.monthOfYear + type: attribute + - id: date.weekOfYear + type: attribute + - id: date.week + type: attribute + - id: date.year + type: attribute + - id: date.dayOfWeek + type: attribute + - id: date.hour + type: attribute + - id: date.dayOfMonth + type: attribute + - id: date.month + type: attribute + - id: date.quarterOfYear + type: attribute + - id: date.day + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date + meta: + origin: + originType: NATIVE + originId: demo - id: campaign_channels type: dataset attributes: @@ -1571,16 +1624,20 @@ interactions: grain: - id: campaign_channel_id type: attribute - order: 0 referenceProperties: - identifier: id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - campaign_id - sourceColumnDataTypes: null + sourceColumnDataTypes: + - INT dataSourceTableId: demo-test-ds:campaign_channels + dataSourceTablePath: + - demo + - campaign_channels areRelationsValid: true type: NORMAL relationships: @@ -1588,10 +1645,10 @@ interactions: data: - id: campaign_channel_id type: attribute - - id: type - type: attribute - id: campaign_channels.category type: attribute + - id: type + type: attribute facts: data: - id: budget @@ -1604,6 +1661,68 @@ interactions: origin: originType: NATIVE originId: demo + - id: campaigns + 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 + relationships: + attributes: + data: + - id: campaign_id + type: attribute + - id: campaign_name + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns + meta: + origin: + originType: NATIVE + originId: demo + - id: customers + 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 + relationships: + attributes: + data: + - id: customer_id + type: attribute + - id: state + type: attribute + - id: customer_name + type: attribute + - id: region + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers + meta: + origin: + originType: NATIVE + originId: demo - id: order_lines type: dataset attributes: @@ -1614,59 +1733,74 @@ interactions: grain: - id: order_line_id type: attribute - order: 0 referenceProperties: - identifier: - id: products + id: date type: dataset multivalue: false + sources: null sourceColumns: - - product_id - sourceColumnDataTypes: null + - date + sourceColumnDataTypes: + - DATE - identifier: id: customers type: dataset multivalue: false + sources: null sourceColumns: - customer_id - sourceColumnDataTypes: null + sourceColumnDataTypes: + - INT - identifier: - id: date + id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - - date - sourceColumnDataTypes: null + - campaign_id + sourceColumnDataTypes: + - INT - identifier: - id: campaigns + id: products type: dataset multivalue: false + sources: null sourceColumns: - - campaign_id - sourceColumnDataTypes: null + - product_id + sourceColumnDataTypes: + - INT dataSourceTableId: demo-test-ds:order_lines + dataSourceTablePath: + - demo + - order_lines areRelationsValid: true - workspaceDataFilterProperties: - - workspaceDataFilterIdentifier: - id: wdf__state - type: workspaceDataFilter - filterColumn: wdf__state - filterColumnDataType: STRING - - workspaceDataFilterIdentifier: + workspaceDataFilterColumns: + - name: wdf__state + dataType: STRING + - name: wdf__region + 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 relationships: attributes: data: - - id: order_status - type: attribute - id: order_id type: attribute - id: order_line_id type: attribute + - id: order_status + type: attribute facts: data: - id: price @@ -1689,18 +1823,20 @@ interactions: grain: - id: product_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:products + dataSourceTablePath: + - demo + - products areRelationsValid: true type: NORMAL relationships: attributes: data: - - id: product_name + - id: products.category type: attribute - id: product_id type: attribute - - id: products.category + - id: product_name type: attribute links: self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/products @@ -1708,112 +1844,6 @@ interactions: origin: originType: NATIVE originId: demo - - id: date - type: dataset - attributes: - title: Date - description: '' - tags: - - Date - areRelationsValid: true - type: DATE - relationships: - attributes: - data: - - id: date.quarterOfYear - type: attribute - - id: date.weekOfYear - type: attribute - - id: date.dayOfMonth - type: attribute - - id: date.monthOfYear - type: attribute - - id: date.minuteOfHour - type: attribute - - id: date.hour - type: attribute - - id: date.year - type: attribute - - id: date.week - type: attribute - - id: date.quarter - type: attribute - - id: date.dayOfYear - type: attribute - - id: date.dayOfWeek - type: attribute - - id: date.minute - type: attribute - - id: date.day - type: attribute - - id: date.month - type: attribute - - id: date.hourOfDay - type: attribute - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date - meta: - origin: - originType: NATIVE - originId: demo - - id: campaigns - type: dataset - attributes: - title: Campaigns - description: Campaigns - tags: - - Campaigns - grain: - - id: campaign_id - type: attribute - order: 0 - dataSourceTableId: demo-test-ds:campaigns - areRelationsValid: true - type: NORMAL - relationships: - attributes: - data: - - id: campaign_id - type: attribute - - id: campaign_name - type: attribute - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns - meta: - origin: - originType: NATIVE - originId: demo - - id: customers - type: dataset - attributes: - title: Customers - description: Customers - tags: - - Customers - grain: - - id: customer_id - type: attribute - order: 0 - dataSourceTableId: demo-test-ds:customers - areRelationsValid: true - type: NORMAL - relationships: - attributes: - data: - - id: region - type: attribute - - id: state - type: attribute - - id: customer_id - type: attribute - - id: customer_name - type: attribute - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers - meta: - origin: - originType: NATIVE - originId: demo included: - id: product_id type: attribute @@ -1823,6 +1853,7 @@ interactions: tags: - Products sourceColumn: product_id + sourceColumnDataType: INT links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id - id: budget @@ -1833,6 +1864,7 @@ interactions: tags: - Campaign channels sourceColumn: budget + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/budget - id: date.year @@ -1853,6 +1885,7 @@ interactions: tags: - Products sourceColumn: product_name + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name - id: date.month @@ -1873,6 +1906,7 @@ interactions: tags: - Products sourceColumn: category + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category - id: date.dayOfMonth @@ -1913,6 +1947,7 @@ interactions: tags: - Campaign channels sourceColumn: category + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category - id: date.minute @@ -1933,6 +1968,7 @@ interactions: tags: - Customers sourceColumn: state + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state - id: date.week @@ -1953,6 +1989,7 @@ interactions: tags: - Order lines sourceColumn: order_id + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id - id: date.hour @@ -1973,6 +2010,7 @@ interactions: tags: - Campaigns sourceColumn: campaign_name + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name - id: price @@ -1983,6 +2021,7 @@ interactions: tags: - Order lines sourceColumn: price + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/price - id: date.dayOfWeek @@ -2013,6 +2052,7 @@ interactions: tags: - Customers sourceColumn: region + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region - id: campaign_channel_id @@ -2023,6 +2063,7 @@ interactions: tags: - Campaign channels sourceColumn: campaign_channel_id + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id - id: customer_id @@ -2033,6 +2074,7 @@ interactions: tags: - Customers sourceColumn: customer_id + sourceColumnDataType: INT links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id - id: date.hourOfDay @@ -2053,6 +2095,7 @@ interactions: tags: - Order lines sourceColumn: quantity + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity - id: campaign_id @@ -2063,6 +2106,7 @@ interactions: tags: - Campaigns sourceColumn: campaign_id + sourceColumnDataType: INT links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id - id: type @@ -2073,6 +2117,7 @@ interactions: tags: - Campaign channels sourceColumn: type + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type - id: spend @@ -2083,6 +2128,7 @@ interactions: tags: - Campaign channels sourceColumn: spend + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/spend - id: date.dayOfYear @@ -2123,6 +2169,7 @@ interactions: tags: - Order lines sourceColumn: order_status + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status - id: date.monthOfYear @@ -2143,6 +2190,7 @@ interactions: tags: - Customers sourceColumn: customer_name + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name - id: order_line_id @@ -2153,11 +2201,12 @@ interactions: tags: - Order lines sourceColumn: order_line_id + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=0&size=500 - next: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=1&size=500 + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=1&size=500 - request: method: GET uri: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500 @@ -2185,7 +2234,7 @@ interactions: Connection: - keep-alive Content-Length: - - '9799' + - '10543' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -2237,6 +2286,7 @@ interactions: attributes: title: '# of Active Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0' maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) @@ -2251,6 +2301,7 @@ interactions: attributes: title: '# of Orders' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0' maql: SELECT COUNT({attribute/order_id}) @@ -2265,6 +2316,7 @@ interactions: attributes: title: '# of Top Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0' maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT @@ -2281,6 +2333,7 @@ interactions: title: '# of Valid Orders' description: '' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.00' maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} @@ -2296,6 +2349,7 @@ interactions: attributes: title: Campaign Spend areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT SUM({fact/spend}) @@ -2310,6 +2364,7 @@ interactions: attributes: title: Order Amount areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT SUM({fact/price}*{fact/quantity}) @@ -2324,6 +2379,7 @@ interactions: attributes: title: '% Revenue' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / {metric/total_revenue} @@ -2338,6 +2394,7 @@ interactions: attributes: title: '% Revenue from Top 10 Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ @@ -2353,6 +2410,7 @@ interactions: attributes: title: '% Revenue from Top 10% Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ @@ -2368,6 +2426,7 @@ interactions: attributes: title: '% Revenue from Top 10% Products' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ @@ -2383,6 +2442,7 @@ interactions: attributes: title: '% Revenue from Top 10 Products' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ @@ -2398,6 +2458,7 @@ interactions: attributes: title: '% Revenue in Category' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, @@ -2413,6 +2474,7 @@ interactions: attributes: title: '% Revenue per Product' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL @@ -2429,6 +2491,7 @@ interactions: title: Revenue description: '' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} @@ -2444,6 +2507,7 @@ interactions: attributes: title: Revenue (Clothing) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2459,6 +2523,7 @@ interactions: attributes: title: Revenue (Electronic) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2474,6 +2539,7 @@ interactions: attributes: title: Revenue (Home) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2489,6 +2555,7 @@ interactions: attributes: title: Revenue (Outdoor) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2504,6 +2571,7 @@ interactions: attributes: title: Revenue per Customer areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0.0 maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) @@ -2518,6 +2586,7 @@ interactions: attributes: title: Revenue per Dollar Spent areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0.0 maql: SELECT {metric/revenue} / {metric/campaign_spend} @@ -2532,6 +2601,7 @@ interactions: attributes: title: Revenue / Top 10 areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) @@ -2546,6 +2616,7 @@ interactions: attributes: title: Revenue / Top 10% areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) @@ -2560,6 +2631,7 @@ interactions: attributes: title: Total Revenue areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} BY ALL OTHER @@ -2574,6 +2646,7 @@ interactions: attributes: title: Total Revenue (No Filters) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER @@ -2588,7 +2661,7 @@ interactions: next: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=1&size=500 - request: method: GET - uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/cbaf263195bd7766958407b59cf8ff31b96b531a?offset=0%2C0&limit=2%2C1000 + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/d5b149e6d4b09e426fccf980529833e5639b60df?offset=0%2C0&limit=2%2C1000 body: null headers: Accept: diff --git a/gooddata-pandas/tests/dataframe/fixtures/empty_not_indexed_dataframe.yaml b/gooddata-pandas/tests/dataframe/fixtures/empty_not_indexed_dataframe.yaml index 5db5682f3..d230fae9b 100644 --- a/gooddata-pandas/tests/dataframe/fixtures/empty_not_indexed_dataframe.yaml +++ b/gooddata-pandas/tests/dataframe/fixtures/empty_not_indexed_dataframe.yaml @@ -142,7 +142,7 @@ interactions: type: label localIdentifier: dim_1 links: - executionResult: cbaf263195bd7766958407b59cf8ff31b96b531a + executionResult: d5b149e6d4b09e426fccf980529833e5639b60df - request: method: GET uri: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&page=0&size=500 @@ -170,7 +170,7 @@ interactions: Connection: - keep-alive Content-Length: - - '27018' + - '27121' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -217,743 +217,743 @@ interactions: body: string: data: - - id: campaign_channels.category + - id: date.minute type: attribute attributes: - title: Category - description: Category + title: Date - Minute + description: Minute tags: - - Campaign channels + - Date + granularity: MINUTE areRelationsValid: true - sourceColumn: category - sourceColumnDataType: STRING relationships: dataset: data: - id: campaign_channels + id: date type: dataset labels: data: - - id: campaign_channels.category + - id: date.minute type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute meta: origin: originType: NATIVE originId: demo - - id: campaign_channel_id + - id: date.hour type: attribute attributes: - title: Campaign channel id - description: Campaign channel id + title: Date - Hour + description: Hour tags: - - Campaign channels + - Date + granularity: HOUR areRelationsValid: true - sourceColumn: campaign_channel_id - sourceColumnDataType: STRING relationships: dataset: data: - id: campaign_channels + id: date type: dataset labels: data: - - id: campaign_channel_id + - id: date.hour type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour meta: origin: originType: NATIVE originId: demo - - id: type + - id: date.day type: attribute attributes: - title: Type - description: Type + title: Date - Date + description: Date tags: - - Campaign channels + - Date + granularity: DAY areRelationsValid: true - sourceColumn: type - sourceColumnDataType: STRING relationships: dataset: data: - id: campaign_channels + id: date type: dataset labels: data: - - id: type + - id: date.day type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day meta: origin: originType: NATIVE originId: demo - - id: campaign_name + - id: date.week type: attribute attributes: - title: Campaign name - description: Campaign name + title: Date - Week/Year + description: Week and Year (W52/2020) tags: - - Campaigns + - Date + granularity: WEEK areRelationsValid: true - sourceColumn: campaign_name - sourceColumnDataType: STRING relationships: dataset: data: - id: campaigns + id: date type: dataset labels: data: - - id: campaign_name + - id: date.week type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week meta: origin: originType: NATIVE originId: demo - - id: campaign_id + - id: date.month type: attribute attributes: - title: Campaign id - description: Campaign id + title: Date - Month/Year + description: Month and Year (12/2020) tags: - - Campaigns + - Date + granularity: MONTH areRelationsValid: true - sourceColumn: campaign_id - sourceColumnDataType: INT relationships: dataset: data: - id: campaigns + id: date type: dataset labels: data: - - id: campaign_id + - id: date.month type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month meta: origin: originType: NATIVE originId: demo - - id: state + - id: date.quarter type: attribute attributes: - title: State - description: State + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) tags: - - Customers + - Date + granularity: QUARTER areRelationsValid: true - sourceColumn: state - sourceColumnDataType: STRING relationships: - defaultView: - data: - id: state - type: label dataset: data: - id: customers + id: date type: dataset labels: data: - - id: state - type: label - - id: geo__state__location + - id: date.quarter type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter meta: origin: originType: NATIVE originId: demo - - id: region + - id: date.year type: attribute attributes: - title: Region - description: Region + title: Date - Year + description: Year tags: - - Customers + - Date + granularity: YEAR areRelationsValid: true - sourceColumn: region - sourceColumnDataType: STRING relationships: dataset: data: - id: customers + id: date type: dataset labels: data: - - id: region + - id: date.year type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year meta: origin: originType: NATIVE originId: demo - - id: customer_name + - id: date.minuteOfHour type: attribute attributes: - title: Customer name - description: Customer name + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) tags: - - Customers + - Date + granularity: MINUTE_OF_HOUR areRelationsValid: true - sourceColumn: customer_name - sourceColumnDataType: STRING relationships: dataset: data: - id: customers + id: date type: dataset labels: data: - - id: customer_name + - id: date.minuteOfHour type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour meta: origin: originType: NATIVE originId: demo - - id: customer_id + - id: date.hourOfDay type: attribute attributes: - title: Customer id - description: Customer id + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) tags: - - Customers + - Date + granularity: HOUR_OF_DAY areRelationsValid: true - sourceColumn: customer_id - sourceColumnDataType: INT relationships: dataset: data: - id: customers + id: date type: dataset labels: data: - - id: customer_id + - id: date.hourOfDay type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay meta: origin: originType: NATIVE originId: demo - - id: order_status + - id: date.dayOfWeek type: attribute attributes: - title: Order status - description: Order status + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) tags: - - Order lines + - Date + granularity: DAY_OF_WEEK areRelationsValid: true - sourceColumn: order_status - sourceColumnDataType: STRING relationships: dataset: data: - id: order_lines + id: date type: dataset labels: data: - - id: order_status + - id: date.dayOfWeek type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek meta: origin: originType: NATIVE originId: demo - - id: order_line_id + - id: date.dayOfMonth type: attribute attributes: - title: Order line id - description: Order line id + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) tags: - - Order lines + - Date + granularity: DAY_OF_MONTH areRelationsValid: true - sourceColumn: order_line_id - sourceColumnDataType: STRING relationships: dataset: data: - id: order_lines + id: date type: dataset labels: data: - - id: order_line_id + - id: date.dayOfMonth type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth meta: origin: originType: NATIVE originId: demo - - id: order_id + - id: date.dayOfYear type: attribute attributes: - title: Order id - description: Order id + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) tags: - - Order lines + - Date + granularity: DAY_OF_YEAR areRelationsValid: true - sourceColumn: order_id - sourceColumnDataType: STRING relationships: dataset: data: - id: order_lines + id: date type: dataset labels: data: - - id: order_id + - id: date.dayOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear meta: origin: originType: NATIVE originId: demo - - id: product_name + - id: date.weekOfYear type: attribute attributes: - title: Product name - description: Product name + title: Date - Week of Year + description: Generic Week (W1-W53) tags: - - Products + - Date + granularity: WEEK_OF_YEAR areRelationsValid: true - sourceColumn: product_name - sourceColumnDataType: STRING relationships: dataset: data: - id: products + id: date type: dataset labels: data: - - id: product_name + - id: date.weekOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear meta: origin: originType: NATIVE originId: demo - - id: product_id + - id: date.monthOfYear type: attribute attributes: - title: Product id - description: Product id + title: Date - Month of Year + description: Generic Month (M1-M12) tags: - - Products + - Date + granularity: MONTH_OF_YEAR areRelationsValid: true - sourceColumn: product_id - sourceColumnDataType: INT relationships: dataset: data: - id: products + id: date type: dataset labels: data: - - id: product_id + - id: date.monthOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear meta: origin: originType: NATIVE originId: demo - - id: products.category + - id: date.quarterOfYear type: attribute attributes: - title: Category - description: Category + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) tags: - - Products + - Date + granularity: QUARTER_OF_YEAR areRelationsValid: true - sourceColumn: category - sourceColumnDataType: STRING relationships: dataset: data: - id: products + id: date type: dataset labels: data: - - id: products.category + - id: date.quarterOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear meta: origin: originType: NATIVE originId: demo - - id: date.quarterOfYear + - id: campaign_channel_id type: attribute attributes: - title: Date - Quarter of Year - description: Generic Quarter (Q1-Q4) + title: Campaign channel id + description: Campaign channel id tags: - - Date - granularity: QUARTER_OF_YEAR + - Campaign channels areRelationsValid: true + sourceColumn: campaign_channel_id + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaign_channels type: dataset labels: data: - - id: date.quarterOfYear + - id: campaign_channel_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id meta: origin: originType: NATIVE originId: demo - - id: date.monthOfYear + - id: campaign_channels.category type: attribute attributes: - title: Date - Month of Year - description: Generic Month (M1-M12) + title: Category + description: Category tags: - - Date - granularity: MONTH_OF_YEAR + - Campaign channels areRelationsValid: true + sourceColumn: category + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaign_channels type: dataset labels: data: - - id: date.monthOfYear + - id: campaign_channels.category type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category meta: origin: originType: NATIVE originId: demo - - id: date.weekOfYear + - id: type type: attribute attributes: - title: Date - Week of Year - description: Generic Week (W1-W53) + title: Type + description: Type tags: - - Date - granularity: WEEK_OF_YEAR + - Campaign channels areRelationsValid: true + sourceColumn: type + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaign_channels type: dataset labels: data: - - id: date.weekOfYear + - id: type type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type meta: origin: originType: NATIVE originId: demo - - id: date.dayOfYear + - id: campaign_id type: attribute attributes: - title: Date - Day of Year - description: Generic Day of the Year (D1-D366) + title: Campaign id + description: Campaign id tags: - - Date - granularity: DAY_OF_YEAR + - Campaigns areRelationsValid: true + sourceColumn: campaign_id + sourceColumnDataType: INT relationships: dataset: data: - id: date + id: campaigns type: dataset labels: data: - - id: date.dayOfYear + - id: campaign_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id meta: origin: originType: NATIVE originId: demo - - id: date.dayOfMonth + - id: campaign_name type: attribute attributes: - title: Date - Day of Month - description: Generic Day of the Month (D1-D31) + title: Campaign name + description: Campaign name tags: - - Date - granularity: DAY_OF_MONTH + - Campaigns areRelationsValid: true + sourceColumn: campaign_name + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaigns type: dataset labels: data: - - id: date.dayOfMonth + - id: campaign_name type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name meta: origin: originType: NATIVE originId: demo - - id: date.dayOfWeek + - id: customer_id type: attribute attributes: - title: Date - Day of Week - description: Generic Day of the Week (D1-D7) + title: Customer id + description: Customer id tags: - - Date - granularity: DAY_OF_WEEK + - Customers areRelationsValid: true + sourceColumn: customer_id + sourceColumnDataType: INT relationships: dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.dayOfWeek + - id: customer_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id meta: origin: originType: NATIVE originId: demo - - id: date.hourOfDay + - id: customer_name type: attribute attributes: - title: Date - Hour of Day - description: Generic Hour of the Day(H1-H24) + title: Customer name + description: Customer name tags: - - Date - granularity: HOUR_OF_DAY + - Customers areRelationsValid: true + sourceColumn: customer_name + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.hourOfDay + - id: customer_name type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name meta: origin: originType: NATIVE originId: demo - - id: date.minuteOfHour + - id: region type: attribute attributes: - title: Date - Minute of Hour - description: Generic Minute of the Hour(MI1-MI60) + title: Region + description: Region tags: - - Date - granularity: MINUTE_OF_HOUR + - Customers areRelationsValid: true + sourceColumn: region + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.minuteOfHour + - id: region type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region meta: origin: originType: NATIVE originId: demo - - id: date.year + - id: state type: attribute attributes: - title: Date - Year - description: Year + title: State + description: State tags: - - Date - granularity: YEAR + - Customers areRelationsValid: true + sourceColumn: state + sourceColumnDataType: STRING relationships: + defaultView: + data: + id: state + type: label dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.year + - id: geo__state__location + type: label + - id: state type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state meta: origin: originType: NATIVE originId: demo - - id: date.quarter + - id: order_id type: attribute attributes: - title: Date - Quarter/Year - description: Quarter and Year (Q1/2020) + title: Order id + description: Order id tags: - - Date - granularity: QUARTER + - Order lines areRelationsValid: true + sourceColumn: order_id + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: order_lines type: dataset labels: data: - - id: date.quarter + - id: order_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id meta: origin: originType: NATIVE originId: demo - - id: date.month + - id: order_line_id type: attribute attributes: - title: Date - Month/Year - description: Month and Year (12/2020) + title: Order line id + description: Order line id tags: - - Date - granularity: MONTH + - Order lines areRelationsValid: true + sourceColumn: order_line_id + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: order_lines type: dataset labels: data: - - id: date.month + - id: order_line_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id meta: origin: originType: NATIVE originId: demo - - id: date.week + - id: order_status type: attribute attributes: - title: Date - Week/Year - description: Week and Year (W52/2020) + title: Order status + description: Order status tags: - - Date - granularity: WEEK + - Order lines areRelationsValid: true + sourceColumn: order_status + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: order_lines type: dataset labels: data: - - id: date.week + - id: order_status type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status meta: origin: originType: NATIVE originId: demo - - id: date.day + - id: product_id type: attribute attributes: - title: Date - Date - description: Date + title: Product id + description: Product id tags: - - Date - granularity: DAY + - Products areRelationsValid: true + sourceColumn: product_id + sourceColumnDataType: INT relationships: dataset: data: - id: date + id: products type: dataset labels: data: - - id: date.day + - id: product_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id meta: origin: originType: NATIVE originId: demo - - id: date.hour + - id: product_name type: attribute attributes: - title: Date - Hour - description: Hour + title: Product name + description: Product name tags: - - Date - granularity: HOUR + - Products areRelationsValid: true + sourceColumn: product_name + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: products type: dataset labels: data: - - id: date.hour + - id: product_name type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name meta: origin: originType: NATIVE originId: demo - - id: date.minute + - id: products.category type: attribute attributes: - title: Date - Minute - description: Minute + title: Category + description: Category tags: - - Date - granularity: MINUTE + - Products areRelationsValid: true + sourceColumn: category + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: products type: dataset labels: data: - - id: date.minute + - id: products.category type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category meta: origin: originType: NATIVE @@ -1017,51 +1017,59 @@ interactions: grain: - id: order_line_id type: attribute - order: 0 referenceProperties: - identifier: - id: products + id: date type: dataset multivalue: false + sources: null sourceColumns: - - product_id + - date sourceColumnDataTypes: - - INT + - DATE - identifier: id: customers type: dataset multivalue: false + sources: null sourceColumns: - customer_id sourceColumnDataTypes: - INT - identifier: - id: date + id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - - date + - campaign_id sourceColumnDataTypes: - - DATE + - INT - identifier: - id: campaigns + id: products type: dataset multivalue: false + sources: null sourceColumns: - - campaign_id + - product_id sourceColumnDataTypes: - INT dataSourceTableId: demo-test-ds:order_lines dataSourceTablePath: - demo - order_lines - workspaceDataFilterProperties: - - workspaceDataFilterIdentifier: + workspaceDataFilterColumns: + - name: wdf__state + dataType: STRING + - name: wdf__region + dataType: STRING + workspaceDataFilterReferences: + - filterId: id: wdf__state type: workspaceDataFilter filterColumn: wdf__state filterColumnDataType: STRING - - workspaceDataFilterIdentifier: + - filterId: id: wdf__region type: workspaceDataFilter filterColumn: wdf__region @@ -1103,12 +1111,12 @@ interactions: grain: - id: campaign_channel_id type: attribute - order: 0 referenceProperties: - identifier: id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - campaign_id sourceColumnDataTypes: @@ -1198,7 +1206,6 @@ interactions: grain: - id: campaign_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:campaigns dataSourceTablePath: - demo @@ -1255,7 +1262,6 @@ interactions: grain: - id: customer_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:customers dataSourceTablePath: - demo @@ -1381,7 +1387,6 @@ interactions: grain: - id: product_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:products dataSourceTablePath: - demo @@ -1485,8 +1490,8 @@ interactions: links: self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_id links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels,datasets&page=0&size=500 - next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels,datasets&page=1&size=500 + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&page=1&size=500 - request: method: GET uri: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500 @@ -1514,7 +1519,7 @@ interactions: Connection: - keep-alive Content-Length: - - '13953' + - '14899' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -1561,6 +1566,54 @@ interactions: body: string: data: + - id: date + type: dataset + attributes: + title: Date + description: '' + tags: + - Date + areRelationsValid: true + type: DATE + relationships: + attributes: + data: + - id: date.quarter + type: attribute + - id: date.minute + type: attribute + - id: date.hourOfDay + type: attribute + - id: date.minuteOfHour + type: attribute + - id: date.dayOfYear + type: attribute + - id: date.monthOfYear + type: attribute + - id: date.weekOfYear + type: attribute + - id: date.week + type: attribute + - id: date.year + type: attribute + - id: date.dayOfWeek + type: attribute + - id: date.hour + type: attribute + - id: date.dayOfMonth + type: attribute + - id: date.month + type: attribute + - id: date.quarterOfYear + type: attribute + - id: date.day + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date + meta: + origin: + originType: NATIVE + originId: demo - id: campaign_channels type: dataset attributes: @@ -1571,16 +1624,20 @@ interactions: grain: - id: campaign_channel_id type: attribute - order: 0 referenceProperties: - identifier: id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - campaign_id - sourceColumnDataTypes: null + sourceColumnDataTypes: + - INT dataSourceTableId: demo-test-ds:campaign_channels + dataSourceTablePath: + - demo + - campaign_channels areRelationsValid: true type: NORMAL relationships: @@ -1588,10 +1645,10 @@ interactions: data: - id: campaign_channel_id type: attribute - - id: type - type: attribute - id: campaign_channels.category type: attribute + - id: type + type: attribute facts: data: - id: budget @@ -1604,6 +1661,68 @@ interactions: origin: originType: NATIVE originId: demo + - id: campaigns + 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 + relationships: + attributes: + data: + - id: campaign_id + type: attribute + - id: campaign_name + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns + meta: + origin: + originType: NATIVE + originId: demo + - id: customers + 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 + relationships: + attributes: + data: + - id: customer_id + type: attribute + - id: state + type: attribute + - id: customer_name + type: attribute + - id: region + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers + meta: + origin: + originType: NATIVE + originId: demo - id: order_lines type: dataset attributes: @@ -1614,59 +1733,74 @@ interactions: grain: - id: order_line_id type: attribute - order: 0 referenceProperties: - identifier: - id: products + id: date type: dataset multivalue: false + sources: null sourceColumns: - - product_id - sourceColumnDataTypes: null + - date + sourceColumnDataTypes: + - DATE - identifier: id: customers type: dataset multivalue: false + sources: null sourceColumns: - customer_id - sourceColumnDataTypes: null + sourceColumnDataTypes: + - INT - identifier: - id: date + id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - - date - sourceColumnDataTypes: null + - campaign_id + sourceColumnDataTypes: + - INT - identifier: - id: campaigns + id: products type: dataset multivalue: false + sources: null sourceColumns: - - campaign_id - sourceColumnDataTypes: null + - product_id + sourceColumnDataTypes: + - INT dataSourceTableId: demo-test-ds:order_lines + dataSourceTablePath: + - demo + - order_lines areRelationsValid: true - workspaceDataFilterProperties: - - workspaceDataFilterIdentifier: - id: wdf__state - type: workspaceDataFilter - filterColumn: wdf__state - filterColumnDataType: STRING - - workspaceDataFilterIdentifier: + workspaceDataFilterColumns: + - name: wdf__state + dataType: STRING + - name: wdf__region + 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 relationships: attributes: data: - - id: order_status - type: attribute - id: order_id type: attribute - id: order_line_id type: attribute + - id: order_status + type: attribute facts: data: - id: price @@ -1689,18 +1823,20 @@ interactions: grain: - id: product_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:products + dataSourceTablePath: + - demo + - products areRelationsValid: true type: NORMAL relationships: attributes: data: - - id: product_name + - id: products.category type: attribute - id: product_id type: attribute - - id: products.category + - id: product_name type: attribute links: self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/products @@ -1708,112 +1844,6 @@ interactions: origin: originType: NATIVE originId: demo - - id: date - type: dataset - attributes: - title: Date - description: '' - tags: - - Date - areRelationsValid: true - type: DATE - relationships: - attributes: - data: - - id: date.quarterOfYear - type: attribute - - id: date.weekOfYear - type: attribute - - id: date.dayOfMonth - type: attribute - - id: date.monthOfYear - type: attribute - - id: date.minuteOfHour - type: attribute - - id: date.hour - type: attribute - - id: date.year - type: attribute - - id: date.week - type: attribute - - id: date.quarter - type: attribute - - id: date.dayOfYear - type: attribute - - id: date.dayOfWeek - type: attribute - - id: date.minute - type: attribute - - id: date.day - type: attribute - - id: date.month - type: attribute - - id: date.hourOfDay - type: attribute - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date - meta: - origin: - originType: NATIVE - originId: demo - - id: campaigns - type: dataset - attributes: - title: Campaigns - description: Campaigns - tags: - - Campaigns - grain: - - id: campaign_id - type: attribute - order: 0 - dataSourceTableId: demo-test-ds:campaigns - areRelationsValid: true - type: NORMAL - relationships: - attributes: - data: - - id: campaign_id - type: attribute - - id: campaign_name - type: attribute - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns - meta: - origin: - originType: NATIVE - originId: demo - - id: customers - type: dataset - attributes: - title: Customers - description: Customers - tags: - - Customers - grain: - - id: customer_id - type: attribute - order: 0 - dataSourceTableId: demo-test-ds:customers - areRelationsValid: true - type: NORMAL - relationships: - attributes: - data: - - id: region - type: attribute - - id: state - type: attribute - - id: customer_id - type: attribute - - id: customer_name - type: attribute - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers - meta: - origin: - originType: NATIVE - originId: demo included: - id: product_id type: attribute @@ -1823,6 +1853,7 @@ interactions: tags: - Products sourceColumn: product_id + sourceColumnDataType: INT links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id - id: budget @@ -1833,6 +1864,7 @@ interactions: tags: - Campaign channels sourceColumn: budget + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/budget - id: date.year @@ -1853,6 +1885,7 @@ interactions: tags: - Products sourceColumn: product_name + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name - id: date.month @@ -1873,6 +1906,7 @@ interactions: tags: - Products sourceColumn: category + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category - id: date.dayOfMonth @@ -1913,6 +1947,7 @@ interactions: tags: - Campaign channels sourceColumn: category + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category - id: date.minute @@ -1933,6 +1968,7 @@ interactions: tags: - Customers sourceColumn: state + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state - id: date.week @@ -1953,6 +1989,7 @@ interactions: tags: - Order lines sourceColumn: order_id + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id - id: date.hour @@ -1973,6 +2010,7 @@ interactions: tags: - Campaigns sourceColumn: campaign_name + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name - id: price @@ -1983,6 +2021,7 @@ interactions: tags: - Order lines sourceColumn: price + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/price - id: date.dayOfWeek @@ -2013,6 +2052,7 @@ interactions: tags: - Customers sourceColumn: region + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region - id: campaign_channel_id @@ -2023,6 +2063,7 @@ interactions: tags: - Campaign channels sourceColumn: campaign_channel_id + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id - id: customer_id @@ -2033,6 +2074,7 @@ interactions: tags: - Customers sourceColumn: customer_id + sourceColumnDataType: INT links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id - id: date.hourOfDay @@ -2053,6 +2095,7 @@ interactions: tags: - Order lines sourceColumn: quantity + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity - id: campaign_id @@ -2063,6 +2106,7 @@ interactions: tags: - Campaigns sourceColumn: campaign_id + sourceColumnDataType: INT links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id - id: type @@ -2073,6 +2117,7 @@ interactions: tags: - Campaign channels sourceColumn: type + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type - id: spend @@ -2083,6 +2128,7 @@ interactions: tags: - Campaign channels sourceColumn: spend + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/spend - id: date.dayOfYear @@ -2123,6 +2169,7 @@ interactions: tags: - Order lines sourceColumn: order_status + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status - id: date.monthOfYear @@ -2143,6 +2190,7 @@ interactions: tags: - Customers sourceColumn: customer_name + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name - id: order_line_id @@ -2153,11 +2201,12 @@ interactions: tags: - Order lines sourceColumn: order_line_id + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=0&size=500 - next: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=1&size=500 + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=1&size=500 - request: method: GET uri: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500 @@ -2185,7 +2234,7 @@ interactions: Connection: - keep-alive Content-Length: - - '9799' + - '10543' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -2237,6 +2286,7 @@ interactions: attributes: title: '# of Active Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0' maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) @@ -2251,6 +2301,7 @@ interactions: attributes: title: '# of Orders' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0' maql: SELECT COUNT({attribute/order_id}) @@ -2265,6 +2316,7 @@ interactions: attributes: title: '# of Top Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0' maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT @@ -2281,6 +2333,7 @@ interactions: title: '# of Valid Orders' description: '' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.00' maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} @@ -2296,6 +2349,7 @@ interactions: attributes: title: Campaign Spend areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT SUM({fact/spend}) @@ -2310,6 +2364,7 @@ interactions: attributes: title: Order Amount areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT SUM({fact/price}*{fact/quantity}) @@ -2324,6 +2379,7 @@ interactions: attributes: title: '% Revenue' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / {metric/total_revenue} @@ -2338,6 +2394,7 @@ interactions: attributes: title: '% Revenue from Top 10 Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ @@ -2353,6 +2410,7 @@ interactions: attributes: title: '% Revenue from Top 10% Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ @@ -2368,6 +2426,7 @@ interactions: attributes: title: '% Revenue from Top 10% Products' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ @@ -2383,6 +2442,7 @@ interactions: attributes: title: '% Revenue from Top 10 Products' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ @@ -2398,6 +2458,7 @@ interactions: attributes: title: '% Revenue in Category' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, @@ -2413,6 +2474,7 @@ interactions: attributes: title: '% Revenue per Product' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL @@ -2429,6 +2491,7 @@ interactions: title: Revenue description: '' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} @@ -2444,6 +2507,7 @@ interactions: attributes: title: Revenue (Clothing) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2459,6 +2523,7 @@ interactions: attributes: title: Revenue (Electronic) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2474,6 +2539,7 @@ interactions: attributes: title: Revenue (Home) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2489,6 +2555,7 @@ interactions: attributes: title: Revenue (Outdoor) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2504,6 +2571,7 @@ interactions: attributes: title: Revenue per Customer areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0.0 maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) @@ -2518,6 +2586,7 @@ interactions: attributes: title: Revenue per Dollar Spent areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0.0 maql: SELECT {metric/revenue} / {metric/campaign_spend} @@ -2532,6 +2601,7 @@ interactions: attributes: title: Revenue / Top 10 areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) @@ -2546,6 +2616,7 @@ interactions: attributes: title: Revenue / Top 10% areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) @@ -2560,6 +2631,7 @@ interactions: attributes: title: Total Revenue areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} BY ALL OTHER @@ -2574,6 +2646,7 @@ interactions: attributes: title: Total Revenue (No Filters) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER @@ -2588,7 +2661,7 @@ interactions: next: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=1&size=500 - request: method: GET - uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/cbaf263195bd7766958407b59cf8ff31b96b531a?offset=0%2C0&limit=2%2C1000 + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/d5b149e6d4b09e426fccf980529833e5639b60df?offset=0%2C0&limit=2%2C1000 body: null headers: Accept: diff --git a/gooddata-pandas/tests/dataframe/fixtures/multi_index_filtered_metrics_and_label.yaml b/gooddata-pandas/tests/dataframe/fixtures/multi_index_filtered_metrics_and_label.yaml index a12141f1e..d784b0b0d 100644 --- a/gooddata-pandas/tests/dataframe/fixtures/multi_index_filtered_metrics_and_label.yaml +++ b/gooddata-pandas/tests/dataframe/fixtures/multi_index_filtered_metrics_and_label.yaml @@ -195,7 +195,7 @@ interactions: type: label localIdentifier: dim_1 links: - executionResult: b5856bb916e4511492151d630dbfeefdb7847072 + executionResult: f3f7103af65eeb14d8abbdb41374e8fc8956f43d - request: method: GET uri: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&page=0&size=500 @@ -223,7 +223,7 @@ interactions: Connection: - keep-alive Content-Length: - - '27018' + - '27121' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -270,743 +270,743 @@ interactions: body: string: data: - - id: campaign_channels.category + - id: date.minute type: attribute attributes: - title: Category - description: Category + title: Date - Minute + description: Minute tags: - - Campaign channels + - Date + granularity: MINUTE areRelationsValid: true - sourceColumn: category - sourceColumnDataType: STRING relationships: dataset: data: - id: campaign_channels + id: date type: dataset labels: data: - - id: campaign_channels.category + - id: date.minute type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute meta: origin: originType: NATIVE originId: demo - - id: campaign_channel_id + - id: date.hour type: attribute attributes: - title: Campaign channel id - description: Campaign channel id + title: Date - Hour + description: Hour tags: - - Campaign channels + - Date + granularity: HOUR areRelationsValid: true - sourceColumn: campaign_channel_id - sourceColumnDataType: STRING relationships: dataset: data: - id: campaign_channels + id: date type: dataset labels: data: - - id: campaign_channel_id + - id: date.hour type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour meta: origin: originType: NATIVE originId: demo - - id: type + - id: date.day type: attribute attributes: - title: Type - description: Type + title: Date - Date + description: Date tags: - - Campaign channels + - Date + granularity: DAY areRelationsValid: true - sourceColumn: type - sourceColumnDataType: STRING relationships: dataset: data: - id: campaign_channels + id: date type: dataset labels: data: - - id: type + - id: date.day type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day meta: origin: originType: NATIVE originId: demo - - id: campaign_name + - id: date.week type: attribute attributes: - title: Campaign name - description: Campaign name + title: Date - Week/Year + description: Week and Year (W52/2020) tags: - - Campaigns + - Date + granularity: WEEK areRelationsValid: true - sourceColumn: campaign_name - sourceColumnDataType: STRING relationships: dataset: data: - id: campaigns + id: date type: dataset labels: data: - - id: campaign_name + - id: date.week type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week meta: origin: originType: NATIVE originId: demo - - id: campaign_id + - id: date.month type: attribute attributes: - title: Campaign id - description: Campaign id + title: Date - Month/Year + description: Month and Year (12/2020) tags: - - Campaigns + - Date + granularity: MONTH areRelationsValid: true - sourceColumn: campaign_id - sourceColumnDataType: INT relationships: dataset: data: - id: campaigns + id: date type: dataset labels: data: - - id: campaign_id + - id: date.month type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month meta: origin: originType: NATIVE originId: demo - - id: state + - id: date.quarter type: attribute attributes: - title: State - description: State + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) tags: - - Customers + - Date + granularity: QUARTER areRelationsValid: true - sourceColumn: state - sourceColumnDataType: STRING relationships: - defaultView: - data: - id: state - type: label dataset: data: - id: customers + id: date type: dataset labels: data: - - id: state - type: label - - id: geo__state__location + - id: date.quarter type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter meta: origin: originType: NATIVE originId: demo - - id: region + - id: date.year type: attribute attributes: - title: Region - description: Region + title: Date - Year + description: Year tags: - - Customers + - Date + granularity: YEAR areRelationsValid: true - sourceColumn: region - sourceColumnDataType: STRING relationships: dataset: data: - id: customers + id: date type: dataset labels: data: - - id: region + - id: date.year type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year meta: origin: originType: NATIVE originId: demo - - id: customer_name + - id: date.minuteOfHour type: attribute attributes: - title: Customer name - description: Customer name + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) tags: - - Customers + - Date + granularity: MINUTE_OF_HOUR areRelationsValid: true - sourceColumn: customer_name - sourceColumnDataType: STRING relationships: dataset: data: - id: customers + id: date type: dataset labels: data: - - id: customer_name + - id: date.minuteOfHour type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour meta: origin: originType: NATIVE originId: demo - - id: customer_id + - id: date.hourOfDay type: attribute attributes: - title: Customer id - description: Customer id + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) tags: - - Customers + - Date + granularity: HOUR_OF_DAY areRelationsValid: true - sourceColumn: customer_id - sourceColumnDataType: INT relationships: dataset: data: - id: customers + id: date type: dataset labels: data: - - id: customer_id + - id: date.hourOfDay type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay meta: origin: originType: NATIVE originId: demo - - id: order_status + - id: date.dayOfWeek type: attribute attributes: - title: Order status - description: Order status + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) tags: - - Order lines + - Date + granularity: DAY_OF_WEEK areRelationsValid: true - sourceColumn: order_status - sourceColumnDataType: STRING relationships: dataset: data: - id: order_lines + id: date type: dataset labels: data: - - id: order_status + - id: date.dayOfWeek type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek meta: origin: originType: NATIVE originId: demo - - id: order_line_id + - id: date.dayOfMonth type: attribute attributes: - title: Order line id - description: Order line id + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) tags: - - Order lines + - Date + granularity: DAY_OF_MONTH areRelationsValid: true - sourceColumn: order_line_id - sourceColumnDataType: STRING relationships: dataset: data: - id: order_lines + id: date type: dataset labels: data: - - id: order_line_id + - id: date.dayOfMonth type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth meta: origin: originType: NATIVE originId: demo - - id: order_id + - id: date.dayOfYear type: attribute attributes: - title: Order id - description: Order id + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) tags: - - Order lines + - Date + granularity: DAY_OF_YEAR areRelationsValid: true - sourceColumn: order_id - sourceColumnDataType: STRING relationships: dataset: data: - id: order_lines + id: date type: dataset labels: data: - - id: order_id + - id: date.dayOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear meta: origin: originType: NATIVE originId: demo - - id: product_name + - id: date.weekOfYear type: attribute attributes: - title: Product name - description: Product name + title: Date - Week of Year + description: Generic Week (W1-W53) tags: - - Products + - Date + granularity: WEEK_OF_YEAR areRelationsValid: true - sourceColumn: product_name - sourceColumnDataType: STRING relationships: dataset: data: - id: products + id: date type: dataset labels: data: - - id: product_name + - id: date.weekOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear meta: origin: originType: NATIVE originId: demo - - id: product_id + - id: date.monthOfYear type: attribute attributes: - title: Product id - description: Product id + title: Date - Month of Year + description: Generic Month (M1-M12) tags: - - Products + - Date + granularity: MONTH_OF_YEAR areRelationsValid: true - sourceColumn: product_id - sourceColumnDataType: INT relationships: dataset: data: - id: products + id: date type: dataset labels: data: - - id: product_id + - id: date.monthOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear meta: origin: originType: NATIVE originId: demo - - id: products.category + - id: date.quarterOfYear type: attribute attributes: - title: Category - description: Category + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) tags: - - Products + - Date + granularity: QUARTER_OF_YEAR areRelationsValid: true - sourceColumn: category - sourceColumnDataType: STRING relationships: dataset: data: - id: products + id: date type: dataset labels: data: - - id: products.category + - id: date.quarterOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear meta: origin: originType: NATIVE originId: demo - - id: date.quarterOfYear + - id: campaign_channel_id type: attribute attributes: - title: Date - Quarter of Year - description: Generic Quarter (Q1-Q4) + title: Campaign channel id + description: Campaign channel id tags: - - Date - granularity: QUARTER_OF_YEAR + - Campaign channels areRelationsValid: true + sourceColumn: campaign_channel_id + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaign_channels type: dataset labels: data: - - id: date.quarterOfYear + - id: campaign_channel_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id meta: origin: originType: NATIVE originId: demo - - id: date.monthOfYear + - id: campaign_channels.category type: attribute attributes: - title: Date - Month of Year - description: Generic Month (M1-M12) + title: Category + description: Category tags: - - Date - granularity: MONTH_OF_YEAR + - Campaign channels areRelationsValid: true + sourceColumn: category + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaign_channels type: dataset labels: data: - - id: date.monthOfYear + - id: campaign_channels.category type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category meta: origin: originType: NATIVE originId: demo - - id: date.weekOfYear + - id: type type: attribute - attributes: - title: Date - Week of Year - description: Generic Week (W1-W53) + attributes: + title: Type + description: Type tags: - - Date - granularity: WEEK_OF_YEAR + - Campaign channels areRelationsValid: true + sourceColumn: type + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaign_channels type: dataset labels: data: - - id: date.weekOfYear + - id: type type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type meta: origin: originType: NATIVE originId: demo - - id: date.dayOfYear + - id: campaign_id type: attribute attributes: - title: Date - Day of Year - description: Generic Day of the Year (D1-D366) + title: Campaign id + description: Campaign id tags: - - Date - granularity: DAY_OF_YEAR + - Campaigns areRelationsValid: true + sourceColumn: campaign_id + sourceColumnDataType: INT relationships: dataset: data: - id: date + id: campaigns type: dataset labels: data: - - id: date.dayOfYear + - id: campaign_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id meta: origin: originType: NATIVE originId: demo - - id: date.dayOfMonth + - id: campaign_name type: attribute attributes: - title: Date - Day of Month - description: Generic Day of the Month (D1-D31) + title: Campaign name + description: Campaign name tags: - - Date - granularity: DAY_OF_MONTH + - Campaigns areRelationsValid: true + sourceColumn: campaign_name + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaigns type: dataset labels: data: - - id: date.dayOfMonth + - id: campaign_name type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name meta: origin: originType: NATIVE originId: demo - - id: date.dayOfWeek + - id: customer_id type: attribute attributes: - title: Date - Day of Week - description: Generic Day of the Week (D1-D7) + title: Customer id + description: Customer id tags: - - Date - granularity: DAY_OF_WEEK + - Customers areRelationsValid: true + sourceColumn: customer_id + sourceColumnDataType: INT relationships: dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.dayOfWeek + - id: customer_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id meta: origin: originType: NATIVE originId: demo - - id: date.hourOfDay + - id: customer_name type: attribute attributes: - title: Date - Hour of Day - description: Generic Hour of the Day(H1-H24) + title: Customer name + description: Customer name tags: - - Date - granularity: HOUR_OF_DAY + - Customers areRelationsValid: true + sourceColumn: customer_name + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.hourOfDay + - id: customer_name type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name meta: origin: originType: NATIVE originId: demo - - id: date.minuteOfHour + - id: region type: attribute attributes: - title: Date - Minute of Hour - description: Generic Minute of the Hour(MI1-MI60) + title: Region + description: Region tags: - - Date - granularity: MINUTE_OF_HOUR + - Customers areRelationsValid: true + sourceColumn: region + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.minuteOfHour + - id: region type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region meta: origin: originType: NATIVE originId: demo - - id: date.year + - id: state type: attribute attributes: - title: Date - Year - description: Year + title: State + description: State tags: - - Date - granularity: YEAR + - Customers areRelationsValid: true + sourceColumn: state + sourceColumnDataType: STRING relationships: + defaultView: + data: + id: state + type: label dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.year + - id: geo__state__location + type: label + - id: state type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state meta: origin: originType: NATIVE originId: demo - - id: date.quarter + - id: order_id type: attribute attributes: - title: Date - Quarter/Year - description: Quarter and Year (Q1/2020) + title: Order id + description: Order id tags: - - Date - granularity: QUARTER + - Order lines areRelationsValid: true + sourceColumn: order_id + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: order_lines type: dataset labels: data: - - id: date.quarter + - id: order_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id meta: origin: originType: NATIVE originId: demo - - id: date.month + - id: order_line_id type: attribute attributes: - title: Date - Month/Year - description: Month and Year (12/2020) + title: Order line id + description: Order line id tags: - - Date - granularity: MONTH + - Order lines areRelationsValid: true + sourceColumn: order_line_id + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: order_lines type: dataset labels: data: - - id: date.month + - id: order_line_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id meta: origin: originType: NATIVE originId: demo - - id: date.week + - id: order_status type: attribute attributes: - title: Date - Week/Year - description: Week and Year (W52/2020) + title: Order status + description: Order status tags: - - Date - granularity: WEEK + - Order lines areRelationsValid: true + sourceColumn: order_status + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: order_lines type: dataset labels: data: - - id: date.week + - id: order_status type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status meta: origin: originType: NATIVE originId: demo - - id: date.day + - id: product_id type: attribute attributes: - title: Date - Date - description: Date + title: Product id + description: Product id tags: - - Date - granularity: DAY + - Products areRelationsValid: true + sourceColumn: product_id + sourceColumnDataType: INT relationships: dataset: data: - id: date + id: products type: dataset labels: data: - - id: date.day + - id: product_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id meta: origin: originType: NATIVE originId: demo - - id: date.hour + - id: product_name type: attribute attributes: - title: Date - Hour - description: Hour + title: Product name + description: Product name tags: - - Date - granularity: HOUR + - Products areRelationsValid: true + sourceColumn: product_name + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: products type: dataset labels: data: - - id: date.hour + - id: product_name type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name meta: origin: originType: NATIVE originId: demo - - id: date.minute + - id: products.category type: attribute attributes: - title: Date - Minute - description: Minute + title: Category + description: Category tags: - - Date - granularity: MINUTE + - Products areRelationsValid: true + sourceColumn: category + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: products type: dataset labels: data: - - id: date.minute + - id: products.category type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category meta: origin: originType: NATIVE @@ -1070,51 +1070,59 @@ interactions: grain: - id: order_line_id type: attribute - order: 0 referenceProperties: - identifier: - id: products + id: date type: dataset multivalue: false + sources: null sourceColumns: - - product_id + - date sourceColumnDataTypes: - - INT + - DATE - identifier: id: customers type: dataset multivalue: false + sources: null sourceColumns: - customer_id sourceColumnDataTypes: - INT - identifier: - id: date + id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - - date + - campaign_id sourceColumnDataTypes: - - DATE + - INT - identifier: - id: campaigns + id: products type: dataset multivalue: false + sources: null sourceColumns: - - campaign_id + - product_id sourceColumnDataTypes: - INT dataSourceTableId: demo-test-ds:order_lines dataSourceTablePath: - demo - order_lines - workspaceDataFilterProperties: - - workspaceDataFilterIdentifier: + workspaceDataFilterColumns: + - name: wdf__state + dataType: STRING + - name: wdf__region + dataType: STRING + workspaceDataFilterReferences: + - filterId: id: wdf__state type: workspaceDataFilter filterColumn: wdf__state filterColumnDataType: STRING - - workspaceDataFilterIdentifier: + - filterId: id: wdf__region type: workspaceDataFilter filterColumn: wdf__region @@ -1156,12 +1164,12 @@ interactions: grain: - id: campaign_channel_id type: attribute - order: 0 referenceProperties: - identifier: id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - campaign_id sourceColumnDataTypes: @@ -1251,7 +1259,6 @@ interactions: grain: - id: campaign_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:campaigns dataSourceTablePath: - demo @@ -1308,7 +1315,6 @@ interactions: grain: - id: customer_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:customers dataSourceTablePath: - demo @@ -1434,7 +1440,6 @@ interactions: grain: - id: product_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:products dataSourceTablePath: - demo @@ -1538,8 +1543,8 @@ interactions: links: self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_id links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels,datasets&page=0&size=500 - next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels,datasets&page=1&size=500 + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&page=1&size=500 - request: method: GET uri: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500 @@ -1567,7 +1572,7 @@ interactions: Connection: - keep-alive Content-Length: - - '13953' + - '14899' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -1614,6 +1619,54 @@ interactions: body: string: data: + - id: date + type: dataset + attributes: + title: Date + description: '' + tags: + - Date + areRelationsValid: true + type: DATE + relationships: + attributes: + data: + - id: date.quarter + type: attribute + - id: date.minute + type: attribute + - id: date.hourOfDay + type: attribute + - id: date.minuteOfHour + type: attribute + - id: date.dayOfYear + type: attribute + - id: date.monthOfYear + type: attribute + - id: date.weekOfYear + type: attribute + - id: date.week + type: attribute + - id: date.year + type: attribute + - id: date.dayOfWeek + type: attribute + - id: date.hour + type: attribute + - id: date.dayOfMonth + type: attribute + - id: date.month + type: attribute + - id: date.quarterOfYear + type: attribute + - id: date.day + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date + meta: + origin: + originType: NATIVE + originId: demo - id: campaign_channels type: dataset attributes: @@ -1624,16 +1677,20 @@ interactions: grain: - id: campaign_channel_id type: attribute - order: 0 referenceProperties: - identifier: id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - campaign_id - sourceColumnDataTypes: null + sourceColumnDataTypes: + - INT dataSourceTableId: demo-test-ds:campaign_channels + dataSourceTablePath: + - demo + - campaign_channels areRelationsValid: true type: NORMAL relationships: @@ -1641,10 +1698,10 @@ interactions: data: - id: campaign_channel_id type: attribute - - id: type - type: attribute - id: campaign_channels.category type: attribute + - id: type + type: attribute facts: data: - id: budget @@ -1657,6 +1714,68 @@ interactions: origin: originType: NATIVE originId: demo + - id: campaigns + 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 + relationships: + attributes: + data: + - id: campaign_id + type: attribute + - id: campaign_name + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns + meta: + origin: + originType: NATIVE + originId: demo + - id: customers + 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 + relationships: + attributes: + data: + - id: customer_id + type: attribute + - id: state + type: attribute + - id: customer_name + type: attribute + - id: region + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers + meta: + origin: + originType: NATIVE + originId: demo - id: order_lines type: dataset attributes: @@ -1667,45 +1786,60 @@ interactions: grain: - id: order_line_id type: attribute - order: 0 referenceProperties: - identifier: - id: products + id: date type: dataset multivalue: false + sources: null sourceColumns: - - product_id - sourceColumnDataTypes: null + - date + sourceColumnDataTypes: + - DATE - identifier: id: customers type: dataset multivalue: false + sources: null sourceColumns: - customer_id - sourceColumnDataTypes: null + sourceColumnDataTypes: + - INT - identifier: - id: date + id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - - date - sourceColumnDataTypes: null + - campaign_id + sourceColumnDataTypes: + - INT - identifier: - id: campaigns + id: products type: dataset multivalue: false + sources: null sourceColumns: - - campaign_id - sourceColumnDataTypes: null + - product_id + sourceColumnDataTypes: + - INT dataSourceTableId: demo-test-ds:order_lines + dataSourceTablePath: + - demo + - order_lines areRelationsValid: true - workspaceDataFilterProperties: - - workspaceDataFilterIdentifier: + workspaceDataFilterColumns: + - name: wdf__state + dataType: STRING + - name: wdf__region + dataType: STRING + workspaceDataFilterReferences: + - filterId: id: wdf__state type: workspaceDataFilter filterColumn: wdf__state filterColumnDataType: STRING - - workspaceDataFilterIdentifier: + - filterId: id: wdf__region type: workspaceDataFilter filterColumn: wdf__region @@ -1714,12 +1848,12 @@ interactions: relationships: attributes: data: - - id: order_status - type: attribute - id: order_id type: attribute - id: order_line_id type: attribute + - id: order_status + type: attribute facts: data: - id: price @@ -1742,18 +1876,20 @@ interactions: grain: - id: product_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:products + dataSourceTablePath: + - demo + - products areRelationsValid: true type: NORMAL relationships: attributes: data: - - id: product_name + - id: products.category type: attribute - id: product_id type: attribute - - id: products.category + - id: product_name type: attribute links: self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/products @@ -1761,112 +1897,6 @@ interactions: origin: originType: NATIVE originId: demo - - id: date - type: dataset - attributes: - title: Date - description: '' - tags: - - Date - areRelationsValid: true - type: DATE - relationships: - attributes: - data: - - id: date.quarterOfYear - type: attribute - - id: date.weekOfYear - type: attribute - - id: date.dayOfMonth - type: attribute - - id: date.monthOfYear - type: attribute - - id: date.minuteOfHour - type: attribute - - id: date.hour - type: attribute - - id: date.year - type: attribute - - id: date.week - type: attribute - - id: date.quarter - type: attribute - - id: date.dayOfYear - type: attribute - - id: date.dayOfWeek - type: attribute - - id: date.minute - type: attribute - - id: date.day - type: attribute - - id: date.month - type: attribute - - id: date.hourOfDay - type: attribute - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date - meta: - origin: - originType: NATIVE - originId: demo - - id: campaigns - type: dataset - attributes: - title: Campaigns - description: Campaigns - tags: - - Campaigns - grain: - - id: campaign_id - type: attribute - order: 0 - dataSourceTableId: demo-test-ds:campaigns - areRelationsValid: true - type: NORMAL - relationships: - attributes: - data: - - id: campaign_id - type: attribute - - id: campaign_name - type: attribute - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns - meta: - origin: - originType: NATIVE - originId: demo - - id: customers - type: dataset - attributes: - title: Customers - description: Customers - tags: - - Customers - grain: - - id: customer_id - type: attribute - order: 0 - dataSourceTableId: demo-test-ds:customers - areRelationsValid: true - type: NORMAL - relationships: - attributes: - data: - - id: region - type: attribute - - id: state - type: attribute - - id: customer_id - type: attribute - - id: customer_name - type: attribute - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers - meta: - origin: - originType: NATIVE - originId: demo included: - id: product_id type: attribute @@ -1876,6 +1906,7 @@ interactions: tags: - Products sourceColumn: product_id + sourceColumnDataType: INT links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id - id: budget @@ -1886,6 +1917,7 @@ interactions: tags: - Campaign channels sourceColumn: budget + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/budget - id: date.year @@ -1906,6 +1938,7 @@ interactions: tags: - Products sourceColumn: product_name + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name - id: date.month @@ -1926,6 +1959,7 @@ interactions: tags: - Products sourceColumn: category + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category - id: date.dayOfMonth @@ -1966,6 +2000,7 @@ interactions: tags: - Campaign channels sourceColumn: category + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category - id: date.minute @@ -1986,6 +2021,7 @@ interactions: tags: - Customers sourceColumn: state + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state - id: date.week @@ -2006,6 +2042,7 @@ interactions: tags: - Order lines sourceColumn: order_id + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id - id: date.hour @@ -2026,6 +2063,7 @@ interactions: tags: - Campaigns sourceColumn: campaign_name + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name - id: price @@ -2036,6 +2074,7 @@ interactions: tags: - Order lines sourceColumn: price + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/price - id: date.dayOfWeek @@ -2066,6 +2105,7 @@ interactions: tags: - Customers sourceColumn: region + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region - id: campaign_channel_id @@ -2076,6 +2116,7 @@ interactions: tags: - Campaign channels sourceColumn: campaign_channel_id + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id - id: customer_id @@ -2086,6 +2127,7 @@ interactions: tags: - Customers sourceColumn: customer_id + sourceColumnDataType: INT links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id - id: date.hourOfDay @@ -2106,6 +2148,7 @@ interactions: tags: - Order lines sourceColumn: quantity + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity - id: campaign_id @@ -2116,6 +2159,7 @@ interactions: tags: - Campaigns sourceColumn: campaign_id + sourceColumnDataType: INT links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id - id: type @@ -2126,6 +2170,7 @@ interactions: tags: - Campaign channels sourceColumn: type + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type - id: spend @@ -2136,6 +2181,7 @@ interactions: tags: - Campaign channels sourceColumn: spend + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/spend - id: date.dayOfYear @@ -2176,6 +2222,7 @@ interactions: tags: - Order lines sourceColumn: order_status + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status - id: date.monthOfYear @@ -2196,6 +2243,7 @@ interactions: tags: - Customers sourceColumn: customer_name + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name - id: order_line_id @@ -2206,11 +2254,12 @@ interactions: tags: - Order lines sourceColumn: order_line_id + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=0&size=500 - next: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=1&size=500 + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=1&size=500 - request: method: GET uri: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500 @@ -2238,7 +2287,7 @@ interactions: Connection: - keep-alive Content-Length: - - '9799' + - '10543' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -2290,6 +2339,7 @@ interactions: attributes: title: '# of Active Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0' maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) @@ -2304,6 +2354,7 @@ interactions: attributes: title: '# of Orders' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0' maql: SELECT COUNT({attribute/order_id}) @@ -2318,6 +2369,7 @@ interactions: attributes: title: '# of Top Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0' maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT @@ -2334,6 +2386,7 @@ interactions: title: '# of Valid Orders' description: '' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.00' maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} @@ -2349,6 +2402,7 @@ interactions: attributes: title: Campaign Spend areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT SUM({fact/spend}) @@ -2363,6 +2417,7 @@ interactions: attributes: title: Order Amount areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT SUM({fact/price}*{fact/quantity}) @@ -2377,6 +2432,7 @@ interactions: attributes: title: '% Revenue' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / {metric/total_revenue} @@ -2391,6 +2447,7 @@ interactions: attributes: title: '% Revenue from Top 10 Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ @@ -2406,6 +2463,7 @@ interactions: attributes: title: '% Revenue from Top 10% Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ @@ -2421,6 +2479,7 @@ interactions: attributes: title: '% Revenue from Top 10% Products' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ @@ -2436,6 +2495,7 @@ interactions: attributes: title: '% Revenue from Top 10 Products' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ @@ -2451,6 +2511,7 @@ interactions: attributes: title: '% Revenue in Category' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, @@ -2466,6 +2527,7 @@ interactions: attributes: title: '% Revenue per Product' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL @@ -2482,6 +2544,7 @@ interactions: title: Revenue description: '' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} @@ -2497,6 +2560,7 @@ interactions: attributes: title: Revenue (Clothing) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2512,6 +2576,7 @@ interactions: attributes: title: Revenue (Electronic) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2527,6 +2592,7 @@ interactions: attributes: title: Revenue (Home) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2542,6 +2608,7 @@ interactions: attributes: title: Revenue (Outdoor) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2557,6 +2624,7 @@ interactions: attributes: title: Revenue per Customer areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0.0 maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) @@ -2571,6 +2639,7 @@ interactions: attributes: title: Revenue per Dollar Spent areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0.0 maql: SELECT {metric/revenue} / {metric/campaign_spend} @@ -2585,6 +2654,7 @@ interactions: attributes: title: Revenue / Top 10 areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) @@ -2599,6 +2669,7 @@ interactions: attributes: title: Revenue / Top 10% areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) @@ -2613,6 +2684,7 @@ interactions: attributes: title: Total Revenue areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} BY ALL OTHER @@ -2627,6 +2699,7 @@ interactions: attributes: title: Total Revenue (No Filters) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER @@ -2641,7 +2714,7 @@ interactions: next: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=1&size=500 - request: method: GET - uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/b5856bb916e4511492151d630dbfeefdb7847072?offset=0%2C0&limit=2%2C1000 + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/f3f7103af65eeb14d8abbdb41374e8fc8956f43d?offset=0%2C0&limit=2%2C1000 body: null headers: Accept: @@ -2711,16 +2784,16 @@ interactions: X-XSS-Protection: - 1 ; mode=block content-length: - - '1011' + - '1005' body: string: data: - - 6162.98 - 6433.78 - 3995.11 - - - 121.0 - - 58.0 - - 51.0 + - - 121 + - 58 + - 51 dimensionHeaders: - headerGroups: - headers: diff --git a/gooddata-pandas/tests/dataframe/fixtures/multi_index_filtered_metrics_and_label_reuse.yaml b/gooddata-pandas/tests/dataframe/fixtures/multi_index_filtered_metrics_and_label_reuse.yaml index aadb02623..e83640522 100644 --- a/gooddata-pandas/tests/dataframe/fixtures/multi_index_filtered_metrics_and_label_reuse.yaml +++ b/gooddata-pandas/tests/dataframe/fixtures/multi_index_filtered_metrics_and_label_reuse.yaml @@ -170,7 +170,7 @@ interactions: type: label localIdentifier: dim_1 links: - executionResult: 97c76363b6b074e695ed4a21258f2d0fca71c96a + executionResult: f5c978d5488563a4e4bf2336eedab543b7e9b633 - request: method: GET uri: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&page=0&size=500 @@ -198,7 +198,7 @@ interactions: Connection: - keep-alive Content-Length: - - '27018' + - '27121' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -245,743 +245,743 @@ interactions: body: string: data: - - id: campaign_channels.category + - id: date.minute type: attribute attributes: - title: Category - description: Category + title: Date - Minute + description: Minute tags: - - Campaign channels + - Date + granularity: MINUTE areRelationsValid: true - sourceColumn: category - sourceColumnDataType: STRING relationships: dataset: data: - id: campaign_channels + id: date type: dataset labels: data: - - id: campaign_channels.category + - id: date.minute type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute meta: origin: originType: NATIVE originId: demo - - id: campaign_channel_id + - id: date.hour type: attribute attributes: - title: Campaign channel id - description: Campaign channel id + title: Date - Hour + description: Hour tags: - - Campaign channels + - Date + granularity: HOUR areRelationsValid: true - sourceColumn: campaign_channel_id - sourceColumnDataType: STRING relationships: dataset: data: - id: campaign_channels + id: date type: dataset labels: data: - - id: campaign_channel_id + - id: date.hour type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour meta: origin: originType: NATIVE originId: demo - - id: type + - id: date.day type: attribute attributes: - title: Type - description: Type + title: Date - Date + description: Date tags: - - Campaign channels + - Date + granularity: DAY areRelationsValid: true - sourceColumn: type - sourceColumnDataType: STRING relationships: dataset: data: - id: campaign_channels + id: date type: dataset labels: data: - - id: type + - id: date.day type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day meta: origin: originType: NATIVE originId: demo - - id: campaign_name + - id: date.week type: attribute attributes: - title: Campaign name - description: Campaign name + title: Date - Week/Year + description: Week and Year (W52/2020) tags: - - Campaigns + - Date + granularity: WEEK areRelationsValid: true - sourceColumn: campaign_name - sourceColumnDataType: STRING relationships: dataset: data: - id: campaigns + id: date type: dataset labels: data: - - id: campaign_name + - id: date.week type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week meta: origin: originType: NATIVE originId: demo - - id: campaign_id + - id: date.month type: attribute attributes: - title: Campaign id - description: Campaign id + title: Date - Month/Year + description: Month and Year (12/2020) tags: - - Campaigns + - Date + granularity: MONTH areRelationsValid: true - sourceColumn: campaign_id - sourceColumnDataType: INT relationships: dataset: data: - id: campaigns + id: date type: dataset labels: data: - - id: campaign_id + - id: date.month type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month meta: origin: originType: NATIVE originId: demo - - id: state + - id: date.quarter type: attribute attributes: - title: State - description: State + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) tags: - - Customers + - Date + granularity: QUARTER areRelationsValid: true - sourceColumn: state - sourceColumnDataType: STRING relationships: - defaultView: - data: - id: state - type: label dataset: data: - id: customers + id: date type: dataset labels: data: - - id: state - type: label - - id: geo__state__location + - id: date.quarter type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter meta: origin: originType: NATIVE originId: demo - - id: region + - id: date.year type: attribute attributes: - title: Region - description: Region + title: Date - Year + description: Year tags: - - Customers + - Date + granularity: YEAR areRelationsValid: true - sourceColumn: region - sourceColumnDataType: STRING relationships: dataset: data: - id: customers + id: date type: dataset labels: data: - - id: region + - id: date.year type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year meta: origin: originType: NATIVE originId: demo - - id: customer_name + - id: date.minuteOfHour type: attribute attributes: - title: Customer name - description: Customer name + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) tags: - - Customers + - Date + granularity: MINUTE_OF_HOUR areRelationsValid: true - sourceColumn: customer_name - sourceColumnDataType: STRING relationships: dataset: data: - id: customers + id: date type: dataset labels: data: - - id: customer_name + - id: date.minuteOfHour type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour meta: origin: originType: NATIVE originId: demo - - id: customer_id + - id: date.hourOfDay type: attribute attributes: - title: Customer id - description: Customer id + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) tags: - - Customers + - Date + granularity: HOUR_OF_DAY areRelationsValid: true - sourceColumn: customer_id - sourceColumnDataType: INT relationships: dataset: data: - id: customers + id: date type: dataset labels: data: - - id: customer_id + - id: date.hourOfDay type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay meta: origin: originType: NATIVE originId: demo - - id: order_status + - id: date.dayOfWeek type: attribute attributes: - title: Order status - description: Order status + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) tags: - - Order lines + - Date + granularity: DAY_OF_WEEK areRelationsValid: true - sourceColumn: order_status - sourceColumnDataType: STRING relationships: dataset: data: - id: order_lines + id: date type: dataset labels: data: - - id: order_status + - id: date.dayOfWeek type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek meta: origin: originType: NATIVE originId: demo - - id: order_line_id + - id: date.dayOfMonth type: attribute attributes: - title: Order line id - description: Order line id + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) tags: - - Order lines + - Date + granularity: DAY_OF_MONTH areRelationsValid: true - sourceColumn: order_line_id - sourceColumnDataType: STRING relationships: dataset: data: - id: order_lines + id: date type: dataset labels: data: - - id: order_line_id + - id: date.dayOfMonth type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth meta: origin: originType: NATIVE originId: demo - - id: order_id + - id: date.dayOfYear type: attribute attributes: - title: Order id - description: Order id + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) tags: - - Order lines + - Date + granularity: DAY_OF_YEAR areRelationsValid: true - sourceColumn: order_id - sourceColumnDataType: STRING relationships: dataset: data: - id: order_lines + id: date type: dataset labels: data: - - id: order_id + - id: date.dayOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear meta: origin: originType: NATIVE originId: demo - - id: product_name + - id: date.weekOfYear type: attribute attributes: - title: Product name - description: Product name + title: Date - Week of Year + description: Generic Week (W1-W53) tags: - - Products + - Date + granularity: WEEK_OF_YEAR areRelationsValid: true - sourceColumn: product_name - sourceColumnDataType: STRING relationships: dataset: data: - id: products + id: date type: dataset labels: data: - - id: product_name + - id: date.weekOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear meta: origin: originType: NATIVE originId: demo - - id: product_id + - id: date.monthOfYear type: attribute attributes: - title: Product id - description: Product id + title: Date - Month of Year + description: Generic Month (M1-M12) tags: - - Products + - Date + granularity: MONTH_OF_YEAR areRelationsValid: true - sourceColumn: product_id - sourceColumnDataType: INT relationships: dataset: data: - id: products + id: date type: dataset labels: data: - - id: product_id + - id: date.monthOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear meta: origin: originType: NATIVE originId: demo - - id: products.category + - id: date.quarterOfYear type: attribute attributes: - title: Category - description: Category + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) tags: - - Products + - Date + granularity: QUARTER_OF_YEAR areRelationsValid: true - sourceColumn: category - sourceColumnDataType: STRING relationships: dataset: data: - id: products + id: date type: dataset labels: data: - - id: products.category + - id: date.quarterOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear meta: origin: originType: NATIVE originId: demo - - id: date.quarterOfYear + - id: campaign_channel_id type: attribute attributes: - title: Date - Quarter of Year - description: Generic Quarter (Q1-Q4) + title: Campaign channel id + description: Campaign channel id tags: - - Date - granularity: QUARTER_OF_YEAR + - Campaign channels areRelationsValid: true + sourceColumn: campaign_channel_id + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaign_channels type: dataset labels: data: - - id: date.quarterOfYear + - id: campaign_channel_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id meta: origin: originType: NATIVE originId: demo - - id: date.monthOfYear + - id: campaign_channels.category type: attribute attributes: - title: Date - Month of Year - description: Generic Month (M1-M12) + title: Category + description: Category tags: - - Date - granularity: MONTH_OF_YEAR + - Campaign channels areRelationsValid: true + sourceColumn: category + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaign_channels type: dataset labels: data: - - id: date.monthOfYear + - id: campaign_channels.category type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category meta: origin: originType: NATIVE originId: demo - - id: date.weekOfYear + - id: type type: attribute - attributes: - title: Date - Week of Year - description: Generic Week (W1-W53) + attributes: + title: Type + description: Type tags: - - Date - granularity: WEEK_OF_YEAR + - Campaign channels areRelationsValid: true + sourceColumn: type + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaign_channels type: dataset labels: data: - - id: date.weekOfYear + - id: type type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type meta: origin: originType: NATIVE originId: demo - - id: date.dayOfYear + - id: campaign_id type: attribute attributes: - title: Date - Day of Year - description: Generic Day of the Year (D1-D366) + title: Campaign id + description: Campaign id tags: - - Date - granularity: DAY_OF_YEAR + - Campaigns areRelationsValid: true + sourceColumn: campaign_id + sourceColumnDataType: INT relationships: dataset: data: - id: date + id: campaigns type: dataset labels: data: - - id: date.dayOfYear + - id: campaign_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id meta: origin: originType: NATIVE originId: demo - - id: date.dayOfMonth + - id: campaign_name type: attribute attributes: - title: Date - Day of Month - description: Generic Day of the Month (D1-D31) + title: Campaign name + description: Campaign name tags: - - Date - granularity: DAY_OF_MONTH + - Campaigns areRelationsValid: true + sourceColumn: campaign_name + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaigns type: dataset labels: data: - - id: date.dayOfMonth + - id: campaign_name type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name meta: origin: originType: NATIVE originId: demo - - id: date.dayOfWeek + - id: customer_id type: attribute attributes: - title: Date - Day of Week - description: Generic Day of the Week (D1-D7) + title: Customer id + description: Customer id tags: - - Date - granularity: DAY_OF_WEEK + - Customers areRelationsValid: true + sourceColumn: customer_id + sourceColumnDataType: INT relationships: dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.dayOfWeek + - id: customer_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id meta: origin: originType: NATIVE originId: demo - - id: date.hourOfDay + - id: customer_name type: attribute attributes: - title: Date - Hour of Day - description: Generic Hour of the Day(H1-H24) + title: Customer name + description: Customer name tags: - - Date - granularity: HOUR_OF_DAY + - Customers areRelationsValid: true + sourceColumn: customer_name + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.hourOfDay + - id: customer_name type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name meta: origin: originType: NATIVE originId: demo - - id: date.minuteOfHour + - id: region type: attribute attributes: - title: Date - Minute of Hour - description: Generic Minute of the Hour(MI1-MI60) + title: Region + description: Region tags: - - Date - granularity: MINUTE_OF_HOUR + - Customers areRelationsValid: true + sourceColumn: region + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.minuteOfHour + - id: region type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region meta: origin: originType: NATIVE originId: demo - - id: date.year + - id: state type: attribute attributes: - title: Date - Year - description: Year + title: State + description: State tags: - - Date - granularity: YEAR + - Customers areRelationsValid: true + sourceColumn: state + sourceColumnDataType: STRING relationships: + defaultView: + data: + id: state + type: label dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.year + - id: geo__state__location + type: label + - id: state type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state meta: origin: originType: NATIVE originId: demo - - id: date.quarter + - id: order_id type: attribute attributes: - title: Date - Quarter/Year - description: Quarter and Year (Q1/2020) + title: Order id + description: Order id tags: - - Date - granularity: QUARTER + - Order lines areRelationsValid: true + sourceColumn: order_id + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: order_lines type: dataset labels: data: - - id: date.quarter + - id: order_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id meta: origin: originType: NATIVE originId: demo - - id: date.month + - id: order_line_id type: attribute attributes: - title: Date - Month/Year - description: Month and Year (12/2020) + title: Order line id + description: Order line id tags: - - Date - granularity: MONTH + - Order lines areRelationsValid: true + sourceColumn: order_line_id + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: order_lines type: dataset labels: data: - - id: date.month + - id: order_line_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id meta: origin: originType: NATIVE originId: demo - - id: date.week + - id: order_status type: attribute attributes: - title: Date - Week/Year - description: Week and Year (W52/2020) + title: Order status + description: Order status tags: - - Date - granularity: WEEK + - Order lines areRelationsValid: true + sourceColumn: order_status + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: order_lines type: dataset labels: data: - - id: date.week + - id: order_status type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status meta: origin: originType: NATIVE originId: demo - - id: date.day + - id: product_id type: attribute attributes: - title: Date - Date - description: Date + title: Product id + description: Product id tags: - - Date - granularity: DAY + - Products areRelationsValid: true + sourceColumn: product_id + sourceColumnDataType: INT relationships: dataset: data: - id: date + id: products type: dataset labels: data: - - id: date.day + - id: product_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id meta: origin: originType: NATIVE originId: demo - - id: date.hour + - id: product_name type: attribute attributes: - title: Date - Hour - description: Hour + title: Product name + description: Product name tags: - - Date - granularity: HOUR + - Products areRelationsValid: true + sourceColumn: product_name + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: products type: dataset labels: data: - - id: date.hour + - id: product_name type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name meta: origin: originType: NATIVE originId: demo - - id: date.minute + - id: products.category type: attribute attributes: - title: Date - Minute - description: Minute + title: Category + description: Category tags: - - Date - granularity: MINUTE + - Products areRelationsValid: true + sourceColumn: category + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: products type: dataset labels: data: - - id: date.minute + - id: products.category type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category meta: origin: originType: NATIVE @@ -1045,51 +1045,59 @@ interactions: grain: - id: order_line_id type: attribute - order: 0 referenceProperties: - identifier: - id: products + id: date type: dataset multivalue: false + sources: null sourceColumns: - - product_id + - date sourceColumnDataTypes: - - INT + - DATE - identifier: id: customers type: dataset multivalue: false + sources: null sourceColumns: - customer_id sourceColumnDataTypes: - INT - identifier: - id: date + id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - - date + - campaign_id sourceColumnDataTypes: - - DATE + - INT - identifier: - id: campaigns + id: products type: dataset multivalue: false + sources: null sourceColumns: - - campaign_id + - product_id sourceColumnDataTypes: - INT dataSourceTableId: demo-test-ds:order_lines dataSourceTablePath: - demo - order_lines - workspaceDataFilterProperties: - - workspaceDataFilterIdentifier: + workspaceDataFilterColumns: + - name: wdf__state + dataType: STRING + - name: wdf__region + dataType: STRING + workspaceDataFilterReferences: + - filterId: id: wdf__state type: workspaceDataFilter filterColumn: wdf__state filterColumnDataType: STRING - - workspaceDataFilterIdentifier: + - filterId: id: wdf__region type: workspaceDataFilter filterColumn: wdf__region @@ -1131,12 +1139,12 @@ interactions: grain: - id: campaign_channel_id type: attribute - order: 0 referenceProperties: - identifier: id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - campaign_id sourceColumnDataTypes: @@ -1226,7 +1234,6 @@ interactions: grain: - id: campaign_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:campaigns dataSourceTablePath: - demo @@ -1283,7 +1290,6 @@ interactions: grain: - id: customer_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:customers dataSourceTablePath: - demo @@ -1409,7 +1415,6 @@ interactions: grain: - id: product_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:products dataSourceTablePath: - demo @@ -1513,8 +1518,8 @@ interactions: links: self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_id links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels,datasets&page=0&size=500 - next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels,datasets&page=1&size=500 + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&page=1&size=500 - request: method: GET uri: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500 @@ -1542,7 +1547,7 @@ interactions: Connection: - keep-alive Content-Length: - - '13953' + - '14899' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -1589,6 +1594,54 @@ interactions: body: string: data: + - id: date + type: dataset + attributes: + title: Date + description: '' + tags: + - Date + areRelationsValid: true + type: DATE + relationships: + attributes: + data: + - id: date.quarter + type: attribute + - id: date.minute + type: attribute + - id: date.hourOfDay + type: attribute + - id: date.minuteOfHour + type: attribute + - id: date.dayOfYear + type: attribute + - id: date.monthOfYear + type: attribute + - id: date.weekOfYear + type: attribute + - id: date.week + type: attribute + - id: date.year + type: attribute + - id: date.dayOfWeek + type: attribute + - id: date.hour + type: attribute + - id: date.dayOfMonth + type: attribute + - id: date.month + type: attribute + - id: date.quarterOfYear + type: attribute + - id: date.day + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date + meta: + origin: + originType: NATIVE + originId: demo - id: campaign_channels type: dataset attributes: @@ -1599,16 +1652,20 @@ interactions: grain: - id: campaign_channel_id type: attribute - order: 0 referenceProperties: - identifier: id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - campaign_id - sourceColumnDataTypes: null + sourceColumnDataTypes: + - INT dataSourceTableId: demo-test-ds:campaign_channels + dataSourceTablePath: + - demo + - campaign_channels areRelationsValid: true type: NORMAL relationships: @@ -1616,10 +1673,10 @@ interactions: data: - id: campaign_channel_id type: attribute - - id: type - type: attribute - id: campaign_channels.category type: attribute + - id: type + type: attribute facts: data: - id: budget @@ -1632,6 +1689,68 @@ interactions: origin: originType: NATIVE originId: demo + - id: campaigns + 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 + relationships: + attributes: + data: + - id: campaign_id + type: attribute + - id: campaign_name + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns + meta: + origin: + originType: NATIVE + originId: demo + - id: customers + 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 + relationships: + attributes: + data: + - id: customer_id + type: attribute + - id: state + type: attribute + - id: customer_name + type: attribute + - id: region + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers + meta: + origin: + originType: NATIVE + originId: demo - id: order_lines type: dataset attributes: @@ -1642,45 +1761,60 @@ interactions: grain: - id: order_line_id type: attribute - order: 0 referenceProperties: - identifier: - id: products + id: date type: dataset multivalue: false + sources: null sourceColumns: - - product_id - sourceColumnDataTypes: null + - date + sourceColumnDataTypes: + - DATE - identifier: id: customers type: dataset multivalue: false + sources: null sourceColumns: - customer_id - sourceColumnDataTypes: null + sourceColumnDataTypes: + - INT - identifier: - id: date + id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - - date - sourceColumnDataTypes: null + - campaign_id + sourceColumnDataTypes: + - INT - identifier: - id: campaigns + id: products type: dataset multivalue: false + sources: null sourceColumns: - - campaign_id - sourceColumnDataTypes: null + - product_id + sourceColumnDataTypes: + - INT dataSourceTableId: demo-test-ds:order_lines + dataSourceTablePath: + - demo + - order_lines areRelationsValid: true - workspaceDataFilterProperties: - - workspaceDataFilterIdentifier: + workspaceDataFilterColumns: + - name: wdf__state + dataType: STRING + - name: wdf__region + dataType: STRING + workspaceDataFilterReferences: + - filterId: id: wdf__state type: workspaceDataFilter filterColumn: wdf__state filterColumnDataType: STRING - - workspaceDataFilterIdentifier: + - filterId: id: wdf__region type: workspaceDataFilter filterColumn: wdf__region @@ -1689,12 +1823,12 @@ interactions: relationships: attributes: data: - - id: order_status - type: attribute - id: order_id type: attribute - id: order_line_id type: attribute + - id: order_status + type: attribute facts: data: - id: price @@ -1717,18 +1851,20 @@ interactions: grain: - id: product_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:products + dataSourceTablePath: + - demo + - products areRelationsValid: true type: NORMAL relationships: attributes: data: - - id: product_name + - id: products.category type: attribute - id: product_id type: attribute - - id: products.category + - id: product_name type: attribute links: self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/products @@ -1736,112 +1872,6 @@ interactions: origin: originType: NATIVE originId: demo - - id: date - type: dataset - attributes: - title: Date - description: '' - tags: - - Date - areRelationsValid: true - type: DATE - relationships: - attributes: - data: - - id: date.quarterOfYear - type: attribute - - id: date.weekOfYear - type: attribute - - id: date.dayOfMonth - type: attribute - - id: date.monthOfYear - type: attribute - - id: date.minuteOfHour - type: attribute - - id: date.hour - type: attribute - - id: date.year - type: attribute - - id: date.week - type: attribute - - id: date.quarter - type: attribute - - id: date.dayOfYear - type: attribute - - id: date.dayOfWeek - type: attribute - - id: date.minute - type: attribute - - id: date.day - type: attribute - - id: date.month - type: attribute - - id: date.hourOfDay - type: attribute - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date - meta: - origin: - originType: NATIVE - originId: demo - - id: campaigns - type: dataset - attributes: - title: Campaigns - description: Campaigns - tags: - - Campaigns - grain: - - id: campaign_id - type: attribute - order: 0 - dataSourceTableId: demo-test-ds:campaigns - areRelationsValid: true - type: NORMAL - relationships: - attributes: - data: - - id: campaign_id - type: attribute - - id: campaign_name - type: attribute - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns - meta: - origin: - originType: NATIVE - originId: demo - - id: customers - type: dataset - attributes: - title: Customers - description: Customers - tags: - - Customers - grain: - - id: customer_id - type: attribute - order: 0 - dataSourceTableId: demo-test-ds:customers - areRelationsValid: true - type: NORMAL - relationships: - attributes: - data: - - id: region - type: attribute - - id: state - type: attribute - - id: customer_id - type: attribute - - id: customer_name - type: attribute - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers - meta: - origin: - originType: NATIVE - originId: demo included: - id: product_id type: attribute @@ -1851,6 +1881,7 @@ interactions: tags: - Products sourceColumn: product_id + sourceColumnDataType: INT links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id - id: budget @@ -1861,6 +1892,7 @@ interactions: tags: - Campaign channels sourceColumn: budget + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/budget - id: date.year @@ -1881,6 +1913,7 @@ interactions: tags: - Products sourceColumn: product_name + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name - id: date.month @@ -1901,6 +1934,7 @@ interactions: tags: - Products sourceColumn: category + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category - id: date.dayOfMonth @@ -1941,6 +1975,7 @@ interactions: tags: - Campaign channels sourceColumn: category + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category - id: date.minute @@ -1961,6 +1996,7 @@ interactions: tags: - Customers sourceColumn: state + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state - id: date.week @@ -1981,6 +2017,7 @@ interactions: tags: - Order lines sourceColumn: order_id + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id - id: date.hour @@ -2001,6 +2038,7 @@ interactions: tags: - Campaigns sourceColumn: campaign_name + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name - id: price @@ -2011,6 +2049,7 @@ interactions: tags: - Order lines sourceColumn: price + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/price - id: date.dayOfWeek @@ -2041,6 +2080,7 @@ interactions: tags: - Customers sourceColumn: region + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region - id: campaign_channel_id @@ -2051,6 +2091,7 @@ interactions: tags: - Campaign channels sourceColumn: campaign_channel_id + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id - id: customer_id @@ -2061,6 +2102,7 @@ interactions: tags: - Customers sourceColumn: customer_id + sourceColumnDataType: INT links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id - id: date.hourOfDay @@ -2081,6 +2123,7 @@ interactions: tags: - Order lines sourceColumn: quantity + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity - id: campaign_id @@ -2091,6 +2134,7 @@ interactions: tags: - Campaigns sourceColumn: campaign_id + sourceColumnDataType: INT links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id - id: type @@ -2101,6 +2145,7 @@ interactions: tags: - Campaign channels sourceColumn: type + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type - id: spend @@ -2111,6 +2156,7 @@ interactions: tags: - Campaign channels sourceColumn: spend + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/spend - id: date.dayOfYear @@ -2151,6 +2197,7 @@ interactions: tags: - Order lines sourceColumn: order_status + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status - id: date.monthOfYear @@ -2171,6 +2218,7 @@ interactions: tags: - Customers sourceColumn: customer_name + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name - id: order_line_id @@ -2181,11 +2229,12 @@ interactions: tags: - Order lines sourceColumn: order_line_id + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=0&size=500 - next: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=1&size=500 + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=1&size=500 - request: method: GET uri: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500 @@ -2213,7 +2262,7 @@ interactions: Connection: - keep-alive Content-Length: - - '9799' + - '10543' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -2265,6 +2314,7 @@ interactions: attributes: title: '# of Active Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0' maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) @@ -2279,6 +2329,7 @@ interactions: attributes: title: '# of Orders' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0' maql: SELECT COUNT({attribute/order_id}) @@ -2293,6 +2344,7 @@ interactions: attributes: title: '# of Top Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0' maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT @@ -2309,6 +2361,7 @@ interactions: title: '# of Valid Orders' description: '' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.00' maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} @@ -2324,6 +2377,7 @@ interactions: attributes: title: Campaign Spend areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT SUM({fact/spend}) @@ -2338,6 +2392,7 @@ interactions: attributes: title: Order Amount areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT SUM({fact/price}*{fact/quantity}) @@ -2352,6 +2407,7 @@ interactions: attributes: title: '% Revenue' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / {metric/total_revenue} @@ -2366,6 +2422,7 @@ interactions: attributes: title: '% Revenue from Top 10 Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ @@ -2381,6 +2438,7 @@ interactions: attributes: title: '% Revenue from Top 10% Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ @@ -2396,6 +2454,7 @@ interactions: attributes: title: '% Revenue from Top 10% Products' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ @@ -2411,6 +2470,7 @@ interactions: attributes: title: '% Revenue from Top 10 Products' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ @@ -2426,6 +2486,7 @@ interactions: attributes: title: '% Revenue in Category' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, @@ -2441,6 +2502,7 @@ interactions: attributes: title: '% Revenue per Product' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL @@ -2457,6 +2519,7 @@ interactions: title: Revenue description: '' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} @@ -2472,6 +2535,7 @@ interactions: attributes: title: Revenue (Clothing) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2487,6 +2551,7 @@ interactions: attributes: title: Revenue (Electronic) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2502,6 +2567,7 @@ interactions: attributes: title: Revenue (Home) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2517,6 +2583,7 @@ interactions: attributes: title: Revenue (Outdoor) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2532,6 +2599,7 @@ interactions: attributes: title: Revenue per Customer areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0.0 maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) @@ -2546,6 +2614,7 @@ interactions: attributes: title: Revenue per Dollar Spent areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0.0 maql: SELECT {metric/revenue} / {metric/campaign_spend} @@ -2560,6 +2629,7 @@ interactions: attributes: title: Revenue / Top 10 areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) @@ -2574,6 +2644,7 @@ interactions: attributes: title: Revenue / Top 10% areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) @@ -2588,6 +2659,7 @@ interactions: attributes: title: Total Revenue areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} BY ALL OTHER @@ -2602,6 +2674,7 @@ interactions: attributes: title: Total Revenue (No Filters) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER @@ -2616,7 +2689,7 @@ interactions: next: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=1&size=500 - request: method: GET - uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/97c76363b6b074e695ed4a21258f2d0fca71c96a?offset=0%2C0&limit=2%2C1000 + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/f5c978d5488563a4e4bf2336eedab543b7e9b633?offset=0%2C0&limit=2%2C1000 body: null headers: Accept: @@ -2686,7 +2759,7 @@ interactions: X-XSS-Protection: - 1 ; mode=block content-length: - - '923' + - '915' body: string: data: @@ -2694,10 +2767,10 @@ interactions: - 21091.76 - 16767.98 - 39827.31 - - - 415.0 - - 223.0 - - 200.0 - - 55.0 + - - 415 + - 223 + - 200 + - 55 dimensionHeaders: - headerGroups: - headers: diff --git a/gooddata-pandas/tests/dataframe/fixtures/multi_index_metrics.yaml b/gooddata-pandas/tests/dataframe/fixtures/multi_index_metrics.yaml index d2250e476..b644393a9 100644 --- a/gooddata-pandas/tests/dataframe/fixtures/multi_index_metrics.yaml +++ b/gooddata-pandas/tests/dataframe/fixtures/multi_index_metrics.yaml @@ -162,7 +162,7 @@ interactions: type: label localIdentifier: dim_1 links: - executionResult: 41bcf9bac59aa5f1f76af79a21767e9f8e8e8172 + executionResult: ce16cf388d3b85d28b85317c3dba241fb6a01676 - request: method: GET uri: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&page=0&size=500 @@ -190,7 +190,7 @@ interactions: Connection: - keep-alive Content-Length: - - '27018' + - '27121' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -237,743 +237,743 @@ interactions: body: string: data: - - id: campaign_channels.category + - id: date.minute type: attribute attributes: - title: Category - description: Category + title: Date - Minute + description: Minute tags: - - Campaign channels + - Date + granularity: MINUTE areRelationsValid: true - sourceColumn: category - sourceColumnDataType: STRING relationships: dataset: data: - id: campaign_channels + id: date type: dataset labels: data: - - id: campaign_channels.category + - id: date.minute type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute meta: origin: originType: NATIVE originId: demo - - id: campaign_channel_id + - id: date.hour type: attribute attributes: - title: Campaign channel id - description: Campaign channel id + title: Date - Hour + description: Hour tags: - - Campaign channels + - Date + granularity: HOUR areRelationsValid: true - sourceColumn: campaign_channel_id - sourceColumnDataType: STRING relationships: dataset: data: - id: campaign_channels + id: date type: dataset labels: data: - - id: campaign_channel_id + - id: date.hour type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour meta: origin: originType: NATIVE originId: demo - - id: type + - id: date.day type: attribute attributes: - title: Type - description: Type + title: Date - Date + description: Date tags: - - Campaign channels + - Date + granularity: DAY areRelationsValid: true - sourceColumn: type - sourceColumnDataType: STRING relationships: dataset: data: - id: campaign_channels + id: date type: dataset labels: data: - - id: type + - id: date.day type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day meta: origin: originType: NATIVE originId: demo - - id: campaign_name + - id: date.week type: attribute attributes: - title: Campaign name - description: Campaign name + title: Date - Week/Year + description: Week and Year (W52/2020) tags: - - Campaigns + - Date + granularity: WEEK areRelationsValid: true - sourceColumn: campaign_name - sourceColumnDataType: STRING relationships: dataset: data: - id: campaigns + id: date type: dataset labels: data: - - id: campaign_name + - id: date.week type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week meta: origin: originType: NATIVE originId: demo - - id: campaign_id + - id: date.month type: attribute attributes: - title: Campaign id - description: Campaign id + title: Date - Month/Year + description: Month and Year (12/2020) tags: - - Campaigns + - Date + granularity: MONTH areRelationsValid: true - sourceColumn: campaign_id - sourceColumnDataType: INT relationships: dataset: data: - id: campaigns + id: date type: dataset labels: data: - - id: campaign_id + - id: date.month type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month meta: origin: originType: NATIVE originId: demo - - id: state + - id: date.quarter type: attribute attributes: - title: State - description: State + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) tags: - - Customers + - Date + granularity: QUARTER areRelationsValid: true - sourceColumn: state - sourceColumnDataType: STRING relationships: - defaultView: - data: - id: state - type: label dataset: data: - id: customers + id: date type: dataset labels: data: - - id: state - type: label - - id: geo__state__location + - id: date.quarter type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter meta: origin: originType: NATIVE originId: demo - - id: region + - id: date.year type: attribute attributes: - title: Region - description: Region + title: Date - Year + description: Year tags: - - Customers + - Date + granularity: YEAR areRelationsValid: true - sourceColumn: region - sourceColumnDataType: STRING relationships: dataset: data: - id: customers + id: date type: dataset labels: data: - - id: region + - id: date.year type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year meta: origin: originType: NATIVE originId: demo - - id: customer_name + - id: date.minuteOfHour type: attribute attributes: - title: Customer name - description: Customer name + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) tags: - - Customers + - Date + granularity: MINUTE_OF_HOUR areRelationsValid: true - sourceColumn: customer_name - sourceColumnDataType: STRING relationships: dataset: data: - id: customers + id: date type: dataset labels: data: - - id: customer_name + - id: date.minuteOfHour type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour meta: origin: originType: NATIVE originId: demo - - id: customer_id + - id: date.hourOfDay type: attribute attributes: - title: Customer id - description: Customer id + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) tags: - - Customers + - Date + granularity: HOUR_OF_DAY areRelationsValid: true - sourceColumn: customer_id - sourceColumnDataType: INT relationships: dataset: data: - id: customers + id: date type: dataset labels: data: - - id: customer_id + - id: date.hourOfDay type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay meta: origin: originType: NATIVE originId: demo - - id: order_status + - id: date.dayOfWeek type: attribute attributes: - title: Order status - description: Order status + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) tags: - - Order lines + - Date + granularity: DAY_OF_WEEK areRelationsValid: true - sourceColumn: order_status - sourceColumnDataType: STRING relationships: dataset: data: - id: order_lines + id: date type: dataset labels: data: - - id: order_status + - id: date.dayOfWeek type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek meta: origin: originType: NATIVE originId: demo - - id: order_line_id + - id: date.dayOfMonth type: attribute attributes: - title: Order line id - description: Order line id + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) tags: - - Order lines + - Date + granularity: DAY_OF_MONTH areRelationsValid: true - sourceColumn: order_line_id - sourceColumnDataType: STRING relationships: dataset: data: - id: order_lines + id: date type: dataset labels: data: - - id: order_line_id + - id: date.dayOfMonth type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth meta: origin: originType: NATIVE originId: demo - - id: order_id + - id: date.dayOfYear type: attribute attributes: - title: Order id - description: Order id + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) tags: - - Order lines + - Date + granularity: DAY_OF_YEAR areRelationsValid: true - sourceColumn: order_id - sourceColumnDataType: STRING relationships: dataset: data: - id: order_lines + id: date type: dataset labels: data: - - id: order_id + - id: date.dayOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear meta: origin: originType: NATIVE originId: demo - - id: product_name + - id: date.weekOfYear type: attribute attributes: - title: Product name - description: Product name + title: Date - Week of Year + description: Generic Week (W1-W53) tags: - - Products + - Date + granularity: WEEK_OF_YEAR areRelationsValid: true - sourceColumn: product_name - sourceColumnDataType: STRING relationships: dataset: data: - id: products + id: date type: dataset labels: data: - - id: product_name + - id: date.weekOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear meta: origin: originType: NATIVE originId: demo - - id: product_id + - id: date.monthOfYear type: attribute attributes: - title: Product id - description: Product id + title: Date - Month of Year + description: Generic Month (M1-M12) tags: - - Products + - Date + granularity: MONTH_OF_YEAR areRelationsValid: true - sourceColumn: product_id - sourceColumnDataType: INT relationships: dataset: data: - id: products + id: date type: dataset labels: data: - - id: product_id + - id: date.monthOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear meta: origin: originType: NATIVE originId: demo - - id: products.category + - id: date.quarterOfYear type: attribute attributes: - title: Category - description: Category + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) tags: - - Products + - Date + granularity: QUARTER_OF_YEAR areRelationsValid: true - sourceColumn: category - sourceColumnDataType: STRING relationships: dataset: data: - id: products + id: date type: dataset labels: data: - - id: products.category + - id: date.quarterOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear meta: origin: originType: NATIVE originId: demo - - id: date.quarterOfYear + - id: campaign_channel_id type: attribute attributes: - title: Date - Quarter of Year - description: Generic Quarter (Q1-Q4) + title: Campaign channel id + description: Campaign channel id tags: - - Date - granularity: QUARTER_OF_YEAR + - Campaign channels areRelationsValid: true + sourceColumn: campaign_channel_id + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaign_channels type: dataset labels: data: - - id: date.quarterOfYear + - id: campaign_channel_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id meta: origin: originType: NATIVE originId: demo - - id: date.monthOfYear + - id: campaign_channels.category type: attribute attributes: - title: Date - Month of Year - description: Generic Month (M1-M12) + title: Category + description: Category tags: - - Date - granularity: MONTH_OF_YEAR + - Campaign channels areRelationsValid: true + sourceColumn: category + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaign_channels type: dataset labels: data: - - id: date.monthOfYear + - id: campaign_channels.category type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category meta: origin: originType: NATIVE originId: demo - - id: date.weekOfYear + - id: type type: attribute - attributes: - title: Date - Week of Year - description: Generic Week (W1-W53) + attributes: + title: Type + description: Type tags: - - Date - granularity: WEEK_OF_YEAR + - Campaign channels areRelationsValid: true + sourceColumn: type + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaign_channels type: dataset labels: data: - - id: date.weekOfYear + - id: type type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type meta: origin: originType: NATIVE originId: demo - - id: date.dayOfYear + - id: campaign_id type: attribute attributes: - title: Date - Day of Year - description: Generic Day of the Year (D1-D366) + title: Campaign id + description: Campaign id tags: - - Date - granularity: DAY_OF_YEAR + - Campaigns areRelationsValid: true + sourceColumn: campaign_id + sourceColumnDataType: INT relationships: dataset: data: - id: date + id: campaigns type: dataset labels: data: - - id: date.dayOfYear + - id: campaign_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id meta: origin: originType: NATIVE originId: demo - - id: date.dayOfMonth + - id: campaign_name type: attribute attributes: - title: Date - Day of Month - description: Generic Day of the Month (D1-D31) + title: Campaign name + description: Campaign name tags: - - Date - granularity: DAY_OF_MONTH + - Campaigns areRelationsValid: true + sourceColumn: campaign_name + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaigns type: dataset labels: data: - - id: date.dayOfMonth + - id: campaign_name type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name meta: origin: originType: NATIVE originId: demo - - id: date.dayOfWeek + - id: customer_id type: attribute attributes: - title: Date - Day of Week - description: Generic Day of the Week (D1-D7) + title: Customer id + description: Customer id tags: - - Date - granularity: DAY_OF_WEEK + - Customers areRelationsValid: true + sourceColumn: customer_id + sourceColumnDataType: INT relationships: dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.dayOfWeek + - id: customer_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id meta: origin: originType: NATIVE originId: demo - - id: date.hourOfDay + - id: customer_name type: attribute attributes: - title: Date - Hour of Day - description: Generic Hour of the Day(H1-H24) + title: Customer name + description: Customer name tags: - - Date - granularity: HOUR_OF_DAY + - Customers areRelationsValid: true + sourceColumn: customer_name + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.hourOfDay + - id: customer_name type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name meta: origin: originType: NATIVE originId: demo - - id: date.minuteOfHour + - id: region type: attribute attributes: - title: Date - Minute of Hour - description: Generic Minute of the Hour(MI1-MI60) + title: Region + description: Region tags: - - Date - granularity: MINUTE_OF_HOUR + - Customers areRelationsValid: true + sourceColumn: region + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.minuteOfHour + - id: region type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region meta: origin: originType: NATIVE originId: demo - - id: date.year + - id: state type: attribute attributes: - title: Date - Year - description: Year + title: State + description: State tags: - - Date - granularity: YEAR + - Customers areRelationsValid: true + sourceColumn: state + sourceColumnDataType: STRING relationships: + defaultView: + data: + id: state + type: label dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.year + - id: geo__state__location + type: label + - id: state type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state meta: origin: originType: NATIVE originId: demo - - id: date.quarter + - id: order_id type: attribute attributes: - title: Date - Quarter/Year - description: Quarter and Year (Q1/2020) + title: Order id + description: Order id tags: - - Date - granularity: QUARTER + - Order lines areRelationsValid: true + sourceColumn: order_id + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: order_lines type: dataset labels: data: - - id: date.quarter + - id: order_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id meta: origin: originType: NATIVE originId: demo - - id: date.month + - id: order_line_id type: attribute attributes: - title: Date - Month/Year - description: Month and Year (12/2020) + title: Order line id + description: Order line id tags: - - Date - granularity: MONTH + - Order lines areRelationsValid: true + sourceColumn: order_line_id + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: order_lines type: dataset labels: data: - - id: date.month + - id: order_line_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id meta: origin: originType: NATIVE originId: demo - - id: date.week + - id: order_status type: attribute attributes: - title: Date - Week/Year - description: Week and Year (W52/2020) + title: Order status + description: Order status tags: - - Date - granularity: WEEK + - Order lines areRelationsValid: true + sourceColumn: order_status + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: order_lines type: dataset labels: data: - - id: date.week + - id: order_status type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status meta: origin: originType: NATIVE originId: demo - - id: date.day + - id: product_id type: attribute attributes: - title: Date - Date - description: Date + title: Product id + description: Product id tags: - - Date - granularity: DAY + - Products areRelationsValid: true + sourceColumn: product_id + sourceColumnDataType: INT relationships: dataset: data: - id: date + id: products type: dataset labels: data: - - id: date.day + - id: product_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id meta: origin: originType: NATIVE originId: demo - - id: date.hour + - id: product_name type: attribute attributes: - title: Date - Hour - description: Hour + title: Product name + description: Product name tags: - - Date - granularity: HOUR + - Products areRelationsValid: true + sourceColumn: product_name + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: products type: dataset labels: data: - - id: date.hour + - id: product_name type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name meta: origin: originType: NATIVE originId: demo - - id: date.minute + - id: products.category type: attribute attributes: - title: Date - Minute - description: Minute + title: Category + description: Category tags: - - Date - granularity: MINUTE + - Products areRelationsValid: true + sourceColumn: category + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: products type: dataset labels: data: - - id: date.minute + - id: products.category type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category meta: origin: originType: NATIVE @@ -1037,51 +1037,59 @@ interactions: grain: - id: order_line_id type: attribute - order: 0 referenceProperties: - identifier: - id: products + id: date type: dataset multivalue: false + sources: null sourceColumns: - - product_id + - date sourceColumnDataTypes: - - INT + - DATE - identifier: id: customers type: dataset multivalue: false + sources: null sourceColumns: - customer_id sourceColumnDataTypes: - INT - identifier: - id: date + id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - - date + - campaign_id sourceColumnDataTypes: - - DATE + - INT - identifier: - id: campaigns + id: products type: dataset multivalue: false + sources: null sourceColumns: - - campaign_id + - product_id sourceColumnDataTypes: - INT dataSourceTableId: demo-test-ds:order_lines dataSourceTablePath: - demo - order_lines - workspaceDataFilterProperties: - - workspaceDataFilterIdentifier: + workspaceDataFilterColumns: + - name: wdf__state + dataType: STRING + - name: wdf__region + dataType: STRING + workspaceDataFilterReferences: + - filterId: id: wdf__state type: workspaceDataFilter filterColumn: wdf__state filterColumnDataType: STRING - - workspaceDataFilterIdentifier: + - filterId: id: wdf__region type: workspaceDataFilter filterColumn: wdf__region @@ -1123,12 +1131,12 @@ interactions: grain: - id: campaign_channel_id type: attribute - order: 0 referenceProperties: - identifier: id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - campaign_id sourceColumnDataTypes: @@ -1218,7 +1226,6 @@ interactions: grain: - id: campaign_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:campaigns dataSourceTablePath: - demo @@ -1275,7 +1282,6 @@ interactions: grain: - id: customer_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:customers dataSourceTablePath: - demo @@ -1401,7 +1407,6 @@ interactions: grain: - id: product_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:products dataSourceTablePath: - demo @@ -1505,8 +1510,8 @@ interactions: links: self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_id links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels,datasets&page=0&size=500 - next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels,datasets&page=1&size=500 + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&page=1&size=500 - request: method: GET uri: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500 @@ -1534,7 +1539,7 @@ interactions: Connection: - keep-alive Content-Length: - - '13953' + - '14899' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -1581,6 +1586,54 @@ interactions: body: string: data: + - id: date + type: dataset + attributes: + title: Date + description: '' + tags: + - Date + areRelationsValid: true + type: DATE + relationships: + attributes: + data: + - id: date.quarter + type: attribute + - id: date.minute + type: attribute + - id: date.hourOfDay + type: attribute + - id: date.minuteOfHour + type: attribute + - id: date.dayOfYear + type: attribute + - id: date.monthOfYear + type: attribute + - id: date.weekOfYear + type: attribute + - id: date.week + type: attribute + - id: date.year + type: attribute + - id: date.dayOfWeek + type: attribute + - id: date.hour + type: attribute + - id: date.dayOfMonth + type: attribute + - id: date.month + type: attribute + - id: date.quarterOfYear + type: attribute + - id: date.day + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date + meta: + origin: + originType: NATIVE + originId: demo - id: campaign_channels type: dataset attributes: @@ -1591,16 +1644,20 @@ interactions: grain: - id: campaign_channel_id type: attribute - order: 0 referenceProperties: - identifier: id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - campaign_id - sourceColumnDataTypes: null + sourceColumnDataTypes: + - INT dataSourceTableId: demo-test-ds:campaign_channels + dataSourceTablePath: + - demo + - campaign_channels areRelationsValid: true type: NORMAL relationships: @@ -1608,10 +1665,10 @@ interactions: data: - id: campaign_channel_id type: attribute - - id: type - type: attribute - id: campaign_channels.category type: attribute + - id: type + type: attribute facts: data: - id: budget @@ -1624,6 +1681,68 @@ interactions: origin: originType: NATIVE originId: demo + - id: campaigns + 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 + relationships: + attributes: + data: + - id: campaign_id + type: attribute + - id: campaign_name + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns + meta: + origin: + originType: NATIVE + originId: demo + - id: customers + 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 + relationships: + attributes: + data: + - id: customer_id + type: attribute + - id: state + type: attribute + - id: customer_name + type: attribute + - id: region + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers + meta: + origin: + originType: NATIVE + originId: demo - id: order_lines type: dataset attributes: @@ -1634,45 +1753,60 @@ interactions: grain: - id: order_line_id type: attribute - order: 0 referenceProperties: - identifier: - id: products + id: date type: dataset multivalue: false + sources: null sourceColumns: - - product_id - sourceColumnDataTypes: null + - date + sourceColumnDataTypes: + - DATE - identifier: id: customers type: dataset multivalue: false + sources: null sourceColumns: - customer_id - sourceColumnDataTypes: null + sourceColumnDataTypes: + - INT - identifier: - id: date + id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - - date - sourceColumnDataTypes: null + - campaign_id + sourceColumnDataTypes: + - INT - identifier: - id: campaigns + id: products type: dataset multivalue: false + sources: null sourceColumns: - - campaign_id - sourceColumnDataTypes: null + - product_id + sourceColumnDataTypes: + - INT dataSourceTableId: demo-test-ds:order_lines + dataSourceTablePath: + - demo + - order_lines areRelationsValid: true - workspaceDataFilterProperties: - - workspaceDataFilterIdentifier: + workspaceDataFilterColumns: + - name: wdf__state + dataType: STRING + - name: wdf__region + dataType: STRING + workspaceDataFilterReferences: + - filterId: id: wdf__state type: workspaceDataFilter filterColumn: wdf__state filterColumnDataType: STRING - - workspaceDataFilterIdentifier: + - filterId: id: wdf__region type: workspaceDataFilter filterColumn: wdf__region @@ -1681,12 +1815,12 @@ interactions: relationships: attributes: data: - - id: order_status - type: attribute - id: order_id type: attribute - id: order_line_id type: attribute + - id: order_status + type: attribute facts: data: - id: price @@ -1709,18 +1843,20 @@ interactions: grain: - id: product_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:products + dataSourceTablePath: + - demo + - products areRelationsValid: true type: NORMAL relationships: attributes: data: - - id: product_name + - id: products.category type: attribute - id: product_id type: attribute - - id: products.category + - id: product_name type: attribute links: self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/products @@ -1728,112 +1864,6 @@ interactions: origin: originType: NATIVE originId: demo - - id: date - type: dataset - attributes: - title: Date - description: '' - tags: - - Date - areRelationsValid: true - type: DATE - relationships: - attributes: - data: - - id: date.quarterOfYear - type: attribute - - id: date.weekOfYear - type: attribute - - id: date.dayOfMonth - type: attribute - - id: date.monthOfYear - type: attribute - - id: date.minuteOfHour - type: attribute - - id: date.hour - type: attribute - - id: date.year - type: attribute - - id: date.week - type: attribute - - id: date.quarter - type: attribute - - id: date.dayOfYear - type: attribute - - id: date.dayOfWeek - type: attribute - - id: date.minute - type: attribute - - id: date.day - type: attribute - - id: date.month - type: attribute - - id: date.hourOfDay - type: attribute - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date - meta: - origin: - originType: NATIVE - originId: demo - - id: campaigns - type: dataset - attributes: - title: Campaigns - description: Campaigns - tags: - - Campaigns - grain: - - id: campaign_id - type: attribute - order: 0 - dataSourceTableId: demo-test-ds:campaigns - areRelationsValid: true - type: NORMAL - relationships: - attributes: - data: - - id: campaign_id - type: attribute - - id: campaign_name - type: attribute - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns - meta: - origin: - originType: NATIVE - originId: demo - - id: customers - type: dataset - attributes: - title: Customers - description: Customers - tags: - - Customers - grain: - - id: customer_id - type: attribute - order: 0 - dataSourceTableId: demo-test-ds:customers - areRelationsValid: true - type: NORMAL - relationships: - attributes: - data: - - id: region - type: attribute - - id: state - type: attribute - - id: customer_id - type: attribute - - id: customer_name - type: attribute - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers - meta: - origin: - originType: NATIVE - originId: demo included: - id: product_id type: attribute @@ -1843,6 +1873,7 @@ interactions: tags: - Products sourceColumn: product_id + sourceColumnDataType: INT links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id - id: budget @@ -1853,6 +1884,7 @@ interactions: tags: - Campaign channels sourceColumn: budget + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/budget - id: date.year @@ -1873,6 +1905,7 @@ interactions: tags: - Products sourceColumn: product_name + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name - id: date.month @@ -1893,6 +1926,7 @@ interactions: tags: - Products sourceColumn: category + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category - id: date.dayOfMonth @@ -1933,6 +1967,7 @@ interactions: tags: - Campaign channels sourceColumn: category + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category - id: date.minute @@ -1953,6 +1988,7 @@ interactions: tags: - Customers sourceColumn: state + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state - id: date.week @@ -1973,6 +2009,7 @@ interactions: tags: - Order lines sourceColumn: order_id + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id - id: date.hour @@ -1993,6 +2030,7 @@ interactions: tags: - Campaigns sourceColumn: campaign_name + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name - id: price @@ -2003,6 +2041,7 @@ interactions: tags: - Order lines sourceColumn: price + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/price - id: date.dayOfWeek @@ -2033,6 +2072,7 @@ interactions: tags: - Customers sourceColumn: region + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region - id: campaign_channel_id @@ -2043,6 +2083,7 @@ interactions: tags: - Campaign channels sourceColumn: campaign_channel_id + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id - id: customer_id @@ -2053,6 +2094,7 @@ interactions: tags: - Customers sourceColumn: customer_id + sourceColumnDataType: INT links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id - id: date.hourOfDay @@ -2073,6 +2115,7 @@ interactions: tags: - Order lines sourceColumn: quantity + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity - id: campaign_id @@ -2083,6 +2126,7 @@ interactions: tags: - Campaigns sourceColumn: campaign_id + sourceColumnDataType: INT links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id - id: type @@ -2093,6 +2137,7 @@ interactions: tags: - Campaign channels sourceColumn: type + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type - id: spend @@ -2103,6 +2148,7 @@ interactions: tags: - Campaign channels sourceColumn: spend + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/spend - id: date.dayOfYear @@ -2143,6 +2189,7 @@ interactions: tags: - Order lines sourceColumn: order_status + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status - id: date.monthOfYear @@ -2163,6 +2210,7 @@ interactions: tags: - Customers sourceColumn: customer_name + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name - id: order_line_id @@ -2173,11 +2221,12 @@ interactions: tags: - Order lines sourceColumn: order_line_id + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=0&size=500 - next: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=1&size=500 + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=1&size=500 - request: method: GET uri: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500 @@ -2205,7 +2254,7 @@ interactions: Connection: - keep-alive Content-Length: - - '9799' + - '10543' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -2257,6 +2306,7 @@ interactions: attributes: title: '# of Active Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0' maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) @@ -2271,6 +2321,7 @@ interactions: attributes: title: '# of Orders' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0' maql: SELECT COUNT({attribute/order_id}) @@ -2285,6 +2336,7 @@ interactions: attributes: title: '# of Top Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0' maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT @@ -2301,6 +2353,7 @@ interactions: title: '# of Valid Orders' description: '' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.00' maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} @@ -2316,6 +2369,7 @@ interactions: attributes: title: Campaign Spend areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT SUM({fact/spend}) @@ -2330,6 +2384,7 @@ interactions: attributes: title: Order Amount areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT SUM({fact/price}*{fact/quantity}) @@ -2344,6 +2399,7 @@ interactions: attributes: title: '% Revenue' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / {metric/total_revenue} @@ -2358,6 +2414,7 @@ interactions: attributes: title: '% Revenue from Top 10 Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ @@ -2373,6 +2430,7 @@ interactions: attributes: title: '% Revenue from Top 10% Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ @@ -2388,6 +2446,7 @@ interactions: attributes: title: '% Revenue from Top 10% Products' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ @@ -2403,6 +2462,7 @@ interactions: attributes: title: '% Revenue from Top 10 Products' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ @@ -2418,6 +2478,7 @@ interactions: attributes: title: '% Revenue in Category' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, @@ -2433,6 +2494,7 @@ interactions: attributes: title: '% Revenue per Product' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL @@ -2449,6 +2511,7 @@ interactions: title: Revenue description: '' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} @@ -2464,6 +2527,7 @@ interactions: attributes: title: Revenue (Clothing) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2479,6 +2543,7 @@ interactions: attributes: title: Revenue (Electronic) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2494,6 +2559,7 @@ interactions: attributes: title: Revenue (Home) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2509,6 +2575,7 @@ interactions: attributes: title: Revenue (Outdoor) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2524,6 +2591,7 @@ interactions: attributes: title: Revenue per Customer areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0.0 maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) @@ -2538,6 +2606,7 @@ interactions: attributes: title: Revenue per Dollar Spent areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0.0 maql: SELECT {metric/revenue} / {metric/campaign_spend} @@ -2552,6 +2621,7 @@ interactions: attributes: title: Revenue / Top 10 areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) @@ -2566,6 +2636,7 @@ interactions: attributes: title: Revenue / Top 10% areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) @@ -2580,6 +2651,7 @@ interactions: attributes: title: Total Revenue areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} BY ALL OTHER @@ -2594,6 +2666,7 @@ interactions: attributes: title: Total Revenue (No Filters) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER @@ -2608,7 +2681,7 @@ interactions: next: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=1&size=500 - request: method: GET - uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/41bcf9bac59aa5f1f76af79a21767e9f8e8e8172?offset=0%2C0&limit=2%2C1000 + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/ce16cf388d3b85d28b85317c3dba241fb6a01676?offset=0%2C0&limit=2%2C1000 body: null headers: Accept: @@ -2678,7 +2751,7 @@ interactions: X-XSS-Protection: - 1 ; mode=block content-length: - - '3050' + - '3016' body: string: data: @@ -2699,23 +2772,23 @@ interactions: - 26111.41 - 18323.65 - 61573.48 - - - 415.0 - - 223.0 - - 200.0 - - 55.0 - - 242.0 - - 122.0 - - 94.0 - - 24.0 - - 902.0 - - 500.0 - - 436.0 - - 122.0 - - 1.0 - - 526.0 - - 291.0 - - 218.0 - - 76.0 + - - 415 + - 223 + - 200 + - 55 + - 242 + - 122 + - 94 + - 24 + - 902 + - 500 + - 436 + - 122 + - 1 + - 526 + - 291 + - 218 + - 76 dimensionHeaders: - headerGroups: - headers: diff --git a/gooddata-pandas/tests/dataframe/fixtures/multi_index_metrics_and_label.yaml b/gooddata-pandas/tests/dataframe/fixtures/multi_index_metrics_and_label.yaml index 6421c25b6..d9f848000 100644 --- a/gooddata-pandas/tests/dataframe/fixtures/multi_index_metrics_and_label.yaml +++ b/gooddata-pandas/tests/dataframe/fixtures/multi_index_metrics_and_label.yaml @@ -182,7 +182,7 @@ interactions: type: label localIdentifier: dim_1 links: - executionResult: dd1ff5143c90994331bce565ebcd4c5b3a37c17a + executionResult: e5324ed0a1e74c1346c14a2df4fda6b263696902 - request: method: GET uri: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&page=0&size=500 @@ -210,7 +210,7 @@ interactions: Connection: - keep-alive Content-Length: - - '27018' + - '27121' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -257,743 +257,743 @@ interactions: body: string: data: - - id: campaign_channels.category + - id: date.minute type: attribute attributes: - title: Category - description: Category + title: Date - Minute + description: Minute tags: - - Campaign channels + - Date + granularity: MINUTE areRelationsValid: true - sourceColumn: category - sourceColumnDataType: STRING relationships: dataset: data: - id: campaign_channels + id: date type: dataset labels: data: - - id: campaign_channels.category + - id: date.minute type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute meta: origin: originType: NATIVE originId: demo - - id: campaign_channel_id + - id: date.hour type: attribute attributes: - title: Campaign channel id - description: Campaign channel id + title: Date - Hour + description: Hour tags: - - Campaign channels + - Date + granularity: HOUR areRelationsValid: true - sourceColumn: campaign_channel_id - sourceColumnDataType: STRING relationships: dataset: data: - id: campaign_channels + id: date type: dataset labels: data: - - id: campaign_channel_id + - id: date.hour type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour meta: origin: originType: NATIVE originId: demo - - id: type + - id: date.day type: attribute attributes: - title: Type - description: Type + title: Date - Date + description: Date tags: - - Campaign channels + - Date + granularity: DAY areRelationsValid: true - sourceColumn: type - sourceColumnDataType: STRING relationships: dataset: data: - id: campaign_channels + id: date type: dataset labels: data: - - id: type + - id: date.day type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day meta: origin: originType: NATIVE originId: demo - - id: campaign_name + - id: date.week type: attribute attributes: - title: Campaign name - description: Campaign name + title: Date - Week/Year + description: Week and Year (W52/2020) tags: - - Campaigns + - Date + granularity: WEEK areRelationsValid: true - sourceColumn: campaign_name - sourceColumnDataType: STRING relationships: dataset: data: - id: campaigns + id: date type: dataset labels: data: - - id: campaign_name + - id: date.week type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week meta: origin: originType: NATIVE originId: demo - - id: campaign_id + - id: date.month type: attribute attributes: - title: Campaign id - description: Campaign id + title: Date - Month/Year + description: Month and Year (12/2020) tags: - - Campaigns + - Date + granularity: MONTH areRelationsValid: true - sourceColumn: campaign_id - sourceColumnDataType: INT relationships: dataset: data: - id: campaigns + id: date type: dataset labels: data: - - id: campaign_id + - id: date.month type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month meta: origin: originType: NATIVE originId: demo - - id: state + - id: date.quarter type: attribute attributes: - title: State - description: State + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) tags: - - Customers + - Date + granularity: QUARTER areRelationsValid: true - sourceColumn: state - sourceColumnDataType: STRING relationships: - defaultView: - data: - id: state - type: label dataset: data: - id: customers + id: date type: dataset labels: data: - - id: state - type: label - - id: geo__state__location + - id: date.quarter type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter meta: origin: originType: NATIVE originId: demo - - id: region + - id: date.year type: attribute attributes: - title: Region - description: Region + title: Date - Year + description: Year tags: - - Customers + - Date + granularity: YEAR areRelationsValid: true - sourceColumn: region - sourceColumnDataType: STRING relationships: dataset: data: - id: customers + id: date type: dataset labels: data: - - id: region + - id: date.year type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year meta: origin: originType: NATIVE originId: demo - - id: customer_name + - id: date.minuteOfHour type: attribute attributes: - title: Customer name - description: Customer name + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) tags: - - Customers + - Date + granularity: MINUTE_OF_HOUR areRelationsValid: true - sourceColumn: customer_name - sourceColumnDataType: STRING relationships: dataset: data: - id: customers + id: date type: dataset labels: data: - - id: customer_name + - id: date.minuteOfHour type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour meta: origin: originType: NATIVE originId: demo - - id: customer_id + - id: date.hourOfDay type: attribute attributes: - title: Customer id - description: Customer id + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) tags: - - Customers + - Date + granularity: HOUR_OF_DAY areRelationsValid: true - sourceColumn: customer_id - sourceColumnDataType: INT relationships: dataset: data: - id: customers + id: date type: dataset labels: data: - - id: customer_id + - id: date.hourOfDay type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay meta: origin: originType: NATIVE originId: demo - - id: order_status + - id: date.dayOfWeek type: attribute attributes: - title: Order status - description: Order status + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) tags: - - Order lines + - Date + granularity: DAY_OF_WEEK areRelationsValid: true - sourceColumn: order_status - sourceColumnDataType: STRING relationships: dataset: data: - id: order_lines + id: date type: dataset labels: data: - - id: order_status + - id: date.dayOfWeek type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek meta: origin: originType: NATIVE originId: demo - - id: order_line_id + - id: date.dayOfMonth type: attribute attributes: - title: Order line id - description: Order line id + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) tags: - - Order lines + - Date + granularity: DAY_OF_MONTH areRelationsValid: true - sourceColumn: order_line_id - sourceColumnDataType: STRING relationships: dataset: data: - id: order_lines + id: date type: dataset labels: data: - - id: order_line_id + - id: date.dayOfMonth type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth meta: origin: originType: NATIVE originId: demo - - id: order_id + - id: date.dayOfYear type: attribute attributes: - title: Order id - description: Order id + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) tags: - - Order lines + - Date + granularity: DAY_OF_YEAR areRelationsValid: true - sourceColumn: order_id - sourceColumnDataType: STRING relationships: dataset: data: - id: order_lines + id: date type: dataset labels: data: - - id: order_id + - id: date.dayOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear meta: origin: originType: NATIVE originId: demo - - id: product_name + - id: date.weekOfYear type: attribute attributes: - title: Product name - description: Product name + title: Date - Week of Year + description: Generic Week (W1-W53) tags: - - Products + - Date + granularity: WEEK_OF_YEAR areRelationsValid: true - sourceColumn: product_name - sourceColumnDataType: STRING relationships: dataset: data: - id: products + id: date type: dataset labels: data: - - id: product_name + - id: date.weekOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear meta: origin: originType: NATIVE originId: demo - - id: product_id + - id: date.monthOfYear type: attribute attributes: - title: Product id - description: Product id + title: Date - Month of Year + description: Generic Month (M1-M12) tags: - - Products + - Date + granularity: MONTH_OF_YEAR areRelationsValid: true - sourceColumn: product_id - sourceColumnDataType: INT relationships: dataset: data: - id: products + id: date type: dataset labels: data: - - id: product_id + - id: date.monthOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear meta: origin: originType: NATIVE originId: demo - - id: products.category + - id: date.quarterOfYear type: attribute attributes: - title: Category - description: Category + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) tags: - - Products + - Date + granularity: QUARTER_OF_YEAR areRelationsValid: true - sourceColumn: category - sourceColumnDataType: STRING relationships: dataset: data: - id: products + id: date type: dataset labels: data: - - id: products.category + - id: date.quarterOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear meta: origin: originType: NATIVE originId: demo - - id: date.quarterOfYear + - id: campaign_channel_id type: attribute attributes: - title: Date - Quarter of Year - description: Generic Quarter (Q1-Q4) + title: Campaign channel id + description: Campaign channel id tags: - - Date - granularity: QUARTER_OF_YEAR + - Campaign channels areRelationsValid: true + sourceColumn: campaign_channel_id + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaign_channels type: dataset labels: data: - - id: date.quarterOfYear + - id: campaign_channel_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id meta: origin: originType: NATIVE originId: demo - - id: date.monthOfYear + - id: campaign_channels.category type: attribute attributes: - title: Date - Month of Year - description: Generic Month (M1-M12) + title: Category + description: Category tags: - - Date - granularity: MONTH_OF_YEAR + - Campaign channels areRelationsValid: true + sourceColumn: category + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaign_channels type: dataset labels: data: - - id: date.monthOfYear + - id: campaign_channels.category type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category meta: origin: originType: NATIVE originId: demo - - id: date.weekOfYear + - id: type type: attribute attributes: - title: Date - Week of Year - description: Generic Week (W1-W53) + title: Type + description: Type tags: - - Date - granularity: WEEK_OF_YEAR + - Campaign channels areRelationsValid: true + sourceColumn: type + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaign_channels type: dataset labels: data: - - id: date.weekOfYear + - id: type type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type meta: origin: originType: NATIVE originId: demo - - id: date.dayOfYear + - id: campaign_id type: attribute attributes: - title: Date - Day of Year - description: Generic Day of the Year (D1-D366) + title: Campaign id + description: Campaign id tags: - - Date - granularity: DAY_OF_YEAR + - Campaigns areRelationsValid: true + sourceColumn: campaign_id + sourceColumnDataType: INT relationships: dataset: data: - id: date + id: campaigns type: dataset labels: data: - - id: date.dayOfYear + - id: campaign_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id meta: origin: originType: NATIVE originId: demo - - id: date.dayOfMonth + - id: campaign_name type: attribute attributes: - title: Date - Day of Month - description: Generic Day of the Month (D1-D31) + title: Campaign name + description: Campaign name tags: - - Date - granularity: DAY_OF_MONTH + - Campaigns areRelationsValid: true + sourceColumn: campaign_name + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaigns type: dataset labels: data: - - id: date.dayOfMonth + - id: campaign_name type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name meta: origin: originType: NATIVE originId: demo - - id: date.dayOfWeek + - id: customer_id type: attribute attributes: - title: Date - Day of Week - description: Generic Day of the Week (D1-D7) + title: Customer id + description: Customer id tags: - - Date - granularity: DAY_OF_WEEK + - Customers areRelationsValid: true + sourceColumn: customer_id + sourceColumnDataType: INT relationships: dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.dayOfWeek + - id: customer_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id meta: origin: originType: NATIVE originId: demo - - id: date.hourOfDay + - id: customer_name type: attribute attributes: - title: Date - Hour of Day - description: Generic Hour of the Day(H1-H24) + title: Customer name + description: Customer name tags: - - Date - granularity: HOUR_OF_DAY + - Customers areRelationsValid: true + sourceColumn: customer_name + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.hourOfDay + - id: customer_name type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name meta: origin: originType: NATIVE originId: demo - - id: date.minuteOfHour + - id: region type: attribute attributes: - title: Date - Minute of Hour - description: Generic Minute of the Hour(MI1-MI60) + title: Region + description: Region tags: - - Date - granularity: MINUTE_OF_HOUR + - Customers areRelationsValid: true + sourceColumn: region + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.minuteOfHour + - id: region type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region meta: origin: originType: NATIVE originId: demo - - id: date.year + - id: state type: attribute attributes: - title: Date - Year - description: Year + title: State + description: State tags: - - Date - granularity: YEAR + - Customers areRelationsValid: true + sourceColumn: state + sourceColumnDataType: STRING relationships: + defaultView: + data: + id: state + type: label dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.year + - id: geo__state__location + type: label + - id: state type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state meta: origin: originType: NATIVE originId: demo - - id: date.quarter + - id: order_id type: attribute attributes: - title: Date - Quarter/Year - description: Quarter and Year (Q1/2020) + title: Order id + description: Order id tags: - - Date - granularity: QUARTER + - Order lines areRelationsValid: true + sourceColumn: order_id + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: order_lines type: dataset labels: data: - - id: date.quarter + - id: order_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id meta: origin: originType: NATIVE originId: demo - - id: date.month + - id: order_line_id type: attribute attributes: - title: Date - Month/Year - description: Month and Year (12/2020) + title: Order line id + description: Order line id tags: - - Date - granularity: MONTH + - Order lines areRelationsValid: true + sourceColumn: order_line_id + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: order_lines type: dataset labels: data: - - id: date.month + - id: order_line_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id meta: origin: originType: NATIVE originId: demo - - id: date.week + - id: order_status type: attribute attributes: - title: Date - Week/Year - description: Week and Year (W52/2020) + title: Order status + description: Order status tags: - - Date - granularity: WEEK + - Order lines areRelationsValid: true + sourceColumn: order_status + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: order_lines type: dataset labels: data: - - id: date.week + - id: order_status type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status meta: origin: originType: NATIVE originId: demo - - id: date.day + - id: product_id type: attribute attributes: - title: Date - Date - description: Date + title: Product id + description: Product id tags: - - Date - granularity: DAY + - Products areRelationsValid: true + sourceColumn: product_id + sourceColumnDataType: INT relationships: dataset: data: - id: date + id: products type: dataset labels: data: - - id: date.day + - id: product_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id meta: origin: originType: NATIVE originId: demo - - id: date.hour + - id: product_name type: attribute attributes: - title: Date - Hour - description: Hour + title: Product name + description: Product name tags: - - Date - granularity: HOUR + - Products areRelationsValid: true + sourceColumn: product_name + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: products type: dataset labels: data: - - id: date.hour + - id: product_name type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name meta: origin: originType: NATIVE originId: demo - - id: date.minute + - id: products.category type: attribute attributes: - title: Date - Minute - description: Minute + title: Category + description: Category tags: - - Date - granularity: MINUTE + - Products areRelationsValid: true + sourceColumn: category + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: products type: dataset labels: data: - - id: date.minute + - id: products.category type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category meta: origin: originType: NATIVE @@ -1057,51 +1057,59 @@ interactions: grain: - id: order_line_id type: attribute - order: 0 referenceProperties: - identifier: - id: products + id: date type: dataset multivalue: false + sources: null sourceColumns: - - product_id + - date sourceColumnDataTypes: - - INT + - DATE - identifier: id: customers type: dataset multivalue: false + sources: null sourceColumns: - customer_id sourceColumnDataTypes: - INT - identifier: - id: date + id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - - date + - campaign_id sourceColumnDataTypes: - - DATE + - INT - identifier: - id: campaigns + id: products type: dataset multivalue: false + sources: null sourceColumns: - - campaign_id + - product_id sourceColumnDataTypes: - INT dataSourceTableId: demo-test-ds:order_lines dataSourceTablePath: - demo - order_lines - workspaceDataFilterProperties: - - workspaceDataFilterIdentifier: + workspaceDataFilterColumns: + - name: wdf__state + dataType: STRING + - name: wdf__region + dataType: STRING + workspaceDataFilterReferences: + - filterId: id: wdf__state type: workspaceDataFilter filterColumn: wdf__state filterColumnDataType: STRING - - workspaceDataFilterIdentifier: + - filterId: id: wdf__region type: workspaceDataFilter filterColumn: wdf__region @@ -1143,12 +1151,12 @@ interactions: grain: - id: campaign_channel_id type: attribute - order: 0 referenceProperties: - identifier: id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - campaign_id sourceColumnDataTypes: @@ -1238,7 +1246,6 @@ interactions: grain: - id: campaign_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:campaigns dataSourceTablePath: - demo @@ -1295,7 +1302,6 @@ interactions: grain: - id: customer_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:customers dataSourceTablePath: - demo @@ -1421,7 +1427,6 @@ interactions: grain: - id: product_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:products dataSourceTablePath: - demo @@ -1525,8 +1530,8 @@ interactions: links: self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_id links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels,datasets&page=0&size=500 - next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels,datasets&page=1&size=500 + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&page=1&size=500 - request: method: GET uri: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500 @@ -1554,7 +1559,7 @@ interactions: Connection: - keep-alive Content-Length: - - '13953' + - '14899' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -1601,6 +1606,54 @@ interactions: body: string: data: + - id: date + type: dataset + attributes: + title: Date + description: '' + tags: + - Date + areRelationsValid: true + type: DATE + relationships: + attributes: + data: + - id: date.quarter + type: attribute + - id: date.minute + type: attribute + - id: date.hourOfDay + type: attribute + - id: date.minuteOfHour + type: attribute + - id: date.dayOfYear + type: attribute + - id: date.monthOfYear + type: attribute + - id: date.weekOfYear + type: attribute + - id: date.week + type: attribute + - id: date.year + type: attribute + - id: date.dayOfWeek + type: attribute + - id: date.hour + type: attribute + - id: date.dayOfMonth + type: attribute + - id: date.month + type: attribute + - id: date.quarterOfYear + type: attribute + - id: date.day + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date + meta: + origin: + originType: NATIVE + originId: demo - id: campaign_channels type: dataset attributes: @@ -1611,16 +1664,20 @@ interactions: grain: - id: campaign_channel_id type: attribute - order: 0 referenceProperties: - identifier: id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - campaign_id - sourceColumnDataTypes: null + sourceColumnDataTypes: + - INT dataSourceTableId: demo-test-ds:campaign_channels + dataSourceTablePath: + - demo + - campaign_channels areRelationsValid: true type: NORMAL relationships: @@ -1628,10 +1685,10 @@ interactions: data: - id: campaign_channel_id type: attribute - - id: type - type: attribute - id: campaign_channels.category type: attribute + - id: type + type: attribute facts: data: - id: budget @@ -1644,6 +1701,68 @@ interactions: origin: originType: NATIVE originId: demo + - id: campaigns + 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 + relationships: + attributes: + data: + - id: campaign_id + type: attribute + - id: campaign_name + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns + meta: + origin: + originType: NATIVE + originId: demo + - id: customers + 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 + relationships: + attributes: + data: + - id: customer_id + type: attribute + - id: state + type: attribute + - id: customer_name + type: attribute + - id: region + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers + meta: + origin: + originType: NATIVE + originId: demo - id: order_lines type: dataset attributes: @@ -1654,45 +1773,60 @@ interactions: grain: - id: order_line_id type: attribute - order: 0 referenceProperties: - identifier: - id: products + id: date type: dataset multivalue: false + sources: null sourceColumns: - - product_id - sourceColumnDataTypes: null + - date + sourceColumnDataTypes: + - DATE - identifier: id: customers type: dataset multivalue: false + sources: null sourceColumns: - customer_id - sourceColumnDataTypes: null + sourceColumnDataTypes: + - INT - identifier: - id: date + id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - - date - sourceColumnDataTypes: null + - campaign_id + sourceColumnDataTypes: + - INT - identifier: - id: campaigns + id: products type: dataset multivalue: false + sources: null sourceColumns: - - campaign_id - sourceColumnDataTypes: null + - product_id + sourceColumnDataTypes: + - INT dataSourceTableId: demo-test-ds:order_lines + dataSourceTablePath: + - demo + - order_lines areRelationsValid: true - workspaceDataFilterProperties: - - workspaceDataFilterIdentifier: + workspaceDataFilterColumns: + - name: wdf__state + dataType: STRING + - name: wdf__region + dataType: STRING + workspaceDataFilterReferences: + - filterId: id: wdf__state type: workspaceDataFilter filterColumn: wdf__state filterColumnDataType: STRING - - workspaceDataFilterIdentifier: + - filterId: id: wdf__region type: workspaceDataFilter filterColumn: wdf__region @@ -1701,12 +1835,12 @@ interactions: relationships: attributes: data: - - id: order_status - type: attribute - id: order_id type: attribute - id: order_line_id type: attribute + - id: order_status + type: attribute facts: data: - id: price @@ -1729,18 +1863,20 @@ interactions: grain: - id: product_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:products + dataSourceTablePath: + - demo + - products areRelationsValid: true type: NORMAL relationships: attributes: data: - - id: product_name + - id: products.category type: attribute - id: product_id type: attribute - - id: products.category + - id: product_name type: attribute links: self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/products @@ -1748,112 +1884,6 @@ interactions: origin: originType: NATIVE originId: demo - - id: date - type: dataset - attributes: - title: Date - description: '' - tags: - - Date - areRelationsValid: true - type: DATE - relationships: - attributes: - data: - - id: date.quarterOfYear - type: attribute - - id: date.weekOfYear - type: attribute - - id: date.dayOfMonth - type: attribute - - id: date.monthOfYear - type: attribute - - id: date.minuteOfHour - type: attribute - - id: date.hour - type: attribute - - id: date.year - type: attribute - - id: date.week - type: attribute - - id: date.quarter - type: attribute - - id: date.dayOfYear - type: attribute - - id: date.dayOfWeek - type: attribute - - id: date.minute - type: attribute - - id: date.day - type: attribute - - id: date.month - type: attribute - - id: date.hourOfDay - type: attribute - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date - meta: - origin: - originType: NATIVE - originId: demo - - id: campaigns - type: dataset - attributes: - title: Campaigns - description: Campaigns - tags: - - Campaigns - grain: - - id: campaign_id - type: attribute - order: 0 - dataSourceTableId: demo-test-ds:campaigns - areRelationsValid: true - type: NORMAL - relationships: - attributes: - data: - - id: campaign_id - type: attribute - - id: campaign_name - type: attribute - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns - meta: - origin: - originType: NATIVE - originId: demo - - id: customers - type: dataset - attributes: - title: Customers - description: Customers - tags: - - Customers - grain: - - id: customer_id - type: attribute - order: 0 - dataSourceTableId: demo-test-ds:customers - areRelationsValid: true - type: NORMAL - relationships: - attributes: - data: - - id: region - type: attribute - - id: state - type: attribute - - id: customer_id - type: attribute - - id: customer_name - type: attribute - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers - meta: - origin: - originType: NATIVE - originId: demo included: - id: product_id type: attribute @@ -1863,6 +1893,7 @@ interactions: tags: - Products sourceColumn: product_id + sourceColumnDataType: INT links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id - id: budget @@ -1873,6 +1904,7 @@ interactions: tags: - Campaign channels sourceColumn: budget + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/budget - id: date.year @@ -1893,6 +1925,7 @@ interactions: tags: - Products sourceColumn: product_name + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name - id: date.month @@ -1913,6 +1946,7 @@ interactions: tags: - Products sourceColumn: category + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category - id: date.dayOfMonth @@ -1953,6 +1987,7 @@ interactions: tags: - Campaign channels sourceColumn: category + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category - id: date.minute @@ -1973,6 +2008,7 @@ interactions: tags: - Customers sourceColumn: state + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state - id: date.week @@ -1993,6 +2029,7 @@ interactions: tags: - Order lines sourceColumn: order_id + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id - id: date.hour @@ -2013,6 +2050,7 @@ interactions: tags: - Campaigns sourceColumn: campaign_name + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name - id: price @@ -2023,6 +2061,7 @@ interactions: tags: - Order lines sourceColumn: price + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/price - id: date.dayOfWeek @@ -2053,6 +2092,7 @@ interactions: tags: - Customers sourceColumn: region + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region - id: campaign_channel_id @@ -2063,6 +2103,7 @@ interactions: tags: - Campaign channels sourceColumn: campaign_channel_id + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id - id: customer_id @@ -2073,6 +2114,7 @@ interactions: tags: - Customers sourceColumn: customer_id + sourceColumnDataType: INT links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id - id: date.hourOfDay @@ -2093,6 +2135,7 @@ interactions: tags: - Order lines sourceColumn: quantity + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity - id: campaign_id @@ -2103,6 +2146,7 @@ interactions: tags: - Campaigns sourceColumn: campaign_id + sourceColumnDataType: INT links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id - id: type @@ -2113,6 +2157,7 @@ interactions: tags: - Campaign channels sourceColumn: type + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type - id: spend @@ -2123,6 +2168,7 @@ interactions: tags: - Campaign channels sourceColumn: spend + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/spend - id: date.dayOfYear @@ -2163,6 +2209,7 @@ interactions: tags: - Order lines sourceColumn: order_status + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status - id: date.monthOfYear @@ -2183,6 +2230,7 @@ interactions: tags: - Customers sourceColumn: customer_name + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name - id: order_line_id @@ -2193,11 +2241,12 @@ interactions: tags: - Order lines sourceColumn: order_line_id + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=0&size=500 - next: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=1&size=500 + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=1&size=500 - request: method: GET uri: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500 @@ -2225,7 +2274,7 @@ interactions: Connection: - keep-alive Content-Length: - - '9799' + - '10543' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -2277,6 +2326,7 @@ interactions: attributes: title: '# of Active Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0' maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) @@ -2291,6 +2341,7 @@ interactions: attributes: title: '# of Orders' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0' maql: SELECT COUNT({attribute/order_id}) @@ -2305,6 +2356,7 @@ interactions: attributes: title: '# of Top Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0' maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT @@ -2321,6 +2373,7 @@ interactions: title: '# of Valid Orders' description: '' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.00' maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} @@ -2336,6 +2389,7 @@ interactions: attributes: title: Campaign Spend areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT SUM({fact/spend}) @@ -2350,6 +2404,7 @@ interactions: attributes: title: Order Amount areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT SUM({fact/price}*{fact/quantity}) @@ -2364,6 +2419,7 @@ interactions: attributes: title: '% Revenue' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / {metric/total_revenue} @@ -2378,6 +2434,7 @@ interactions: attributes: title: '% Revenue from Top 10 Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ @@ -2393,6 +2450,7 @@ interactions: attributes: title: '% Revenue from Top 10% Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ @@ -2408,6 +2466,7 @@ interactions: attributes: title: '% Revenue from Top 10% Products' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ @@ -2423,6 +2482,7 @@ interactions: attributes: title: '% Revenue from Top 10 Products' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ @@ -2438,6 +2498,7 @@ interactions: attributes: title: '% Revenue in Category' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, @@ -2453,6 +2514,7 @@ interactions: attributes: title: '% Revenue per Product' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL @@ -2469,6 +2531,7 @@ interactions: title: Revenue description: '' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} @@ -2484,6 +2547,7 @@ interactions: attributes: title: Revenue (Clothing) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2499,6 +2563,7 @@ interactions: attributes: title: Revenue (Electronic) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2514,6 +2579,7 @@ interactions: attributes: title: Revenue (Home) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2529,6 +2595,7 @@ interactions: attributes: title: Revenue (Outdoor) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2544,6 +2611,7 @@ interactions: attributes: title: Revenue per Customer areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0.0 maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) @@ -2558,6 +2626,7 @@ interactions: attributes: title: Revenue per Dollar Spent areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0.0 maql: SELECT {metric/revenue} / {metric/campaign_spend} @@ -2572,6 +2641,7 @@ interactions: attributes: title: Revenue / Top 10 areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) @@ -2586,6 +2656,7 @@ interactions: attributes: title: Revenue / Top 10% areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) @@ -2600,6 +2671,7 @@ interactions: attributes: title: Total Revenue areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} BY ALL OTHER @@ -2614,6 +2686,7 @@ interactions: attributes: title: Total Revenue (No Filters) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER @@ -2628,7 +2701,7 @@ interactions: next: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=1&size=500 - request: method: GET - uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/dd1ff5143c90994331bce565ebcd4c5b3a37c17a?offset=0%2C0&limit=2%2C1000 + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/e5324ed0a1e74c1346c14a2df4fda6b263696902?offset=0%2C0&limit=2%2C1000 body: null headers: Accept: @@ -2698,7 +2771,7 @@ interactions: X-XSS-Protection: - 1 ; mode=block content-length: - - '43771' + - '43407' body: string: data: @@ -2884,188 +2957,188 @@ interactions: - 2638.54 - 1684.95 - 5646.42 - - - 21.0 - - 11.0 - - 7.0 - - 3.0 - - 19.0 - - 14.0 - - 12.0 - - 3.0 - - 60.0 - - 35.0 - - 25.0 - - 5.0 - - 15.0 - - 5.0 - - 9.0 - - 3.0 - - 269.0 - - 146.0 - - 118.0 - - 41.0 - - 37.0 - - 20.0 - - 13.0 - - 8.0 - - 22.0 - - 15.0 - - 9.0 - - 1.0 - - 14.0 - - 7.0 - - 5.0 - - 2.0 - - 67.0 - - 49.0 - - 41.0 - - 7.0 - - 199.0 - - 109.0 - - 86.0 - - 30.0 - - 40.0 - - 25.0 - - 15.0 - - 4.0 - - 17.0 - - 14.0 - - 6.0 - - 4.0 - - 4.0 - - 5.0 - - 2.0 - - 2.0 - - 51.0 - - 26.0 - - 24.0 - - 3.0 - - 24.0 - - 14.0 - - 9.0 - - 6.0 - - 47.0 - - 27.0 - - 22.0 - - 8.0 - - 23.0 - - 9.0 - - 12.0 - - 3.0 - - 35.0 - - 18.0 - - 9.0 - - 1.0 - - 33.0 - - 23.0 - - 19.0 - - 4.0 - - 37.0 - - 13.0 - - 17.0 - - 6.0 - - 24.0 - - 15.0 - - 6.0 - - 1.0 - - 26.0 - - 18.0 - - 19.0 - - 5.0 - - 46.0 - - 31.0 - - 19.0 - - 4.0 - - 8.0 - - 3.0 - - 3.0 - - 3.0 - - 56.0 - - 18.0 - - 25.0 - - 5.0 - - 16.0 - - 6.0 - - 4.0 - - 13.0 - - 9.0 - - 8.0 - - 3.0 - - 13.0 - - 7.0 - - 3.0 - - 6.0 - - 5.0 - - 20.0 - - 9.0 - - 4.0 - - 1.0 - - 13.0 - - 7.0 - - 8.0 - - 121.0 - - 58.0 - - 51.0 - - 11.0 - - 39.0 - - 18.0 - - 20.0 - - 7.0 - - 2.0 - - 1.0 - - 1.0 - - 75.0 - - 44.0 - - 40.0 - - 9.0 - - 24.0 - - 11.0 - - 10.0 - - 5.0 - - 21.0 - - 9.0 - - 15.0 - - 4.0 - - 49.0 - - 25.0 - - 19.0 - - 10.0 - - 1.0 - - 26.0 - - 11.0 - - 9.0 - - 2.0 - - 7.0 - - 3.0 - - 1.0 - - 35.0 - - 17.0 - - 8.0 - - 3.0 - - 220.0 - - 132.0 - - 123.0 - - 28.0 - - 25.0 - - 16.0 - - 11.0 - - 4.0 - - 75.0 - - 37.0 - - 39.0 - - 12.0 - - 30.0 - - 15.0 - - 6.0 - - 5.0 - - 16.0 - - 8.0 - - 11.0 - - 2.0 - - 45.0 - - 23.0 - - 20.0 - - 9.0 + - - 21 + - 11 + - 7 + - 3 + - 19 + - 14 + - 12 + - 3 + - 60 + - 35 + - 25 + - 5 + - 15 + - 5 + - 9 + - 3 + - 269 + - 146 + - 118 + - 41 + - 37 + - 20 + - 13 + - 8 + - 22 + - 15 + - 9 + - 1 + - 14 + - 7 + - 5 + - 2 + - 67 + - 49 + - 41 + - 7 + - 199 + - 109 + - 86 + - 30 + - 40 + - 25 + - 15 + - 4 + - 17 + - 14 + - 6 + - 4 + - 4 + - 5 + - 2 + - 2 + - 51 + - 26 + - 24 + - 3 + - 24 + - 14 + - 9 + - 6 + - 47 + - 27 + - 22 + - 8 + - 23 + - 9 + - 12 + - 3 + - 35 + - 18 + - 9 + - 1 + - 33 + - 23 + - 19 + - 4 + - 37 + - 13 + - 17 + - 6 + - 24 + - 15 + - 6 + - 1 + - 26 + - 18 + - 19 + - 5 + - 46 + - 31 + - 19 + - 4 + - 8 + - 3 + - 3 + - 3 + - 56 + - 18 + - 25 + - 5 + - 16 + - 6 + - 4 + - 13 + - 9 + - 8 + - 3 + - 13 + - 7 + - 3 + - 6 + - 5 + - 20 + - 9 + - 4 + - 1 + - 13 + - 7 + - 8 + - 121 + - 58 + - 51 + - 11 + - 39 + - 18 + - 20 + - 7 + - 2 + - 1 + - 1 + - 75 + - 44 + - 40 + - 9 + - 24 + - 11 + - 10 + - 5 + - 21 + - 9 + - 15 + - 4 + - 49 + - 25 + - 19 + - 10 + - 1 + - 26 + - 11 + - 9 + - 2 + - 7 + - 3 + - 1 + - 35 + - 17 + - 8 + - 3 + - 220 + - 132 + - 123 + - 28 + - 25 + - 16 + - 11 + - 4 + - 75 + - 37 + - 39 + - 12 + - 30 + - 15 + - 6 + - 5 + - 16 + - 8 + - 11 + - 2 + - 45 + - 23 + - 20 + - 9 dimensionHeaders: - headerGroups: - headers: diff --git a/gooddata-pandas/tests/dataframe/fixtures/not_indexed_filtered_metrics_and_labels.yaml b/gooddata-pandas/tests/dataframe/fixtures/not_indexed_filtered_metrics_and_labels.yaml index e1f1749f5..2c6496112 100644 --- a/gooddata-pandas/tests/dataframe/fixtures/not_indexed_filtered_metrics_and_labels.yaml +++ b/gooddata-pandas/tests/dataframe/fixtures/not_indexed_filtered_metrics_and_labels.yaml @@ -150,7 +150,7 @@ interactions: type: label localIdentifier: dim_1 links: - executionResult: 766f9ce90b606c63420ae33577d58254fe6090bb + executionResult: c18d54380af4f23ee4ac9bab9459c0f1b0b59e1c - request: method: GET uri: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&page=0&size=500 @@ -178,7 +178,7 @@ interactions: Connection: - keep-alive Content-Length: - - '27018' + - '27121' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -225,743 +225,743 @@ interactions: body: string: data: - - id: campaign_channels.category + - id: date.minute type: attribute attributes: - title: Category - description: Category + title: Date - Minute + description: Minute tags: - - Campaign channels + - Date + granularity: MINUTE areRelationsValid: true - sourceColumn: category - sourceColumnDataType: STRING relationships: dataset: data: - id: campaign_channels + id: date type: dataset labels: data: - - id: campaign_channels.category + - id: date.minute type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute meta: origin: originType: NATIVE originId: demo - - id: campaign_channel_id + - id: date.hour type: attribute attributes: - title: Campaign channel id - description: Campaign channel id + title: Date - Hour + description: Hour tags: - - Campaign channels + - Date + granularity: HOUR areRelationsValid: true - sourceColumn: campaign_channel_id - sourceColumnDataType: STRING relationships: dataset: data: - id: campaign_channels + id: date type: dataset labels: data: - - id: campaign_channel_id + - id: date.hour type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour meta: origin: originType: NATIVE originId: demo - - id: type + - id: date.day type: attribute attributes: - title: Type - description: Type + title: Date - Date + description: Date tags: - - Campaign channels + - Date + granularity: DAY areRelationsValid: true - sourceColumn: type - sourceColumnDataType: STRING relationships: dataset: data: - id: campaign_channels + id: date type: dataset labels: data: - - id: type + - id: date.day type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day meta: origin: originType: NATIVE originId: demo - - id: campaign_name + - id: date.week type: attribute attributes: - title: Campaign name - description: Campaign name + title: Date - Week/Year + description: Week and Year (W52/2020) tags: - - Campaigns + - Date + granularity: WEEK areRelationsValid: true - sourceColumn: campaign_name - sourceColumnDataType: STRING relationships: dataset: data: - id: campaigns + id: date type: dataset labels: data: - - id: campaign_name + - id: date.week type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week meta: origin: originType: NATIVE originId: demo - - id: campaign_id + - id: date.month type: attribute attributes: - title: Campaign id - description: Campaign id + title: Date - Month/Year + description: Month and Year (12/2020) tags: - - Campaigns + - Date + granularity: MONTH areRelationsValid: true - sourceColumn: campaign_id - sourceColumnDataType: INT relationships: dataset: data: - id: campaigns + id: date type: dataset labels: data: - - id: campaign_id + - id: date.month type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month meta: origin: originType: NATIVE originId: demo - - id: state + - id: date.quarter type: attribute attributes: - title: State - description: State + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) tags: - - Customers + - Date + granularity: QUARTER areRelationsValid: true - sourceColumn: state - sourceColumnDataType: STRING relationships: - defaultView: - data: - id: state - type: label dataset: data: - id: customers + id: date type: dataset labels: data: - - id: state - type: label - - id: geo__state__location + - id: date.quarter type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter meta: origin: originType: NATIVE originId: demo - - id: region + - id: date.year type: attribute attributes: - title: Region - description: Region + title: Date - Year + description: Year tags: - - Customers + - Date + granularity: YEAR areRelationsValid: true - sourceColumn: region - sourceColumnDataType: STRING relationships: dataset: data: - id: customers + id: date type: dataset labels: data: - - id: region + - id: date.year type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year meta: origin: originType: NATIVE originId: demo - - id: customer_name + - id: date.minuteOfHour type: attribute attributes: - title: Customer name - description: Customer name + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) tags: - - Customers + - Date + granularity: MINUTE_OF_HOUR areRelationsValid: true - sourceColumn: customer_name - sourceColumnDataType: STRING relationships: dataset: data: - id: customers + id: date type: dataset labels: data: - - id: customer_name + - id: date.minuteOfHour type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour meta: origin: originType: NATIVE originId: demo - - id: customer_id + - id: date.hourOfDay type: attribute attributes: - title: Customer id - description: Customer id + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) tags: - - Customers + - Date + granularity: HOUR_OF_DAY areRelationsValid: true - sourceColumn: customer_id - sourceColumnDataType: INT relationships: dataset: data: - id: customers + id: date type: dataset labels: data: - - id: customer_id + - id: date.hourOfDay type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay meta: origin: originType: NATIVE originId: demo - - id: order_status + - id: date.dayOfWeek type: attribute attributes: - title: Order status - description: Order status + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) tags: - - Order lines + - Date + granularity: DAY_OF_WEEK areRelationsValid: true - sourceColumn: order_status - sourceColumnDataType: STRING relationships: dataset: data: - id: order_lines + id: date type: dataset labels: data: - - id: order_status + - id: date.dayOfWeek type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek meta: origin: originType: NATIVE originId: demo - - id: order_line_id + - id: date.dayOfMonth type: attribute attributes: - title: Order line id - description: Order line id + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) tags: - - Order lines + - Date + granularity: DAY_OF_MONTH areRelationsValid: true - sourceColumn: order_line_id - sourceColumnDataType: STRING relationships: dataset: data: - id: order_lines + id: date type: dataset labels: data: - - id: order_line_id + - id: date.dayOfMonth type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth meta: origin: originType: NATIVE originId: demo - - id: order_id + - id: date.dayOfYear type: attribute attributes: - title: Order id - description: Order id + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) tags: - - Order lines + - Date + granularity: DAY_OF_YEAR areRelationsValid: true - sourceColumn: order_id - sourceColumnDataType: STRING relationships: dataset: data: - id: order_lines + id: date type: dataset labels: data: - - id: order_id + - id: date.dayOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear meta: origin: originType: NATIVE originId: demo - - id: product_name + - id: date.weekOfYear type: attribute attributes: - title: Product name - description: Product name + title: Date - Week of Year + description: Generic Week (W1-W53) tags: - - Products + - Date + granularity: WEEK_OF_YEAR areRelationsValid: true - sourceColumn: product_name - sourceColumnDataType: STRING relationships: dataset: data: - id: products + id: date type: dataset labels: data: - - id: product_name + - id: date.weekOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear meta: origin: originType: NATIVE originId: demo - - id: product_id + - id: date.monthOfYear type: attribute attributes: - title: Product id - description: Product id + title: Date - Month of Year + description: Generic Month (M1-M12) tags: - - Products + - Date + granularity: MONTH_OF_YEAR areRelationsValid: true - sourceColumn: product_id - sourceColumnDataType: INT relationships: dataset: data: - id: products + id: date type: dataset labels: data: - - id: product_id + - id: date.monthOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear meta: origin: originType: NATIVE originId: demo - - id: products.category + - id: date.quarterOfYear type: attribute attributes: - title: Category - description: Category + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) tags: - - Products + - Date + granularity: QUARTER_OF_YEAR areRelationsValid: true - sourceColumn: category - sourceColumnDataType: STRING relationships: dataset: data: - id: products + id: date type: dataset labels: data: - - id: products.category + - id: date.quarterOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear meta: origin: originType: NATIVE originId: demo - - id: date.quarterOfYear + - id: campaign_channel_id type: attribute attributes: - title: Date - Quarter of Year - description: Generic Quarter (Q1-Q4) + title: Campaign channel id + description: Campaign channel id tags: - - Date - granularity: QUARTER_OF_YEAR + - Campaign channels areRelationsValid: true + sourceColumn: campaign_channel_id + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaign_channels type: dataset labels: data: - - id: date.quarterOfYear + - id: campaign_channel_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id meta: origin: originType: NATIVE originId: demo - - id: date.monthOfYear + - id: campaign_channels.category type: attribute attributes: - title: Date - Month of Year - description: Generic Month (M1-M12) + title: Category + description: Category tags: - - Date - granularity: MONTH_OF_YEAR + - Campaign channels areRelationsValid: true + sourceColumn: category + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaign_channels type: dataset labels: data: - - id: date.monthOfYear + - id: campaign_channels.category type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category meta: origin: originType: NATIVE originId: demo - - id: date.weekOfYear + - id: type type: attribute - attributes: - title: Date - Week of Year - description: Generic Week (W1-W53) + attributes: + title: Type + description: Type tags: - - Date - granularity: WEEK_OF_YEAR + - Campaign channels areRelationsValid: true + sourceColumn: type + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaign_channels type: dataset labels: data: - - id: date.weekOfYear + - id: type type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type meta: origin: originType: NATIVE originId: demo - - id: date.dayOfYear + - id: campaign_id type: attribute attributes: - title: Date - Day of Year - description: Generic Day of the Year (D1-D366) + title: Campaign id + description: Campaign id tags: - - Date - granularity: DAY_OF_YEAR + - Campaigns areRelationsValid: true + sourceColumn: campaign_id + sourceColumnDataType: INT relationships: dataset: data: - id: date + id: campaigns type: dataset labels: data: - - id: date.dayOfYear + - id: campaign_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id meta: origin: originType: NATIVE originId: demo - - id: date.dayOfMonth + - id: campaign_name type: attribute attributes: - title: Date - Day of Month - description: Generic Day of the Month (D1-D31) + title: Campaign name + description: Campaign name tags: - - Date - granularity: DAY_OF_MONTH + - Campaigns areRelationsValid: true + sourceColumn: campaign_name + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaigns type: dataset labels: data: - - id: date.dayOfMonth + - id: campaign_name type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name meta: origin: originType: NATIVE originId: demo - - id: date.dayOfWeek + - id: customer_id type: attribute attributes: - title: Date - Day of Week - description: Generic Day of the Week (D1-D7) + title: Customer id + description: Customer id tags: - - Date - granularity: DAY_OF_WEEK + - Customers areRelationsValid: true + sourceColumn: customer_id + sourceColumnDataType: INT relationships: dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.dayOfWeek + - id: customer_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id meta: origin: originType: NATIVE originId: demo - - id: date.hourOfDay + - id: customer_name type: attribute attributes: - title: Date - Hour of Day - description: Generic Hour of the Day(H1-H24) + title: Customer name + description: Customer name tags: - - Date - granularity: HOUR_OF_DAY + - Customers areRelationsValid: true + sourceColumn: customer_name + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.hourOfDay + - id: customer_name type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name meta: origin: originType: NATIVE originId: demo - - id: date.minuteOfHour + - id: region type: attribute attributes: - title: Date - Minute of Hour - description: Generic Minute of the Hour(MI1-MI60) + title: Region + description: Region tags: - - Date - granularity: MINUTE_OF_HOUR + - Customers areRelationsValid: true + sourceColumn: region + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.minuteOfHour + - id: region type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region meta: origin: originType: NATIVE originId: demo - - id: date.year + - id: state type: attribute attributes: - title: Date - Year - description: Year + title: State + description: State tags: - - Date - granularity: YEAR + - Customers areRelationsValid: true + sourceColumn: state + sourceColumnDataType: STRING relationships: + defaultView: + data: + id: state + type: label dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.year + - id: geo__state__location + type: label + - id: state type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state meta: origin: originType: NATIVE originId: demo - - id: date.quarter + - id: order_id type: attribute attributes: - title: Date - Quarter/Year - description: Quarter and Year (Q1/2020) + title: Order id + description: Order id tags: - - Date - granularity: QUARTER + - Order lines areRelationsValid: true + sourceColumn: order_id + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: order_lines type: dataset labels: data: - - id: date.quarter + - id: order_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id meta: origin: originType: NATIVE originId: demo - - id: date.month + - id: order_line_id type: attribute attributes: - title: Date - Month/Year - description: Month and Year (12/2020) + title: Order line id + description: Order line id tags: - - Date - granularity: MONTH + - Order lines areRelationsValid: true + sourceColumn: order_line_id + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: order_lines type: dataset labels: data: - - id: date.month + - id: order_line_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id meta: origin: originType: NATIVE originId: demo - - id: date.week + - id: order_status type: attribute attributes: - title: Date - Week/Year - description: Week and Year (W52/2020) + title: Order status + description: Order status tags: - - Date - granularity: WEEK + - Order lines areRelationsValid: true + sourceColumn: order_status + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: order_lines type: dataset labels: data: - - id: date.week + - id: order_status type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status meta: origin: originType: NATIVE originId: demo - - id: date.day + - id: product_id type: attribute attributes: - title: Date - Date - description: Date + title: Product id + description: Product id tags: - - Date - granularity: DAY + - Products areRelationsValid: true + sourceColumn: product_id + sourceColumnDataType: INT relationships: dataset: data: - id: date + id: products type: dataset labels: data: - - id: date.day + - id: product_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id meta: origin: originType: NATIVE originId: demo - - id: date.hour + - id: product_name type: attribute attributes: - title: Date - Hour - description: Hour + title: Product name + description: Product name tags: - - Date - granularity: HOUR + - Products areRelationsValid: true + sourceColumn: product_name + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: products type: dataset labels: data: - - id: date.hour + - id: product_name type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name meta: origin: originType: NATIVE originId: demo - - id: date.minute + - id: products.category type: attribute attributes: - title: Date - Minute - description: Minute + title: Category + description: Category tags: - - Date - granularity: MINUTE + - Products areRelationsValid: true + sourceColumn: category + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: products type: dataset labels: data: - - id: date.minute + - id: products.category type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category meta: origin: originType: NATIVE @@ -1025,51 +1025,59 @@ interactions: grain: - id: order_line_id type: attribute - order: 0 referenceProperties: - identifier: - id: products + id: date type: dataset multivalue: false + sources: null sourceColumns: - - product_id + - date sourceColumnDataTypes: - - INT + - DATE - identifier: id: customers type: dataset multivalue: false + sources: null sourceColumns: - customer_id sourceColumnDataTypes: - INT - identifier: - id: date + id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - - date + - campaign_id sourceColumnDataTypes: - - DATE + - INT - identifier: - id: campaigns + id: products type: dataset multivalue: false + sources: null sourceColumns: - - campaign_id + - product_id sourceColumnDataTypes: - INT dataSourceTableId: demo-test-ds:order_lines dataSourceTablePath: - demo - order_lines - workspaceDataFilterProperties: - - workspaceDataFilterIdentifier: + workspaceDataFilterColumns: + - name: wdf__state + dataType: STRING + - name: wdf__region + dataType: STRING + workspaceDataFilterReferences: + - filterId: id: wdf__state type: workspaceDataFilter filterColumn: wdf__state filterColumnDataType: STRING - - workspaceDataFilterIdentifier: + - filterId: id: wdf__region type: workspaceDataFilter filterColumn: wdf__region @@ -1111,12 +1119,12 @@ interactions: grain: - id: campaign_channel_id type: attribute - order: 0 referenceProperties: - identifier: id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - campaign_id sourceColumnDataTypes: @@ -1206,7 +1214,6 @@ interactions: grain: - id: campaign_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:campaigns dataSourceTablePath: - demo @@ -1263,7 +1270,6 @@ interactions: grain: - id: customer_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:customers dataSourceTablePath: - demo @@ -1389,7 +1395,6 @@ interactions: grain: - id: product_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:products dataSourceTablePath: - demo @@ -1493,8 +1498,8 @@ interactions: links: self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_id links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels,datasets&page=0&size=500 - next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels,datasets&page=1&size=500 + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&page=1&size=500 - request: method: GET uri: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500 @@ -1522,7 +1527,7 @@ interactions: Connection: - keep-alive Content-Length: - - '13953' + - '14899' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -1569,6 +1574,54 @@ interactions: body: string: data: + - id: date + type: dataset + attributes: + title: Date + description: '' + tags: + - Date + areRelationsValid: true + type: DATE + relationships: + attributes: + data: + - id: date.quarter + type: attribute + - id: date.minute + type: attribute + - id: date.hourOfDay + type: attribute + - id: date.minuteOfHour + type: attribute + - id: date.dayOfYear + type: attribute + - id: date.monthOfYear + type: attribute + - id: date.weekOfYear + type: attribute + - id: date.week + type: attribute + - id: date.year + type: attribute + - id: date.dayOfWeek + type: attribute + - id: date.hour + type: attribute + - id: date.dayOfMonth + type: attribute + - id: date.month + type: attribute + - id: date.quarterOfYear + type: attribute + - id: date.day + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date + meta: + origin: + originType: NATIVE + originId: demo - id: campaign_channels type: dataset attributes: @@ -1579,16 +1632,20 @@ interactions: grain: - id: campaign_channel_id type: attribute - order: 0 referenceProperties: - identifier: id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - campaign_id - sourceColumnDataTypes: null + sourceColumnDataTypes: + - INT dataSourceTableId: demo-test-ds:campaign_channels + dataSourceTablePath: + - demo + - campaign_channels areRelationsValid: true type: NORMAL relationships: @@ -1596,10 +1653,10 @@ interactions: data: - id: campaign_channel_id type: attribute - - id: type - type: attribute - id: campaign_channels.category type: attribute + - id: type + type: attribute facts: data: - id: budget @@ -1612,6 +1669,68 @@ interactions: origin: originType: NATIVE originId: demo + - id: campaigns + 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 + relationships: + attributes: + data: + - id: campaign_id + type: attribute + - id: campaign_name + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns + meta: + origin: + originType: NATIVE + originId: demo + - id: customers + 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 + relationships: + attributes: + data: + - id: customer_id + type: attribute + - id: state + type: attribute + - id: customer_name + type: attribute + - id: region + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers + meta: + origin: + originType: NATIVE + originId: demo - id: order_lines type: dataset attributes: @@ -1622,45 +1741,60 @@ interactions: grain: - id: order_line_id type: attribute - order: 0 referenceProperties: - identifier: - id: products + id: date type: dataset multivalue: false + sources: null sourceColumns: - - product_id - sourceColumnDataTypes: null + - date + sourceColumnDataTypes: + - DATE - identifier: id: customers type: dataset multivalue: false + sources: null sourceColumns: - customer_id - sourceColumnDataTypes: null + sourceColumnDataTypes: + - INT - identifier: - id: date + id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - - date - sourceColumnDataTypes: null + - campaign_id + sourceColumnDataTypes: + - INT - identifier: - id: campaigns + id: products type: dataset multivalue: false + sources: null sourceColumns: - - campaign_id - sourceColumnDataTypes: null + - product_id + sourceColumnDataTypes: + - INT dataSourceTableId: demo-test-ds:order_lines + dataSourceTablePath: + - demo + - order_lines areRelationsValid: true - workspaceDataFilterProperties: - - workspaceDataFilterIdentifier: + workspaceDataFilterColumns: + - name: wdf__state + dataType: STRING + - name: wdf__region + dataType: STRING + workspaceDataFilterReferences: + - filterId: id: wdf__state type: workspaceDataFilter filterColumn: wdf__state filterColumnDataType: STRING - - workspaceDataFilterIdentifier: + - filterId: id: wdf__region type: workspaceDataFilter filterColumn: wdf__region @@ -1669,12 +1803,12 @@ interactions: relationships: attributes: data: - - id: order_status - type: attribute - id: order_id type: attribute - id: order_line_id type: attribute + - id: order_status + type: attribute facts: data: - id: price @@ -1697,18 +1831,20 @@ interactions: grain: - id: product_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:products + dataSourceTablePath: + - demo + - products areRelationsValid: true type: NORMAL relationships: attributes: data: - - id: product_name + - id: products.category type: attribute - id: product_id type: attribute - - id: products.category + - id: product_name type: attribute links: self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/products @@ -1716,112 +1852,6 @@ interactions: origin: originType: NATIVE originId: demo - - id: date - type: dataset - attributes: - title: Date - description: '' - tags: - - Date - areRelationsValid: true - type: DATE - relationships: - attributes: - data: - - id: date.quarterOfYear - type: attribute - - id: date.weekOfYear - type: attribute - - id: date.dayOfMonth - type: attribute - - id: date.monthOfYear - type: attribute - - id: date.minuteOfHour - type: attribute - - id: date.hour - type: attribute - - id: date.year - type: attribute - - id: date.week - type: attribute - - id: date.quarter - type: attribute - - id: date.dayOfYear - type: attribute - - id: date.dayOfWeek - type: attribute - - id: date.minute - type: attribute - - id: date.day - type: attribute - - id: date.month - type: attribute - - id: date.hourOfDay - type: attribute - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date - meta: - origin: - originType: NATIVE - originId: demo - - id: campaigns - type: dataset - attributes: - title: Campaigns - description: Campaigns - tags: - - Campaigns - grain: - - id: campaign_id - type: attribute - order: 0 - dataSourceTableId: demo-test-ds:campaigns - areRelationsValid: true - type: NORMAL - relationships: - attributes: - data: - - id: campaign_id - type: attribute - - id: campaign_name - type: attribute - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns - meta: - origin: - originType: NATIVE - originId: demo - - id: customers - type: dataset - attributes: - title: Customers - description: Customers - tags: - - Customers - grain: - - id: customer_id - type: attribute - order: 0 - dataSourceTableId: demo-test-ds:customers - areRelationsValid: true - type: NORMAL - relationships: - attributes: - data: - - id: region - type: attribute - - id: state - type: attribute - - id: customer_id - type: attribute - - id: customer_name - type: attribute - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers - meta: - origin: - originType: NATIVE - originId: demo included: - id: product_id type: attribute @@ -1831,6 +1861,7 @@ interactions: tags: - Products sourceColumn: product_id + sourceColumnDataType: INT links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id - id: budget @@ -1841,6 +1872,7 @@ interactions: tags: - Campaign channels sourceColumn: budget + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/budget - id: date.year @@ -1861,6 +1893,7 @@ interactions: tags: - Products sourceColumn: product_name + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name - id: date.month @@ -1881,6 +1914,7 @@ interactions: tags: - Products sourceColumn: category + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category - id: date.dayOfMonth @@ -1921,6 +1955,7 @@ interactions: tags: - Campaign channels sourceColumn: category + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category - id: date.minute @@ -1941,6 +1976,7 @@ interactions: tags: - Customers sourceColumn: state + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state - id: date.week @@ -1961,6 +1997,7 @@ interactions: tags: - Order lines sourceColumn: order_id + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id - id: date.hour @@ -1981,6 +2018,7 @@ interactions: tags: - Campaigns sourceColumn: campaign_name + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name - id: price @@ -1991,6 +2029,7 @@ interactions: tags: - Order lines sourceColumn: price + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/price - id: date.dayOfWeek @@ -2021,6 +2060,7 @@ interactions: tags: - Customers sourceColumn: region + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region - id: campaign_channel_id @@ -2031,6 +2071,7 @@ interactions: tags: - Campaign channels sourceColumn: campaign_channel_id + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id - id: customer_id @@ -2041,6 +2082,7 @@ interactions: tags: - Customers sourceColumn: customer_id + sourceColumnDataType: INT links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id - id: date.hourOfDay @@ -2061,6 +2103,7 @@ interactions: tags: - Order lines sourceColumn: quantity + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity - id: campaign_id @@ -2071,6 +2114,7 @@ interactions: tags: - Campaigns sourceColumn: campaign_id + sourceColumnDataType: INT links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id - id: type @@ -2081,6 +2125,7 @@ interactions: tags: - Campaign channels sourceColumn: type + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type - id: spend @@ -2091,6 +2136,7 @@ interactions: tags: - Campaign channels sourceColumn: spend + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/spend - id: date.dayOfYear @@ -2131,6 +2177,7 @@ interactions: tags: - Order lines sourceColumn: order_status + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status - id: date.monthOfYear @@ -2151,6 +2198,7 @@ interactions: tags: - Customers sourceColumn: customer_name + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name - id: order_line_id @@ -2161,11 +2209,12 @@ interactions: tags: - Order lines sourceColumn: order_line_id + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=0&size=500 - next: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=1&size=500 + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=1&size=500 - request: method: GET uri: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500 @@ -2193,7 +2242,7 @@ interactions: Connection: - keep-alive Content-Length: - - '9799' + - '10543' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -2245,6 +2294,7 @@ interactions: attributes: title: '# of Active Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0' maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) @@ -2259,6 +2309,7 @@ interactions: attributes: title: '# of Orders' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0' maql: SELECT COUNT({attribute/order_id}) @@ -2273,6 +2324,7 @@ interactions: attributes: title: '# of Top Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0' maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT @@ -2289,6 +2341,7 @@ interactions: title: '# of Valid Orders' description: '' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.00' maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} @@ -2304,6 +2357,7 @@ interactions: attributes: title: Campaign Spend areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT SUM({fact/spend}) @@ -2318,6 +2372,7 @@ interactions: attributes: title: Order Amount areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT SUM({fact/price}*{fact/quantity}) @@ -2332,6 +2387,7 @@ interactions: attributes: title: '% Revenue' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / {metric/total_revenue} @@ -2346,6 +2402,7 @@ interactions: attributes: title: '% Revenue from Top 10 Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ @@ -2361,6 +2418,7 @@ interactions: attributes: title: '% Revenue from Top 10% Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ @@ -2376,6 +2434,7 @@ interactions: attributes: title: '% Revenue from Top 10% Products' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ @@ -2391,6 +2450,7 @@ interactions: attributes: title: '% Revenue from Top 10 Products' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ @@ -2406,6 +2466,7 @@ interactions: attributes: title: '% Revenue in Category' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, @@ -2421,6 +2482,7 @@ interactions: attributes: title: '% Revenue per Product' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL @@ -2437,6 +2499,7 @@ interactions: title: Revenue description: '' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} @@ -2452,6 +2515,7 @@ interactions: attributes: title: Revenue (Clothing) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2467,6 +2531,7 @@ interactions: attributes: title: Revenue (Electronic) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2482,6 +2547,7 @@ interactions: attributes: title: Revenue (Home) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2497,6 +2563,7 @@ interactions: attributes: title: Revenue (Outdoor) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2512,6 +2579,7 @@ interactions: attributes: title: Revenue per Customer areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0.0 maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) @@ -2526,6 +2594,7 @@ interactions: attributes: title: Revenue per Dollar Spent areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0.0 maql: SELECT {metric/revenue} / {metric/campaign_spend} @@ -2540,6 +2609,7 @@ interactions: attributes: title: Revenue / Top 10 areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) @@ -2554,6 +2624,7 @@ interactions: attributes: title: Revenue / Top 10% areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) @@ -2568,6 +2639,7 @@ interactions: attributes: title: Total Revenue areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} BY ALL OTHER @@ -2582,6 +2654,7 @@ interactions: attributes: title: Total Revenue (No Filters) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER @@ -2596,7 +2669,7 @@ interactions: next: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=1&size=500 - request: method: GET - uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/766f9ce90b606c63420ae33577d58254fe6090bb?offset=0%2C0&limit=2%2C1000 + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/c18d54380af4f23ee4ac9bab9459c0f1b0b59e1c?offset=0%2C0&limit=2%2C1000 body: null headers: Accept: @@ -2666,12 +2739,12 @@ interactions: X-XSS-Protection: - 1 ; mode=block content-length: - - '335' + - '333' body: string: data: - - 98425.2 - - - 607.0 + - - 607 dimensionHeaders: - headerGroups: - headers: diff --git a/gooddata-pandas/tests/dataframe/fixtures/not_indexed_metrics.yaml b/gooddata-pandas/tests/dataframe/fixtures/not_indexed_metrics.yaml index 7cf134876..9dd2dc491 100644 --- a/gooddata-pandas/tests/dataframe/fixtures/not_indexed_metrics.yaml +++ b/gooddata-pandas/tests/dataframe/fixtures/not_indexed_metrics.yaml @@ -118,7 +118,7 @@ interactions: name: '# of Orders' localIdentifier: dim_0 links: - executionResult: 41d3bf736ab3c0e9afd81c744a73eaaae07301c4 + executionResult: 00ad1a5cae508b8a9bf75ad3133fcfd5c72bb1c8 - request: method: GET uri: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&page=0&size=500 @@ -146,7 +146,7 @@ interactions: Connection: - keep-alive Content-Length: - - '27018' + - '27121' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -193,743 +193,743 @@ interactions: body: string: data: - - id: campaign_channels.category + - id: date.minute type: attribute attributes: - title: Category - description: Category + title: Date - Minute + description: Minute tags: - - Campaign channels + - Date + granularity: MINUTE areRelationsValid: true - sourceColumn: category - sourceColumnDataType: STRING relationships: dataset: data: - id: campaign_channels + id: date type: dataset labels: data: - - id: campaign_channels.category + - id: date.minute type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute meta: origin: originType: NATIVE originId: demo - - id: campaign_channel_id + - id: date.hour type: attribute attributes: - title: Campaign channel id - description: Campaign channel id + title: Date - Hour + description: Hour tags: - - Campaign channels + - Date + granularity: HOUR areRelationsValid: true - sourceColumn: campaign_channel_id - sourceColumnDataType: STRING relationships: dataset: data: - id: campaign_channels + id: date type: dataset labels: data: - - id: campaign_channel_id + - id: date.hour type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour meta: origin: originType: NATIVE originId: demo - - id: type + - id: date.day type: attribute attributes: - title: Type - description: Type + title: Date - Date + description: Date tags: - - Campaign channels + - Date + granularity: DAY areRelationsValid: true - sourceColumn: type - sourceColumnDataType: STRING relationships: dataset: data: - id: campaign_channels + id: date type: dataset labels: data: - - id: type + - id: date.day type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day meta: origin: originType: NATIVE originId: demo - - id: campaign_name + - id: date.week type: attribute attributes: - title: Campaign name - description: Campaign name + title: Date - Week/Year + description: Week and Year (W52/2020) tags: - - Campaigns + - Date + granularity: WEEK areRelationsValid: true - sourceColumn: campaign_name - sourceColumnDataType: STRING relationships: dataset: data: - id: campaigns + id: date type: dataset labels: data: - - id: campaign_name + - id: date.week type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week meta: origin: originType: NATIVE originId: demo - - id: campaign_id + - id: date.month type: attribute attributes: - title: Campaign id - description: Campaign id + title: Date - Month/Year + description: Month and Year (12/2020) tags: - - Campaigns + - Date + granularity: MONTH areRelationsValid: true - sourceColumn: campaign_id - sourceColumnDataType: INT relationships: dataset: data: - id: campaigns + id: date type: dataset labels: data: - - id: campaign_id + - id: date.month type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month meta: origin: originType: NATIVE originId: demo - - id: state + - id: date.quarter type: attribute attributes: - title: State - description: State + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) tags: - - Customers + - Date + granularity: QUARTER areRelationsValid: true - sourceColumn: state - sourceColumnDataType: STRING relationships: - defaultView: - data: - id: state - type: label dataset: data: - id: customers + id: date type: dataset labels: data: - - id: state - type: label - - id: geo__state__location + - id: date.quarter type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter meta: origin: originType: NATIVE originId: demo - - id: region + - id: date.year type: attribute attributes: - title: Region - description: Region + title: Date - Year + description: Year tags: - - Customers + - Date + granularity: YEAR areRelationsValid: true - sourceColumn: region - sourceColumnDataType: STRING relationships: dataset: data: - id: customers + id: date type: dataset labels: data: - - id: region + - id: date.year type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year meta: origin: originType: NATIVE originId: demo - - id: customer_name + - id: date.minuteOfHour type: attribute attributes: - title: Customer name - description: Customer name + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) tags: - - Customers + - Date + granularity: MINUTE_OF_HOUR areRelationsValid: true - sourceColumn: customer_name - sourceColumnDataType: STRING relationships: dataset: data: - id: customers + id: date type: dataset labels: data: - - id: customer_name + - id: date.minuteOfHour type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour meta: origin: originType: NATIVE originId: demo - - id: customer_id + - id: date.hourOfDay type: attribute attributes: - title: Customer id - description: Customer id + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) tags: - - Customers + - Date + granularity: HOUR_OF_DAY areRelationsValid: true - sourceColumn: customer_id - sourceColumnDataType: INT relationships: dataset: data: - id: customers + id: date type: dataset labels: data: - - id: customer_id + - id: date.hourOfDay type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay meta: origin: originType: NATIVE originId: demo - - id: order_status + - id: date.dayOfWeek type: attribute attributes: - title: Order status - description: Order status + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) tags: - - Order lines + - Date + granularity: DAY_OF_WEEK areRelationsValid: true - sourceColumn: order_status - sourceColumnDataType: STRING relationships: dataset: data: - id: order_lines + id: date type: dataset labels: data: - - id: order_status + - id: date.dayOfWeek type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek meta: origin: originType: NATIVE originId: demo - - id: order_line_id + - id: date.dayOfMonth type: attribute attributes: - title: Order line id - description: Order line id + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) tags: - - Order lines + - Date + granularity: DAY_OF_MONTH areRelationsValid: true - sourceColumn: order_line_id - sourceColumnDataType: STRING relationships: dataset: data: - id: order_lines + id: date type: dataset labels: data: - - id: order_line_id + - id: date.dayOfMonth type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth meta: origin: originType: NATIVE originId: demo - - id: order_id + - id: date.dayOfYear type: attribute attributes: - title: Order id - description: Order id + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) tags: - - Order lines + - Date + granularity: DAY_OF_YEAR areRelationsValid: true - sourceColumn: order_id - sourceColumnDataType: STRING relationships: dataset: data: - id: order_lines + id: date type: dataset labels: data: - - id: order_id + - id: date.dayOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear meta: origin: originType: NATIVE originId: demo - - id: product_name + - id: date.weekOfYear type: attribute attributes: - title: Product name - description: Product name + title: Date - Week of Year + description: Generic Week (W1-W53) tags: - - Products + - Date + granularity: WEEK_OF_YEAR areRelationsValid: true - sourceColumn: product_name - sourceColumnDataType: STRING relationships: dataset: data: - id: products + id: date type: dataset labels: data: - - id: product_name + - id: date.weekOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear meta: origin: originType: NATIVE originId: demo - - id: product_id + - id: date.monthOfYear type: attribute attributes: - title: Product id - description: Product id + title: Date - Month of Year + description: Generic Month (M1-M12) tags: - - Products + - Date + granularity: MONTH_OF_YEAR areRelationsValid: true - sourceColumn: product_id - sourceColumnDataType: INT relationships: dataset: data: - id: products + id: date type: dataset labels: data: - - id: product_id + - id: date.monthOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear meta: origin: originType: NATIVE originId: demo - - id: products.category + - id: date.quarterOfYear type: attribute attributes: - title: Category - description: Category + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) tags: - - Products + - Date + granularity: QUARTER_OF_YEAR areRelationsValid: true - sourceColumn: category - sourceColumnDataType: STRING relationships: dataset: data: - id: products + id: date type: dataset labels: data: - - id: products.category + - id: date.quarterOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear meta: origin: originType: NATIVE originId: demo - - id: date.quarterOfYear + - id: campaign_channel_id type: attribute attributes: - title: Date - Quarter of Year - description: Generic Quarter (Q1-Q4) + title: Campaign channel id + description: Campaign channel id tags: - - Date - granularity: QUARTER_OF_YEAR + - Campaign channels areRelationsValid: true + sourceColumn: campaign_channel_id + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaign_channels type: dataset labels: data: - - id: date.quarterOfYear + - id: campaign_channel_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id meta: origin: originType: NATIVE originId: demo - - id: date.monthOfYear + - id: campaign_channels.category type: attribute attributes: - title: Date - Month of Year - description: Generic Month (M1-M12) + title: Category + description: Category tags: - - Date - granularity: MONTH_OF_YEAR + - Campaign channels areRelationsValid: true + sourceColumn: category + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaign_channels type: dataset labels: data: - - id: date.monthOfYear + - id: campaign_channels.category type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category meta: origin: originType: NATIVE originId: demo - - id: date.weekOfYear + - id: type type: attribute attributes: - title: Date - Week of Year - description: Generic Week (W1-W53) + title: Type + description: Type tags: - - Date - granularity: WEEK_OF_YEAR + - Campaign channels areRelationsValid: true + sourceColumn: type + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaign_channels type: dataset labels: data: - - id: date.weekOfYear + - id: type type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type meta: origin: originType: NATIVE originId: demo - - id: date.dayOfYear + - id: campaign_id type: attribute attributes: - title: Date - Day of Year - description: Generic Day of the Year (D1-D366) + title: Campaign id + description: Campaign id tags: - - Date - granularity: DAY_OF_YEAR + - Campaigns areRelationsValid: true + sourceColumn: campaign_id + sourceColumnDataType: INT relationships: dataset: data: - id: date + id: campaigns type: dataset labels: data: - - id: date.dayOfYear + - id: campaign_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id meta: origin: originType: NATIVE originId: demo - - id: date.dayOfMonth + - id: campaign_name type: attribute attributes: - title: Date - Day of Month - description: Generic Day of the Month (D1-D31) + title: Campaign name + description: Campaign name tags: - - Date - granularity: DAY_OF_MONTH + - Campaigns areRelationsValid: true + sourceColumn: campaign_name + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaigns type: dataset labels: data: - - id: date.dayOfMonth + - id: campaign_name type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name meta: origin: originType: NATIVE originId: demo - - id: date.dayOfWeek + - id: customer_id type: attribute attributes: - title: Date - Day of Week - description: Generic Day of the Week (D1-D7) + title: Customer id + description: Customer id tags: - - Date - granularity: DAY_OF_WEEK + - Customers areRelationsValid: true + sourceColumn: customer_id + sourceColumnDataType: INT relationships: dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.dayOfWeek + - id: customer_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id meta: origin: originType: NATIVE originId: demo - - id: date.hourOfDay + - id: customer_name type: attribute attributes: - title: Date - Hour of Day - description: Generic Hour of the Day(H1-H24) + title: Customer name + description: Customer name tags: - - Date - granularity: HOUR_OF_DAY + - Customers areRelationsValid: true + sourceColumn: customer_name + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.hourOfDay + - id: customer_name type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name meta: origin: originType: NATIVE originId: demo - - id: date.minuteOfHour + - id: region type: attribute attributes: - title: Date - Minute of Hour - description: Generic Minute of the Hour(MI1-MI60) + title: Region + description: Region tags: - - Date - granularity: MINUTE_OF_HOUR + - Customers areRelationsValid: true + sourceColumn: region + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.minuteOfHour + - id: region type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region meta: origin: originType: NATIVE originId: demo - - id: date.year + - id: state type: attribute attributes: - title: Date - Year - description: Year + title: State + description: State tags: - - Date - granularity: YEAR + - Customers areRelationsValid: true + sourceColumn: state + sourceColumnDataType: STRING relationships: + defaultView: + data: + id: state + type: label dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.year + - id: geo__state__location + type: label + - id: state type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state meta: origin: originType: NATIVE originId: demo - - id: date.quarter + - id: order_id type: attribute attributes: - title: Date - Quarter/Year - description: Quarter and Year (Q1/2020) + title: Order id + description: Order id tags: - - Date - granularity: QUARTER + - Order lines areRelationsValid: true + sourceColumn: order_id + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: order_lines type: dataset labels: data: - - id: date.quarter + - id: order_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id meta: origin: originType: NATIVE originId: demo - - id: date.month + - id: order_line_id type: attribute attributes: - title: Date - Month/Year - description: Month and Year (12/2020) + title: Order line id + description: Order line id tags: - - Date - granularity: MONTH + - Order lines areRelationsValid: true + sourceColumn: order_line_id + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: order_lines type: dataset labels: data: - - id: date.month + - id: order_line_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id meta: origin: originType: NATIVE originId: demo - - id: date.week + - id: order_status type: attribute attributes: - title: Date - Week/Year - description: Week and Year (W52/2020) + title: Order status + description: Order status tags: - - Date - granularity: WEEK + - Order lines areRelationsValid: true + sourceColumn: order_status + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: order_lines type: dataset labels: data: - - id: date.week + - id: order_status type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status meta: origin: originType: NATIVE originId: demo - - id: date.day + - id: product_id type: attribute attributes: - title: Date - Date - description: Date + title: Product id + description: Product id tags: - - Date - granularity: DAY + - Products areRelationsValid: true + sourceColumn: product_id + sourceColumnDataType: INT relationships: dataset: data: - id: date + id: products type: dataset labels: data: - - id: date.day + - id: product_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id meta: origin: originType: NATIVE originId: demo - - id: date.hour + - id: product_name type: attribute attributes: - title: Date - Hour - description: Hour + title: Product name + description: Product name tags: - - Date - granularity: HOUR + - Products areRelationsValid: true + sourceColumn: product_name + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: products type: dataset labels: data: - - id: date.hour + - id: product_name type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name meta: origin: originType: NATIVE originId: demo - - id: date.minute + - id: products.category type: attribute attributes: - title: Date - Minute - description: Minute + title: Category + description: Category tags: - - Date - granularity: MINUTE + - Products areRelationsValid: true + sourceColumn: category + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: products type: dataset labels: data: - - id: date.minute + - id: products.category type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category meta: origin: originType: NATIVE @@ -993,51 +993,59 @@ interactions: grain: - id: order_line_id type: attribute - order: 0 referenceProperties: - identifier: - id: products + id: date type: dataset multivalue: false + sources: null sourceColumns: - - product_id + - date sourceColumnDataTypes: - - INT + - DATE - identifier: id: customers type: dataset multivalue: false + sources: null sourceColumns: - customer_id sourceColumnDataTypes: - INT - identifier: - id: date + id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - - date + - campaign_id sourceColumnDataTypes: - - DATE + - INT - identifier: - id: campaigns + id: products type: dataset multivalue: false + sources: null sourceColumns: - - campaign_id + - product_id sourceColumnDataTypes: - INT dataSourceTableId: demo-test-ds:order_lines dataSourceTablePath: - demo - order_lines - workspaceDataFilterProperties: - - workspaceDataFilterIdentifier: + workspaceDataFilterColumns: + - name: wdf__state + dataType: STRING + - name: wdf__region + dataType: STRING + workspaceDataFilterReferences: + - filterId: id: wdf__state type: workspaceDataFilter filterColumn: wdf__state filterColumnDataType: STRING - - workspaceDataFilterIdentifier: + - filterId: id: wdf__region type: workspaceDataFilter filterColumn: wdf__region @@ -1079,12 +1087,12 @@ interactions: grain: - id: campaign_channel_id type: attribute - order: 0 referenceProperties: - identifier: id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - campaign_id sourceColumnDataTypes: @@ -1174,7 +1182,6 @@ interactions: grain: - id: campaign_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:campaigns dataSourceTablePath: - demo @@ -1231,7 +1238,6 @@ interactions: grain: - id: customer_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:customers dataSourceTablePath: - demo @@ -1357,7 +1363,6 @@ interactions: grain: - id: product_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:products dataSourceTablePath: - demo @@ -1461,8 +1466,8 @@ interactions: links: self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_id links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels,datasets&page=0&size=500 - next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels,datasets&page=1&size=500 + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&page=1&size=500 - request: method: GET uri: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500 @@ -1490,7 +1495,7 @@ interactions: Connection: - keep-alive Content-Length: - - '13953' + - '14899' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -1537,6 +1542,54 @@ interactions: body: string: data: + - id: date + type: dataset + attributes: + title: Date + description: '' + tags: + - Date + areRelationsValid: true + type: DATE + relationships: + attributes: + data: + - id: date.quarter + type: attribute + - id: date.minute + type: attribute + - id: date.hourOfDay + type: attribute + - id: date.minuteOfHour + type: attribute + - id: date.dayOfYear + type: attribute + - id: date.monthOfYear + type: attribute + - id: date.weekOfYear + type: attribute + - id: date.week + type: attribute + - id: date.year + type: attribute + - id: date.dayOfWeek + type: attribute + - id: date.hour + type: attribute + - id: date.dayOfMonth + type: attribute + - id: date.month + type: attribute + - id: date.quarterOfYear + type: attribute + - id: date.day + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date + meta: + origin: + originType: NATIVE + originId: demo - id: campaign_channels type: dataset attributes: @@ -1547,16 +1600,20 @@ interactions: grain: - id: campaign_channel_id type: attribute - order: 0 referenceProperties: - identifier: id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - campaign_id - sourceColumnDataTypes: null + sourceColumnDataTypes: + - INT dataSourceTableId: demo-test-ds:campaign_channels + dataSourceTablePath: + - demo + - campaign_channels areRelationsValid: true type: NORMAL relationships: @@ -1564,10 +1621,10 @@ interactions: data: - id: campaign_channel_id type: attribute - - id: type - type: attribute - id: campaign_channels.category type: attribute + - id: type + type: attribute facts: data: - id: budget @@ -1580,6 +1637,68 @@ interactions: origin: originType: NATIVE originId: demo + - id: campaigns + 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 + relationships: + attributes: + data: + - id: campaign_id + type: attribute + - id: campaign_name + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns + meta: + origin: + originType: NATIVE + originId: demo + - id: customers + 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 + relationships: + attributes: + data: + - id: customer_id + type: attribute + - id: state + type: attribute + - id: customer_name + type: attribute + - id: region + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers + meta: + origin: + originType: NATIVE + originId: demo - id: order_lines type: dataset attributes: @@ -1590,59 +1709,74 @@ interactions: grain: - id: order_line_id type: attribute - order: 0 referenceProperties: - identifier: - id: products + id: date type: dataset multivalue: false + sources: null sourceColumns: - - product_id - sourceColumnDataTypes: null + - date + sourceColumnDataTypes: + - DATE - identifier: id: customers type: dataset multivalue: false + sources: null sourceColumns: - customer_id - sourceColumnDataTypes: null + sourceColumnDataTypes: + - INT - identifier: - id: date + id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - - date - sourceColumnDataTypes: null + - campaign_id + sourceColumnDataTypes: + - INT - identifier: - id: campaigns + id: products type: dataset multivalue: false + sources: null sourceColumns: - - campaign_id - sourceColumnDataTypes: null + - product_id + sourceColumnDataTypes: + - INT dataSourceTableId: demo-test-ds:order_lines + dataSourceTablePath: + - demo + - order_lines areRelationsValid: true - workspaceDataFilterProperties: - - workspaceDataFilterIdentifier: - id: wdf__state - type: workspaceDataFilter - filterColumn: wdf__state - filterColumnDataType: STRING - - workspaceDataFilterIdentifier: + workspaceDataFilterColumns: + - name: wdf__state + dataType: STRING + - name: wdf__region + 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 relationships: attributes: data: - - id: order_status - type: attribute - id: order_id type: attribute - id: order_line_id type: attribute + - id: order_status + type: attribute facts: data: - id: price @@ -1665,18 +1799,20 @@ interactions: grain: - id: product_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:products + dataSourceTablePath: + - demo + - products areRelationsValid: true type: NORMAL relationships: attributes: data: - - id: product_name + - id: products.category type: attribute - id: product_id type: attribute - - id: products.category + - id: product_name type: attribute links: self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/products @@ -1684,112 +1820,6 @@ interactions: origin: originType: NATIVE originId: demo - - id: date - type: dataset - attributes: - title: Date - description: '' - tags: - - Date - areRelationsValid: true - type: DATE - relationships: - attributes: - data: - - id: date.quarterOfYear - type: attribute - - id: date.weekOfYear - type: attribute - - id: date.dayOfMonth - type: attribute - - id: date.monthOfYear - type: attribute - - id: date.minuteOfHour - type: attribute - - id: date.hour - type: attribute - - id: date.year - type: attribute - - id: date.week - type: attribute - - id: date.quarter - type: attribute - - id: date.dayOfYear - type: attribute - - id: date.dayOfWeek - type: attribute - - id: date.minute - type: attribute - - id: date.day - type: attribute - - id: date.month - type: attribute - - id: date.hourOfDay - type: attribute - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date - meta: - origin: - originType: NATIVE - originId: demo - - id: campaigns - type: dataset - attributes: - title: Campaigns - description: Campaigns - tags: - - Campaigns - grain: - - id: campaign_id - type: attribute - order: 0 - dataSourceTableId: demo-test-ds:campaigns - areRelationsValid: true - type: NORMAL - relationships: - attributes: - data: - - id: campaign_id - type: attribute - - id: campaign_name - type: attribute - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns - meta: - origin: - originType: NATIVE - originId: demo - - id: customers - type: dataset - attributes: - title: Customers - description: Customers - tags: - - Customers - grain: - - id: customer_id - type: attribute - order: 0 - dataSourceTableId: demo-test-ds:customers - areRelationsValid: true - type: NORMAL - relationships: - attributes: - data: - - id: region - type: attribute - - id: state - type: attribute - - id: customer_id - type: attribute - - id: customer_name - type: attribute - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers - meta: - origin: - originType: NATIVE - originId: demo included: - id: product_id type: attribute @@ -1799,6 +1829,7 @@ interactions: tags: - Products sourceColumn: product_id + sourceColumnDataType: INT links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id - id: budget @@ -1809,6 +1840,7 @@ interactions: tags: - Campaign channels sourceColumn: budget + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/budget - id: date.year @@ -1829,6 +1861,7 @@ interactions: tags: - Products sourceColumn: product_name + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name - id: date.month @@ -1849,6 +1882,7 @@ interactions: tags: - Products sourceColumn: category + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category - id: date.dayOfMonth @@ -1889,6 +1923,7 @@ interactions: tags: - Campaign channels sourceColumn: category + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category - id: date.minute @@ -1909,6 +1944,7 @@ interactions: tags: - Customers sourceColumn: state + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state - id: date.week @@ -1929,6 +1965,7 @@ interactions: tags: - Order lines sourceColumn: order_id + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id - id: date.hour @@ -1949,6 +1986,7 @@ interactions: tags: - Campaigns sourceColumn: campaign_name + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name - id: price @@ -1959,6 +1997,7 @@ interactions: tags: - Order lines sourceColumn: price + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/price - id: date.dayOfWeek @@ -1989,6 +2028,7 @@ interactions: tags: - Customers sourceColumn: region + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region - id: campaign_channel_id @@ -1999,6 +2039,7 @@ interactions: tags: - Campaign channels sourceColumn: campaign_channel_id + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id - id: customer_id @@ -2009,6 +2050,7 @@ interactions: tags: - Customers sourceColumn: customer_id + sourceColumnDataType: INT links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id - id: date.hourOfDay @@ -2029,6 +2071,7 @@ interactions: tags: - Order lines sourceColumn: quantity + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity - id: campaign_id @@ -2039,6 +2082,7 @@ interactions: tags: - Campaigns sourceColumn: campaign_id + sourceColumnDataType: INT links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id - id: type @@ -2049,6 +2093,7 @@ interactions: tags: - Campaign channels sourceColumn: type + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type - id: spend @@ -2059,6 +2104,7 @@ interactions: tags: - Campaign channels sourceColumn: spend + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/spend - id: date.dayOfYear @@ -2099,6 +2145,7 @@ interactions: tags: - Order lines sourceColumn: order_status + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status - id: date.monthOfYear @@ -2119,6 +2166,7 @@ interactions: tags: - Customers sourceColumn: customer_name + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name - id: order_line_id @@ -2129,11 +2177,12 @@ interactions: tags: - Order lines sourceColumn: order_line_id + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=0&size=500 - next: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=1&size=500 + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=1&size=500 - request: method: GET uri: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500 @@ -2161,7 +2210,7 @@ interactions: Connection: - keep-alive Content-Length: - - '9799' + - '10543' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -2213,6 +2262,7 @@ interactions: attributes: title: '# of Active Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0' maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) @@ -2227,6 +2277,7 @@ interactions: attributes: title: '# of Orders' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0' maql: SELECT COUNT({attribute/order_id}) @@ -2241,6 +2292,7 @@ interactions: attributes: title: '# of Top Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0' maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT @@ -2257,6 +2309,7 @@ interactions: title: '# of Valid Orders' description: '' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.00' maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} @@ -2272,6 +2325,7 @@ interactions: attributes: title: Campaign Spend areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT SUM({fact/spend}) @@ -2286,6 +2340,7 @@ interactions: attributes: title: Order Amount areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT SUM({fact/price}*{fact/quantity}) @@ -2300,6 +2355,7 @@ interactions: attributes: title: '% Revenue' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / {metric/total_revenue} @@ -2314,6 +2370,7 @@ interactions: attributes: title: '% Revenue from Top 10 Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ @@ -2329,6 +2386,7 @@ interactions: attributes: title: '% Revenue from Top 10% Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ @@ -2344,6 +2402,7 @@ interactions: attributes: title: '% Revenue from Top 10% Products' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ @@ -2359,6 +2418,7 @@ interactions: attributes: title: '% Revenue from Top 10 Products' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ @@ -2374,6 +2434,7 @@ interactions: attributes: title: '% Revenue in Category' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, @@ -2389,6 +2450,7 @@ interactions: attributes: title: '% Revenue per Product' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL @@ -2405,6 +2467,7 @@ interactions: title: Revenue description: '' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} @@ -2420,6 +2483,7 @@ interactions: attributes: title: Revenue (Clothing) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2435,6 +2499,7 @@ interactions: attributes: title: Revenue (Electronic) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2450,6 +2515,7 @@ interactions: attributes: title: Revenue (Home) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2465,6 +2531,7 @@ interactions: attributes: title: Revenue (Outdoor) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2480,6 +2547,7 @@ interactions: attributes: title: Revenue per Customer areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0.0 maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) @@ -2494,6 +2562,7 @@ interactions: attributes: title: Revenue per Dollar Spent areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0.0 maql: SELECT {metric/revenue} / {metric/campaign_spend} @@ -2508,6 +2577,7 @@ interactions: attributes: title: Revenue / Top 10 areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) @@ -2522,6 +2592,7 @@ interactions: attributes: title: Revenue / Top 10% areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) @@ -2536,6 +2607,7 @@ interactions: attributes: title: Total Revenue areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} BY ALL OTHER @@ -2550,6 +2622,7 @@ interactions: attributes: title: Total Revenue (No Filters) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER @@ -2564,7 +2637,7 @@ interactions: next: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=1&size=500 - request: method: GET - uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/41d3bf736ab3c0e9afd81c744a73eaaae07301c4?offset=0&limit=2 + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/00ad1a5cae508b8a9bf75ad3133fcfd5c72bb1c8?offset=0&limit=2 body: null headers: Accept: diff --git a/gooddata-pandas/tests/dataframe/fixtures/not_indexed_metrics_and_labels.yaml b/gooddata-pandas/tests/dataframe/fixtures/not_indexed_metrics_and_labels.yaml index 72fd39acf..bc48a80ff 100644 --- a/gooddata-pandas/tests/dataframe/fixtures/not_indexed_metrics_and_labels.yaml +++ b/gooddata-pandas/tests/dataframe/fixtures/not_indexed_metrics_and_labels.yaml @@ -142,7 +142,7 @@ interactions: type: label localIdentifier: dim_1 links: - executionResult: 886003f5e9fc4282f007f036a2fe13dd4f59af95 + executionResult: 074fb45b62acfe8493bec9db01bd3d2d98e36eaf - request: method: GET uri: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&page=0&size=500 @@ -170,7 +170,7 @@ interactions: Connection: - keep-alive Content-Length: - - '27018' + - '27121' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -217,743 +217,743 @@ interactions: body: string: data: - - id: campaign_channels.category + - id: date.minute type: attribute attributes: - title: Category - description: Category + title: Date - Minute + description: Minute tags: - - Campaign channels + - Date + granularity: MINUTE areRelationsValid: true - sourceColumn: category - sourceColumnDataType: STRING relationships: dataset: data: - id: campaign_channels + id: date type: dataset labels: data: - - id: campaign_channels.category + - id: date.minute type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute meta: origin: originType: NATIVE originId: demo - - id: campaign_channel_id + - id: date.hour type: attribute attributes: - title: Campaign channel id - description: Campaign channel id + title: Date - Hour + description: Hour tags: - - Campaign channels + - Date + granularity: HOUR areRelationsValid: true - sourceColumn: campaign_channel_id - sourceColumnDataType: STRING relationships: dataset: data: - id: campaign_channels + id: date type: dataset labels: data: - - id: campaign_channel_id + - id: date.hour type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour meta: origin: originType: NATIVE originId: demo - - id: type + - id: date.day type: attribute attributes: - title: Type - description: Type + title: Date - Date + description: Date tags: - - Campaign channels + - Date + granularity: DAY areRelationsValid: true - sourceColumn: type - sourceColumnDataType: STRING relationships: dataset: data: - id: campaign_channels + id: date type: dataset labels: data: - - id: type + - id: date.day type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day meta: origin: originType: NATIVE originId: demo - - id: campaign_name + - id: date.week type: attribute attributes: - title: Campaign name - description: Campaign name + title: Date - Week/Year + description: Week and Year (W52/2020) tags: - - Campaigns + - Date + granularity: WEEK areRelationsValid: true - sourceColumn: campaign_name - sourceColumnDataType: STRING relationships: dataset: data: - id: campaigns + id: date type: dataset labels: data: - - id: campaign_name + - id: date.week type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week meta: origin: originType: NATIVE originId: demo - - id: campaign_id + - id: date.month type: attribute attributes: - title: Campaign id - description: Campaign id + title: Date - Month/Year + description: Month and Year (12/2020) tags: - - Campaigns + - Date + granularity: MONTH areRelationsValid: true - sourceColumn: campaign_id - sourceColumnDataType: INT relationships: dataset: data: - id: campaigns + id: date type: dataset labels: data: - - id: campaign_id + - id: date.month type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month meta: origin: originType: NATIVE originId: demo - - id: state + - id: date.quarter type: attribute attributes: - title: State - description: State + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) tags: - - Customers + - Date + granularity: QUARTER areRelationsValid: true - sourceColumn: state - sourceColumnDataType: STRING relationships: - defaultView: - data: - id: state - type: label dataset: data: - id: customers + id: date type: dataset labels: data: - - id: state - type: label - - id: geo__state__location + - id: date.quarter type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter meta: origin: originType: NATIVE originId: demo - - id: region + - id: date.year type: attribute attributes: - title: Region - description: Region + title: Date - Year + description: Year tags: - - Customers + - Date + granularity: YEAR areRelationsValid: true - sourceColumn: region - sourceColumnDataType: STRING relationships: dataset: data: - id: customers + id: date type: dataset labels: data: - - id: region + - id: date.year type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year meta: origin: originType: NATIVE originId: demo - - id: customer_name + - id: date.minuteOfHour type: attribute attributes: - title: Customer name - description: Customer name + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) tags: - - Customers + - Date + granularity: MINUTE_OF_HOUR areRelationsValid: true - sourceColumn: customer_name - sourceColumnDataType: STRING relationships: dataset: data: - id: customers + id: date type: dataset labels: data: - - id: customer_name + - id: date.minuteOfHour type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour meta: origin: originType: NATIVE originId: demo - - id: customer_id + - id: date.hourOfDay type: attribute attributes: - title: Customer id - description: Customer id + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) tags: - - Customers + - Date + granularity: HOUR_OF_DAY areRelationsValid: true - sourceColumn: customer_id - sourceColumnDataType: INT relationships: dataset: data: - id: customers + id: date type: dataset labels: data: - - id: customer_id + - id: date.hourOfDay type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay meta: origin: originType: NATIVE originId: demo - - id: order_status + - id: date.dayOfWeek type: attribute attributes: - title: Order status - description: Order status + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) tags: - - Order lines + - Date + granularity: DAY_OF_WEEK areRelationsValid: true - sourceColumn: order_status - sourceColumnDataType: STRING relationships: dataset: data: - id: order_lines + id: date type: dataset labels: data: - - id: order_status + - id: date.dayOfWeek type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek meta: origin: originType: NATIVE originId: demo - - id: order_line_id + - id: date.dayOfMonth type: attribute attributes: - title: Order line id - description: Order line id + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) tags: - - Order lines + - Date + granularity: DAY_OF_MONTH areRelationsValid: true - sourceColumn: order_line_id - sourceColumnDataType: STRING relationships: dataset: data: - id: order_lines + id: date type: dataset labels: data: - - id: order_line_id + - id: date.dayOfMonth type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth meta: origin: originType: NATIVE originId: demo - - id: order_id + - id: date.dayOfYear type: attribute attributes: - title: Order id - description: Order id + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) tags: - - Order lines + - Date + granularity: DAY_OF_YEAR areRelationsValid: true - sourceColumn: order_id - sourceColumnDataType: STRING relationships: dataset: data: - id: order_lines + id: date type: dataset labels: data: - - id: order_id + - id: date.dayOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear meta: origin: originType: NATIVE originId: demo - - id: product_name + - id: date.weekOfYear type: attribute attributes: - title: Product name - description: Product name + title: Date - Week of Year + description: Generic Week (W1-W53) tags: - - Products + - Date + granularity: WEEK_OF_YEAR areRelationsValid: true - sourceColumn: product_name - sourceColumnDataType: STRING relationships: dataset: data: - id: products + id: date type: dataset labels: data: - - id: product_name + - id: date.weekOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear meta: origin: originType: NATIVE originId: demo - - id: product_id + - id: date.monthOfYear type: attribute attributes: - title: Product id - description: Product id + title: Date - Month of Year + description: Generic Month (M1-M12) tags: - - Products + - Date + granularity: MONTH_OF_YEAR areRelationsValid: true - sourceColumn: product_id - sourceColumnDataType: INT relationships: dataset: data: - id: products + id: date type: dataset labels: data: - - id: product_id + - id: date.monthOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear meta: origin: originType: NATIVE originId: demo - - id: products.category + - id: date.quarterOfYear type: attribute attributes: - title: Category - description: Category + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) tags: - - Products + - Date + granularity: QUARTER_OF_YEAR areRelationsValid: true - sourceColumn: category - sourceColumnDataType: STRING relationships: dataset: data: - id: products + id: date type: dataset labels: data: - - id: products.category + - id: date.quarterOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear meta: origin: originType: NATIVE originId: demo - - id: date.quarterOfYear + - id: campaign_channel_id type: attribute attributes: - title: Date - Quarter of Year - description: Generic Quarter (Q1-Q4) + title: Campaign channel id + description: Campaign channel id tags: - - Date - granularity: QUARTER_OF_YEAR + - Campaign channels areRelationsValid: true + sourceColumn: campaign_channel_id + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaign_channels type: dataset labels: data: - - id: date.quarterOfYear + - id: campaign_channel_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id meta: origin: originType: NATIVE originId: demo - - id: date.monthOfYear + - id: campaign_channels.category type: attribute attributes: - title: Date - Month of Year - description: Generic Month (M1-M12) + title: Category + description: Category tags: - - Date - granularity: MONTH_OF_YEAR + - Campaign channels areRelationsValid: true + sourceColumn: category + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaign_channels type: dataset labels: data: - - id: date.monthOfYear + - id: campaign_channels.category type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category meta: origin: originType: NATIVE originId: demo - - id: date.weekOfYear + - id: type type: attribute - attributes: - title: Date - Week of Year - description: Generic Week (W1-W53) + attributes: + title: Type + description: Type tags: - - Date - granularity: WEEK_OF_YEAR + - Campaign channels areRelationsValid: true + sourceColumn: type + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaign_channels type: dataset labels: data: - - id: date.weekOfYear + - id: type type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type meta: origin: originType: NATIVE originId: demo - - id: date.dayOfYear + - id: campaign_id type: attribute attributes: - title: Date - Day of Year - description: Generic Day of the Year (D1-D366) + title: Campaign id + description: Campaign id tags: - - Date - granularity: DAY_OF_YEAR + - Campaigns areRelationsValid: true + sourceColumn: campaign_id + sourceColumnDataType: INT relationships: dataset: data: - id: date + id: campaigns type: dataset labels: data: - - id: date.dayOfYear + - id: campaign_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id meta: origin: originType: NATIVE originId: demo - - id: date.dayOfMonth + - id: campaign_name type: attribute attributes: - title: Date - Day of Month - description: Generic Day of the Month (D1-D31) + title: Campaign name + description: Campaign name tags: - - Date - granularity: DAY_OF_MONTH + - Campaigns areRelationsValid: true + sourceColumn: campaign_name + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaigns type: dataset labels: data: - - id: date.dayOfMonth + - id: campaign_name type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name meta: origin: originType: NATIVE originId: demo - - id: date.dayOfWeek + - id: customer_id type: attribute attributes: - title: Date - Day of Week - description: Generic Day of the Week (D1-D7) + title: Customer id + description: Customer id tags: - - Date - granularity: DAY_OF_WEEK + - Customers areRelationsValid: true + sourceColumn: customer_id + sourceColumnDataType: INT relationships: dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.dayOfWeek + - id: customer_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id meta: origin: originType: NATIVE originId: demo - - id: date.hourOfDay + - id: customer_name type: attribute attributes: - title: Date - Hour of Day - description: Generic Hour of the Day(H1-H24) + title: Customer name + description: Customer name tags: - - Date - granularity: HOUR_OF_DAY + - Customers areRelationsValid: true + sourceColumn: customer_name + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.hourOfDay + - id: customer_name type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name meta: origin: originType: NATIVE originId: demo - - id: date.minuteOfHour + - id: region type: attribute attributes: - title: Date - Minute of Hour - description: Generic Minute of the Hour(MI1-MI60) + title: Region + description: Region tags: - - Date - granularity: MINUTE_OF_HOUR + - Customers areRelationsValid: true + sourceColumn: region + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.minuteOfHour + - id: region type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region meta: origin: originType: NATIVE originId: demo - - id: date.year + - id: state type: attribute attributes: - title: Date - Year - description: Year + title: State + description: State tags: - - Date - granularity: YEAR + - Customers areRelationsValid: true + sourceColumn: state + sourceColumnDataType: STRING relationships: + defaultView: + data: + id: state + type: label dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.year + - id: geo__state__location + type: label + - id: state type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state meta: origin: originType: NATIVE originId: demo - - id: date.quarter + - id: order_id type: attribute attributes: - title: Date - Quarter/Year - description: Quarter and Year (Q1/2020) + title: Order id + description: Order id tags: - - Date - granularity: QUARTER + - Order lines areRelationsValid: true + sourceColumn: order_id + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: order_lines type: dataset labels: data: - - id: date.quarter + - id: order_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id meta: origin: originType: NATIVE originId: demo - - id: date.month + - id: order_line_id type: attribute attributes: - title: Date - Month/Year - description: Month and Year (12/2020) + title: Order line id + description: Order line id tags: - - Date - granularity: MONTH + - Order lines areRelationsValid: true + sourceColumn: order_line_id + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: order_lines type: dataset labels: data: - - id: date.month + - id: order_line_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id meta: origin: originType: NATIVE originId: demo - - id: date.week + - id: order_status type: attribute attributes: - title: Date - Week/Year - description: Week and Year (W52/2020) + title: Order status + description: Order status tags: - - Date - granularity: WEEK + - Order lines areRelationsValid: true + sourceColumn: order_status + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: order_lines type: dataset labels: data: - - id: date.week + - id: order_status type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status meta: origin: originType: NATIVE originId: demo - - id: date.day + - id: product_id type: attribute attributes: - title: Date - Date - description: Date + title: Product id + description: Product id tags: - - Date - granularity: DAY + - Products areRelationsValid: true + sourceColumn: product_id + sourceColumnDataType: INT relationships: dataset: data: - id: date + id: products type: dataset labels: data: - - id: date.day + - id: product_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id meta: origin: originType: NATIVE originId: demo - - id: date.hour + - id: product_name type: attribute attributes: - title: Date - Hour - description: Hour + title: Product name + description: Product name tags: - - Date - granularity: HOUR + - Products areRelationsValid: true + sourceColumn: product_name + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: products type: dataset labels: data: - - id: date.hour + - id: product_name type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name meta: origin: originType: NATIVE originId: demo - - id: date.minute + - id: products.category type: attribute attributes: - title: Date - Minute - description: Minute + title: Category + description: Category tags: - - Date - granularity: MINUTE + - Products areRelationsValid: true + sourceColumn: category + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: products type: dataset labels: data: - - id: date.minute + - id: products.category type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category meta: origin: originType: NATIVE @@ -1017,51 +1017,59 @@ interactions: grain: - id: order_line_id type: attribute - order: 0 referenceProperties: - identifier: - id: products + id: date type: dataset multivalue: false + sources: null sourceColumns: - - product_id + - date sourceColumnDataTypes: - - INT + - DATE - identifier: id: customers type: dataset multivalue: false + sources: null sourceColumns: - customer_id sourceColumnDataTypes: - INT - identifier: - id: date + id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - - date + - campaign_id sourceColumnDataTypes: - - DATE + - INT - identifier: - id: campaigns + id: products type: dataset multivalue: false + sources: null sourceColumns: - - campaign_id + - product_id sourceColumnDataTypes: - INT dataSourceTableId: demo-test-ds:order_lines dataSourceTablePath: - demo - order_lines - workspaceDataFilterProperties: - - workspaceDataFilterIdentifier: + workspaceDataFilterColumns: + - name: wdf__state + dataType: STRING + - name: wdf__region + dataType: STRING + workspaceDataFilterReferences: + - filterId: id: wdf__state type: workspaceDataFilter filterColumn: wdf__state filterColumnDataType: STRING - - workspaceDataFilterIdentifier: + - filterId: id: wdf__region type: workspaceDataFilter filterColumn: wdf__region @@ -1103,12 +1111,12 @@ interactions: grain: - id: campaign_channel_id type: attribute - order: 0 referenceProperties: - identifier: id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - campaign_id sourceColumnDataTypes: @@ -1198,7 +1206,6 @@ interactions: grain: - id: campaign_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:campaigns dataSourceTablePath: - demo @@ -1255,7 +1262,6 @@ interactions: grain: - id: customer_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:customers dataSourceTablePath: - demo @@ -1381,7 +1387,6 @@ interactions: grain: - id: product_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:products dataSourceTablePath: - demo @@ -1485,8 +1490,8 @@ interactions: links: self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_id links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels,datasets&page=0&size=500 - next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels,datasets&page=1&size=500 + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&page=1&size=500 - request: method: GET uri: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500 @@ -1514,7 +1519,7 @@ interactions: Connection: - keep-alive Content-Length: - - '13953' + - '14899' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -1561,6 +1566,54 @@ interactions: body: string: data: + - id: date + type: dataset + attributes: + title: Date + description: '' + tags: + - Date + areRelationsValid: true + type: DATE + relationships: + attributes: + data: + - id: date.quarter + type: attribute + - id: date.minute + type: attribute + - id: date.hourOfDay + type: attribute + - id: date.minuteOfHour + type: attribute + - id: date.dayOfYear + type: attribute + - id: date.monthOfYear + type: attribute + - id: date.weekOfYear + type: attribute + - id: date.week + type: attribute + - id: date.year + type: attribute + - id: date.dayOfWeek + type: attribute + - id: date.hour + type: attribute + - id: date.dayOfMonth + type: attribute + - id: date.month + type: attribute + - id: date.quarterOfYear + type: attribute + - id: date.day + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date + meta: + origin: + originType: NATIVE + originId: demo - id: campaign_channels type: dataset attributes: @@ -1571,16 +1624,20 @@ interactions: grain: - id: campaign_channel_id type: attribute - order: 0 referenceProperties: - identifier: id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - campaign_id - sourceColumnDataTypes: null + sourceColumnDataTypes: + - INT dataSourceTableId: demo-test-ds:campaign_channels + dataSourceTablePath: + - demo + - campaign_channels areRelationsValid: true type: NORMAL relationships: @@ -1588,10 +1645,10 @@ interactions: data: - id: campaign_channel_id type: attribute - - id: type - type: attribute - id: campaign_channels.category type: attribute + - id: type + type: attribute facts: data: - id: budget @@ -1604,6 +1661,68 @@ interactions: origin: originType: NATIVE originId: demo + - id: campaigns + 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 + relationships: + attributes: + data: + - id: campaign_id + type: attribute + - id: campaign_name + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns + meta: + origin: + originType: NATIVE + originId: demo + - id: customers + 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 + relationships: + attributes: + data: + - id: customer_id + type: attribute + - id: state + type: attribute + - id: customer_name + type: attribute + - id: region + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers + meta: + origin: + originType: NATIVE + originId: demo - id: order_lines type: dataset attributes: @@ -1614,45 +1733,60 @@ interactions: grain: - id: order_line_id type: attribute - order: 0 referenceProperties: - identifier: - id: products + id: date type: dataset multivalue: false + sources: null sourceColumns: - - product_id - sourceColumnDataTypes: null + - date + sourceColumnDataTypes: + - DATE - identifier: id: customers type: dataset multivalue: false + sources: null sourceColumns: - customer_id - sourceColumnDataTypes: null + sourceColumnDataTypes: + - INT - identifier: - id: date + id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - - date - sourceColumnDataTypes: null + - campaign_id + sourceColumnDataTypes: + - INT - identifier: - id: campaigns + id: products type: dataset multivalue: false + sources: null sourceColumns: - - campaign_id - sourceColumnDataTypes: null + - product_id + sourceColumnDataTypes: + - INT dataSourceTableId: demo-test-ds:order_lines + dataSourceTablePath: + - demo + - order_lines areRelationsValid: true - workspaceDataFilterProperties: - - workspaceDataFilterIdentifier: + workspaceDataFilterColumns: + - name: wdf__state + dataType: STRING + - name: wdf__region + dataType: STRING + workspaceDataFilterReferences: + - filterId: id: wdf__state type: workspaceDataFilter filterColumn: wdf__state filterColumnDataType: STRING - - workspaceDataFilterIdentifier: + - filterId: id: wdf__region type: workspaceDataFilter filterColumn: wdf__region @@ -1661,12 +1795,12 @@ interactions: relationships: attributes: data: - - id: order_status - type: attribute - id: order_id type: attribute - id: order_line_id type: attribute + - id: order_status + type: attribute facts: data: - id: price @@ -1689,18 +1823,20 @@ interactions: grain: - id: product_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:products + dataSourceTablePath: + - demo + - products areRelationsValid: true type: NORMAL relationships: attributes: data: - - id: product_name + - id: products.category type: attribute - id: product_id type: attribute - - id: products.category + - id: product_name type: attribute links: self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/products @@ -1708,112 +1844,6 @@ interactions: origin: originType: NATIVE originId: demo - - id: date - type: dataset - attributes: - title: Date - description: '' - tags: - - Date - areRelationsValid: true - type: DATE - relationships: - attributes: - data: - - id: date.quarterOfYear - type: attribute - - id: date.weekOfYear - type: attribute - - id: date.dayOfMonth - type: attribute - - id: date.monthOfYear - type: attribute - - id: date.minuteOfHour - type: attribute - - id: date.hour - type: attribute - - id: date.year - type: attribute - - id: date.week - type: attribute - - id: date.quarter - type: attribute - - id: date.dayOfYear - type: attribute - - id: date.dayOfWeek - type: attribute - - id: date.minute - type: attribute - - id: date.day - type: attribute - - id: date.month - type: attribute - - id: date.hourOfDay - type: attribute - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date - meta: - origin: - originType: NATIVE - originId: demo - - id: campaigns - type: dataset - attributes: - title: Campaigns - description: Campaigns - tags: - - Campaigns - grain: - - id: campaign_id - type: attribute - order: 0 - dataSourceTableId: demo-test-ds:campaigns - areRelationsValid: true - type: NORMAL - relationships: - attributes: - data: - - id: campaign_id - type: attribute - - id: campaign_name - type: attribute - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns - meta: - origin: - originType: NATIVE - originId: demo - - id: customers - type: dataset - attributes: - title: Customers - description: Customers - tags: - - Customers - grain: - - id: customer_id - type: attribute - order: 0 - dataSourceTableId: demo-test-ds:customers - areRelationsValid: true - type: NORMAL - relationships: - attributes: - data: - - id: region - type: attribute - - id: state - type: attribute - - id: customer_id - type: attribute - - id: customer_name - type: attribute - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers - meta: - origin: - originType: NATIVE - originId: demo included: - id: product_id type: attribute @@ -1823,6 +1853,7 @@ interactions: tags: - Products sourceColumn: product_id + sourceColumnDataType: INT links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id - id: budget @@ -1833,6 +1864,7 @@ interactions: tags: - Campaign channels sourceColumn: budget + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/budget - id: date.year @@ -1853,6 +1885,7 @@ interactions: tags: - Products sourceColumn: product_name + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name - id: date.month @@ -1873,6 +1906,7 @@ interactions: tags: - Products sourceColumn: category + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category - id: date.dayOfMonth @@ -1913,6 +1947,7 @@ interactions: tags: - Campaign channels sourceColumn: category + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category - id: date.minute @@ -1933,6 +1968,7 @@ interactions: tags: - Customers sourceColumn: state + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state - id: date.week @@ -1953,6 +1989,7 @@ interactions: tags: - Order lines sourceColumn: order_id + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id - id: date.hour @@ -1973,6 +2010,7 @@ interactions: tags: - Campaigns sourceColumn: campaign_name + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name - id: price @@ -1983,6 +2021,7 @@ interactions: tags: - Order lines sourceColumn: price + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/price - id: date.dayOfWeek @@ -2013,6 +2052,7 @@ interactions: tags: - Customers sourceColumn: region + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region - id: campaign_channel_id @@ -2023,6 +2063,7 @@ interactions: tags: - Campaign channels sourceColumn: campaign_channel_id + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id - id: customer_id @@ -2033,6 +2074,7 @@ interactions: tags: - Customers sourceColumn: customer_id + sourceColumnDataType: INT links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id - id: date.hourOfDay @@ -2053,6 +2095,7 @@ interactions: tags: - Order lines sourceColumn: quantity + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity - id: campaign_id @@ -2063,6 +2106,7 @@ interactions: tags: - Campaigns sourceColumn: campaign_id + sourceColumnDataType: INT links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id - id: type @@ -2073,6 +2117,7 @@ interactions: tags: - Campaign channels sourceColumn: type + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type - id: spend @@ -2083,6 +2128,7 @@ interactions: tags: - Campaign channels sourceColumn: spend + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/spend - id: date.dayOfYear @@ -2123,6 +2169,7 @@ interactions: tags: - Order lines sourceColumn: order_status + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status - id: date.monthOfYear @@ -2143,6 +2190,7 @@ interactions: tags: - Customers sourceColumn: customer_name + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name - id: order_line_id @@ -2153,11 +2201,12 @@ interactions: tags: - Order lines sourceColumn: order_line_id + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=0&size=500 - next: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=1&size=500 + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=1&size=500 - request: method: GET uri: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500 @@ -2185,7 +2234,7 @@ interactions: Connection: - keep-alive Content-Length: - - '9799' + - '10543' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -2237,6 +2286,7 @@ interactions: attributes: title: '# of Active Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0' maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) @@ -2251,6 +2301,7 @@ interactions: attributes: title: '# of Orders' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0' maql: SELECT COUNT({attribute/order_id}) @@ -2265,6 +2316,7 @@ interactions: attributes: title: '# of Top Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0' maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT @@ -2281,6 +2333,7 @@ interactions: title: '# of Valid Orders' description: '' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.00' maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} @@ -2296,6 +2349,7 @@ interactions: attributes: title: Campaign Spend areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT SUM({fact/spend}) @@ -2310,6 +2364,7 @@ interactions: attributes: title: Order Amount areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT SUM({fact/price}*{fact/quantity}) @@ -2324,6 +2379,7 @@ interactions: attributes: title: '% Revenue' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / {metric/total_revenue} @@ -2338,6 +2394,7 @@ interactions: attributes: title: '% Revenue from Top 10 Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ @@ -2353,6 +2410,7 @@ interactions: attributes: title: '% Revenue from Top 10% Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ @@ -2368,6 +2426,7 @@ interactions: attributes: title: '% Revenue from Top 10% Products' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ @@ -2383,6 +2442,7 @@ interactions: attributes: title: '% Revenue from Top 10 Products' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ @@ -2398,6 +2458,7 @@ interactions: attributes: title: '% Revenue in Category' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, @@ -2413,6 +2474,7 @@ interactions: attributes: title: '% Revenue per Product' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL @@ -2429,6 +2491,7 @@ interactions: title: Revenue description: '' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} @@ -2444,6 +2507,7 @@ interactions: attributes: title: Revenue (Clothing) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2459,6 +2523,7 @@ interactions: attributes: title: Revenue (Electronic) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2474,6 +2539,7 @@ interactions: attributes: title: Revenue (Home) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2489,6 +2555,7 @@ interactions: attributes: title: Revenue (Outdoor) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2504,6 +2571,7 @@ interactions: attributes: title: Revenue per Customer areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0.0 maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) @@ -2518,6 +2586,7 @@ interactions: attributes: title: Revenue per Dollar Spent areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0.0 maql: SELECT {metric/revenue} / {metric/campaign_spend} @@ -2532,6 +2601,7 @@ interactions: attributes: title: Revenue / Top 10 areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) @@ -2546,6 +2616,7 @@ interactions: attributes: title: Revenue / Top 10% areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) @@ -2560,6 +2631,7 @@ interactions: attributes: title: Total Revenue areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} BY ALL OTHER @@ -2574,6 +2646,7 @@ interactions: attributes: title: Total Revenue (No Filters) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER @@ -2588,7 +2661,7 @@ interactions: next: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=1&size=500 - request: method: GET - uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/886003f5e9fc4282f007f036a2fe13dd4f59af95?offset=0%2C0&limit=2%2C1000 + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/074fb45b62acfe8493bec9db01bd3d2d98e36eaf?offset=0%2C0&limit=2%2C1000 body: null headers: Accept: @@ -2658,7 +2731,7 @@ interactions: X-XSS-Protection: - 1 ; mode=block content-length: - - '686' + - '676' body: string: data: @@ -2667,11 +2740,11 @@ interactions: - 228392.39 - 18.7 - 132511.22 - - - 607.0 - - 327.0 - - 1313.0 - - 1.0 - - 768.0 + - - 607 + - 327 + - 1313 + - 1 + - 768 dimensionHeaders: - headerGroups: - headers: diff --git a/gooddata-pandas/tests/dataframe/fixtures/simple_index_filtered_metrics_and_label.yaml b/gooddata-pandas/tests/dataframe/fixtures/simple_index_filtered_metrics_and_label.yaml index a973c2fa1..c1ffa9afd 100644 --- a/gooddata-pandas/tests/dataframe/fixtures/simple_index_filtered_metrics_and_label.yaml +++ b/gooddata-pandas/tests/dataframe/fixtures/simple_index_filtered_metrics_and_label.yaml @@ -197,7 +197,7 @@ interactions: type: label localIdentifier: dim_1 links: - executionResult: a4ed35af168dbcb203a7d27f8b0ec185a3325e1c + executionResult: b6be6ee89b749abd3275b365e88ad30c4b4dd837 - request: method: GET uri: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&page=0&size=500 @@ -225,7 +225,7 @@ interactions: Connection: - keep-alive Content-Length: - - '27018' + - '27121' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -272,743 +272,743 @@ interactions: body: string: data: - - id: campaign_channels.category + - id: date.minute type: attribute attributes: - title: Category - description: Category + title: Date - Minute + description: Minute tags: - - Campaign channels + - Date + granularity: MINUTE areRelationsValid: true - sourceColumn: category - sourceColumnDataType: STRING relationships: dataset: data: - id: campaign_channels + id: date type: dataset labels: data: - - id: campaign_channels.category + - id: date.minute type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute meta: origin: originType: NATIVE originId: demo - - id: campaign_channel_id + - id: date.hour type: attribute attributes: - title: Campaign channel id - description: Campaign channel id + title: Date - Hour + description: Hour tags: - - Campaign channels + - Date + granularity: HOUR areRelationsValid: true - sourceColumn: campaign_channel_id - sourceColumnDataType: STRING relationships: dataset: data: - id: campaign_channels + id: date type: dataset labels: data: - - id: campaign_channel_id + - id: date.hour type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour meta: origin: originType: NATIVE originId: demo - - id: type + - id: date.day type: attribute attributes: - title: Type - description: Type + title: Date - Date + description: Date tags: - - Campaign channels + - Date + granularity: DAY areRelationsValid: true - sourceColumn: type - sourceColumnDataType: STRING relationships: dataset: data: - id: campaign_channels + id: date type: dataset labels: data: - - id: type + - id: date.day type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day meta: origin: originType: NATIVE originId: demo - - id: campaign_name + - id: date.week type: attribute attributes: - title: Campaign name - description: Campaign name + title: Date - Week/Year + description: Week and Year (W52/2020) tags: - - Campaigns + - Date + granularity: WEEK areRelationsValid: true - sourceColumn: campaign_name - sourceColumnDataType: STRING relationships: dataset: data: - id: campaigns + id: date type: dataset labels: data: - - id: campaign_name + - id: date.week type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week meta: origin: originType: NATIVE originId: demo - - id: campaign_id + - id: date.month type: attribute attributes: - title: Campaign id - description: Campaign id + title: Date - Month/Year + description: Month and Year (12/2020) tags: - - Campaigns + - Date + granularity: MONTH areRelationsValid: true - sourceColumn: campaign_id - sourceColumnDataType: INT relationships: dataset: data: - id: campaigns + id: date type: dataset labels: data: - - id: campaign_id + - id: date.month type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month meta: origin: originType: NATIVE originId: demo - - id: state + - id: date.quarter type: attribute attributes: - title: State - description: State + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) tags: - - Customers + - Date + granularity: QUARTER areRelationsValid: true - sourceColumn: state - sourceColumnDataType: STRING relationships: - defaultView: - data: - id: state - type: label dataset: data: - id: customers + id: date type: dataset labels: data: - - id: state - type: label - - id: geo__state__location + - id: date.quarter type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter meta: origin: originType: NATIVE originId: demo - - id: region + - id: date.year type: attribute attributes: - title: Region - description: Region + title: Date - Year + description: Year tags: - - Customers + - Date + granularity: YEAR areRelationsValid: true - sourceColumn: region - sourceColumnDataType: STRING relationships: dataset: data: - id: customers + id: date type: dataset labels: data: - - id: region + - id: date.year type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year meta: origin: originType: NATIVE originId: demo - - id: customer_name + - id: date.minuteOfHour type: attribute attributes: - title: Customer name - description: Customer name + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) tags: - - Customers + - Date + granularity: MINUTE_OF_HOUR areRelationsValid: true - sourceColumn: customer_name - sourceColumnDataType: STRING relationships: dataset: data: - id: customers + id: date type: dataset labels: data: - - id: customer_name + - id: date.minuteOfHour type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour meta: origin: originType: NATIVE originId: demo - - id: customer_id + - id: date.hourOfDay type: attribute attributes: - title: Customer id - description: Customer id + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) tags: - - Customers + - Date + granularity: HOUR_OF_DAY areRelationsValid: true - sourceColumn: customer_id - sourceColumnDataType: INT relationships: dataset: data: - id: customers + id: date type: dataset labels: data: - - id: customer_id + - id: date.hourOfDay type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay meta: origin: originType: NATIVE originId: demo - - id: order_status + - id: date.dayOfWeek type: attribute attributes: - title: Order status - description: Order status + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) tags: - - Order lines + - Date + granularity: DAY_OF_WEEK areRelationsValid: true - sourceColumn: order_status - sourceColumnDataType: STRING relationships: dataset: data: - id: order_lines + id: date type: dataset labels: data: - - id: order_status + - id: date.dayOfWeek type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek meta: origin: originType: NATIVE originId: demo - - id: order_line_id + - id: date.dayOfMonth type: attribute attributes: - title: Order line id - description: Order line id + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) tags: - - Order lines + - Date + granularity: DAY_OF_MONTH areRelationsValid: true - sourceColumn: order_line_id - sourceColumnDataType: STRING relationships: dataset: data: - id: order_lines + id: date type: dataset labels: data: - - id: order_line_id + - id: date.dayOfMonth type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth meta: origin: originType: NATIVE originId: demo - - id: order_id + - id: date.dayOfYear type: attribute attributes: - title: Order id - description: Order id + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) tags: - - Order lines + - Date + granularity: DAY_OF_YEAR areRelationsValid: true - sourceColumn: order_id - sourceColumnDataType: STRING relationships: dataset: data: - id: order_lines + id: date type: dataset labels: data: - - id: order_id + - id: date.dayOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear meta: origin: originType: NATIVE originId: demo - - id: product_name + - id: date.weekOfYear type: attribute attributes: - title: Product name - description: Product name + title: Date - Week of Year + description: Generic Week (W1-W53) tags: - - Products + - Date + granularity: WEEK_OF_YEAR areRelationsValid: true - sourceColumn: product_name - sourceColumnDataType: STRING relationships: dataset: data: - id: products + id: date type: dataset labels: data: - - id: product_name + - id: date.weekOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear meta: origin: originType: NATIVE originId: demo - - id: product_id + - id: date.monthOfYear type: attribute attributes: - title: Product id - description: Product id + title: Date - Month of Year + description: Generic Month (M1-M12) tags: - - Products + - Date + granularity: MONTH_OF_YEAR areRelationsValid: true - sourceColumn: product_id - sourceColumnDataType: INT relationships: dataset: data: - id: products + id: date type: dataset labels: data: - - id: product_id + - id: date.monthOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear meta: origin: originType: NATIVE originId: demo - - id: products.category + - id: date.quarterOfYear type: attribute attributes: - title: Category - description: Category + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) tags: - - Products + - Date + granularity: QUARTER_OF_YEAR areRelationsValid: true - sourceColumn: category - sourceColumnDataType: STRING relationships: dataset: data: - id: products + id: date type: dataset labels: data: - - id: products.category + - id: date.quarterOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear meta: origin: originType: NATIVE originId: demo - - id: date.quarterOfYear + - id: campaign_channel_id type: attribute attributes: - title: Date - Quarter of Year - description: Generic Quarter (Q1-Q4) + title: Campaign channel id + description: Campaign channel id tags: - - Date - granularity: QUARTER_OF_YEAR + - Campaign channels areRelationsValid: true + sourceColumn: campaign_channel_id + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaign_channels type: dataset labels: data: - - id: date.quarterOfYear + - id: campaign_channel_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id meta: origin: originType: NATIVE originId: demo - - id: date.monthOfYear + - id: campaign_channels.category type: attribute attributes: - title: Date - Month of Year - description: Generic Month (M1-M12) + title: Category + description: Category tags: - - Date - granularity: MONTH_OF_YEAR + - Campaign channels areRelationsValid: true + sourceColumn: category + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaign_channels type: dataset labels: data: - - id: date.monthOfYear + - id: campaign_channels.category type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category meta: origin: originType: NATIVE originId: demo - - id: date.weekOfYear + - id: type type: attribute - attributes: - title: Date - Week of Year - description: Generic Week (W1-W53) + attributes: + title: Type + description: Type tags: - - Date - granularity: WEEK_OF_YEAR + - Campaign channels areRelationsValid: true + sourceColumn: type + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaign_channels type: dataset labels: data: - - id: date.weekOfYear + - id: type type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type meta: origin: originType: NATIVE originId: demo - - id: date.dayOfYear + - id: campaign_id type: attribute attributes: - title: Date - Day of Year - description: Generic Day of the Year (D1-D366) + title: Campaign id + description: Campaign id tags: - - Date - granularity: DAY_OF_YEAR + - Campaigns areRelationsValid: true + sourceColumn: campaign_id + sourceColumnDataType: INT relationships: dataset: data: - id: date + id: campaigns type: dataset labels: data: - - id: date.dayOfYear + - id: campaign_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id meta: origin: originType: NATIVE originId: demo - - id: date.dayOfMonth + - id: campaign_name type: attribute attributes: - title: Date - Day of Month - description: Generic Day of the Month (D1-D31) + title: Campaign name + description: Campaign name tags: - - Date - granularity: DAY_OF_MONTH + - Campaigns areRelationsValid: true + sourceColumn: campaign_name + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaigns type: dataset labels: data: - - id: date.dayOfMonth + - id: campaign_name type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name meta: origin: originType: NATIVE originId: demo - - id: date.dayOfWeek + - id: customer_id type: attribute attributes: - title: Date - Day of Week - description: Generic Day of the Week (D1-D7) + title: Customer id + description: Customer id tags: - - Date - granularity: DAY_OF_WEEK + - Customers areRelationsValid: true + sourceColumn: customer_id + sourceColumnDataType: INT relationships: dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.dayOfWeek + - id: customer_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id meta: origin: originType: NATIVE originId: demo - - id: date.hourOfDay + - id: customer_name type: attribute attributes: - title: Date - Hour of Day - description: Generic Hour of the Day(H1-H24) + title: Customer name + description: Customer name tags: - - Date - granularity: HOUR_OF_DAY + - Customers areRelationsValid: true + sourceColumn: customer_name + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.hourOfDay + - id: customer_name type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name meta: origin: originType: NATIVE originId: demo - - id: date.minuteOfHour + - id: region type: attribute attributes: - title: Date - Minute of Hour - description: Generic Minute of the Hour(MI1-MI60) + title: Region + description: Region tags: - - Date - granularity: MINUTE_OF_HOUR + - Customers areRelationsValid: true + sourceColumn: region + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.minuteOfHour + - id: region type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region meta: origin: originType: NATIVE originId: demo - - id: date.year + - id: state type: attribute attributes: - title: Date - Year - description: Year + title: State + description: State tags: - - Date - granularity: YEAR + - Customers areRelationsValid: true + sourceColumn: state + sourceColumnDataType: STRING relationships: + defaultView: + data: + id: state + type: label dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.year + - id: geo__state__location + type: label + - id: state type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state meta: origin: originType: NATIVE originId: demo - - id: date.quarter + - id: order_id type: attribute attributes: - title: Date - Quarter/Year - description: Quarter and Year (Q1/2020) + title: Order id + description: Order id tags: - - Date - granularity: QUARTER + - Order lines areRelationsValid: true + sourceColumn: order_id + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: order_lines type: dataset labels: data: - - id: date.quarter + - id: order_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id meta: origin: originType: NATIVE originId: demo - - id: date.month + - id: order_line_id type: attribute attributes: - title: Date - Month/Year - description: Month and Year (12/2020) + title: Order line id + description: Order line id tags: - - Date - granularity: MONTH + - Order lines areRelationsValid: true + sourceColumn: order_line_id + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: order_lines type: dataset labels: data: - - id: date.month + - id: order_line_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id meta: origin: originType: NATIVE originId: demo - - id: date.week + - id: order_status type: attribute attributes: - title: Date - Week/Year - description: Week and Year (W52/2020) + title: Order status + description: Order status tags: - - Date - granularity: WEEK + - Order lines areRelationsValid: true + sourceColumn: order_status + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: order_lines type: dataset labels: data: - - id: date.week + - id: order_status type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status meta: origin: originType: NATIVE originId: demo - - id: date.day + - id: product_id type: attribute attributes: - title: Date - Date - description: Date + title: Product id + description: Product id tags: - - Date - granularity: DAY + - Products areRelationsValid: true + sourceColumn: product_id + sourceColumnDataType: INT relationships: dataset: data: - id: date + id: products type: dataset labels: data: - - id: date.day + - id: product_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id meta: origin: originType: NATIVE originId: demo - - id: date.hour + - id: product_name type: attribute attributes: - title: Date - Hour - description: Hour + title: Product name + description: Product name tags: - - Date - granularity: HOUR + - Products areRelationsValid: true + sourceColumn: product_name + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: products type: dataset labels: data: - - id: date.hour + - id: product_name type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name meta: origin: originType: NATIVE originId: demo - - id: date.minute + - id: products.category type: attribute attributes: - title: Date - Minute - description: Minute + title: Category + description: Category tags: - - Date - granularity: MINUTE + - Products areRelationsValid: true + sourceColumn: category + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: products type: dataset labels: data: - - id: date.minute + - id: products.category type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category meta: origin: originType: NATIVE @@ -1072,51 +1072,59 @@ interactions: grain: - id: order_line_id type: attribute - order: 0 referenceProperties: - identifier: - id: products + id: date type: dataset multivalue: false + sources: null sourceColumns: - - product_id + - date sourceColumnDataTypes: - - INT + - DATE - identifier: id: customers type: dataset multivalue: false + sources: null sourceColumns: - customer_id sourceColumnDataTypes: - INT - identifier: - id: date + id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - - date + - campaign_id sourceColumnDataTypes: - - DATE + - INT - identifier: - id: campaigns + id: products type: dataset multivalue: false + sources: null sourceColumns: - - campaign_id + - product_id sourceColumnDataTypes: - INT dataSourceTableId: demo-test-ds:order_lines dataSourceTablePath: - demo - order_lines - workspaceDataFilterProperties: - - workspaceDataFilterIdentifier: + workspaceDataFilterColumns: + - name: wdf__state + dataType: STRING + - name: wdf__region + dataType: STRING + workspaceDataFilterReferences: + - filterId: id: wdf__state type: workspaceDataFilter filterColumn: wdf__state filterColumnDataType: STRING - - workspaceDataFilterIdentifier: + - filterId: id: wdf__region type: workspaceDataFilter filterColumn: wdf__region @@ -1158,12 +1166,12 @@ interactions: grain: - id: campaign_channel_id type: attribute - order: 0 referenceProperties: - identifier: id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - campaign_id sourceColumnDataTypes: @@ -1253,7 +1261,6 @@ interactions: grain: - id: campaign_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:campaigns dataSourceTablePath: - demo @@ -1310,7 +1317,6 @@ interactions: grain: - id: customer_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:customers dataSourceTablePath: - demo @@ -1436,7 +1442,6 @@ interactions: grain: - id: product_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:products dataSourceTablePath: - demo @@ -1540,8 +1545,8 @@ interactions: links: self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_id links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels,datasets&page=0&size=500 - next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels,datasets&page=1&size=500 + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&page=1&size=500 - request: method: GET uri: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500 @@ -1569,7 +1574,7 @@ interactions: Connection: - keep-alive Content-Length: - - '13953' + - '14899' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -1616,6 +1621,54 @@ interactions: body: string: data: + - id: date + type: dataset + attributes: + title: Date + description: '' + tags: + - Date + areRelationsValid: true + type: DATE + relationships: + attributes: + data: + - id: date.quarter + type: attribute + - id: date.minute + type: attribute + - id: date.hourOfDay + type: attribute + - id: date.minuteOfHour + type: attribute + - id: date.dayOfYear + type: attribute + - id: date.monthOfYear + type: attribute + - id: date.weekOfYear + type: attribute + - id: date.week + type: attribute + - id: date.year + type: attribute + - id: date.dayOfWeek + type: attribute + - id: date.hour + type: attribute + - id: date.dayOfMonth + type: attribute + - id: date.month + type: attribute + - id: date.quarterOfYear + type: attribute + - id: date.day + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date + meta: + origin: + originType: NATIVE + originId: demo - id: campaign_channels type: dataset attributes: @@ -1626,16 +1679,20 @@ interactions: grain: - id: campaign_channel_id type: attribute - order: 0 referenceProperties: - identifier: id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - campaign_id - sourceColumnDataTypes: null + sourceColumnDataTypes: + - INT dataSourceTableId: demo-test-ds:campaign_channels + dataSourceTablePath: + - demo + - campaign_channels areRelationsValid: true type: NORMAL relationships: @@ -1643,10 +1700,10 @@ interactions: data: - id: campaign_channel_id type: attribute - - id: type - type: attribute - id: campaign_channels.category type: attribute + - id: type + type: attribute facts: data: - id: budget @@ -1659,6 +1716,68 @@ interactions: origin: originType: NATIVE originId: demo + - id: campaigns + 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 + relationships: + attributes: + data: + - id: campaign_id + type: attribute + - id: campaign_name + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns + meta: + origin: + originType: NATIVE + originId: demo + - id: customers + 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 + relationships: + attributes: + data: + - id: customer_id + type: attribute + - id: state + type: attribute + - id: customer_name + type: attribute + - id: region + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers + meta: + origin: + originType: NATIVE + originId: demo - id: order_lines type: dataset attributes: @@ -1669,45 +1788,60 @@ interactions: grain: - id: order_line_id type: attribute - order: 0 referenceProperties: - identifier: - id: products + id: date type: dataset multivalue: false + sources: null sourceColumns: - - product_id - sourceColumnDataTypes: null + - date + sourceColumnDataTypes: + - DATE - identifier: id: customers type: dataset multivalue: false + sources: null sourceColumns: - customer_id - sourceColumnDataTypes: null + sourceColumnDataTypes: + - INT - identifier: - id: date + id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - - date - sourceColumnDataTypes: null + - campaign_id + sourceColumnDataTypes: + - INT - identifier: - id: campaigns + id: products type: dataset multivalue: false + sources: null sourceColumns: - - campaign_id - sourceColumnDataTypes: null + - product_id + sourceColumnDataTypes: + - INT dataSourceTableId: demo-test-ds:order_lines + dataSourceTablePath: + - demo + - order_lines areRelationsValid: true - workspaceDataFilterProperties: - - workspaceDataFilterIdentifier: + workspaceDataFilterColumns: + - name: wdf__state + dataType: STRING + - name: wdf__region + dataType: STRING + workspaceDataFilterReferences: + - filterId: id: wdf__state type: workspaceDataFilter filterColumn: wdf__state filterColumnDataType: STRING - - workspaceDataFilterIdentifier: + - filterId: id: wdf__region type: workspaceDataFilter filterColumn: wdf__region @@ -1716,12 +1850,12 @@ interactions: relationships: attributes: data: - - id: order_status - type: attribute - id: order_id type: attribute - id: order_line_id type: attribute + - id: order_status + type: attribute facts: data: - id: price @@ -1744,18 +1878,20 @@ interactions: grain: - id: product_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:products + dataSourceTablePath: + - demo + - products areRelationsValid: true type: NORMAL relationships: attributes: data: - - id: product_name + - id: products.category type: attribute - id: product_id type: attribute - - id: products.category + - id: product_name type: attribute links: self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/products @@ -1763,112 +1899,6 @@ interactions: origin: originType: NATIVE originId: demo - - id: date - type: dataset - attributes: - title: Date - description: '' - tags: - - Date - areRelationsValid: true - type: DATE - relationships: - attributes: - data: - - id: date.quarterOfYear - type: attribute - - id: date.weekOfYear - type: attribute - - id: date.dayOfMonth - type: attribute - - id: date.monthOfYear - type: attribute - - id: date.minuteOfHour - type: attribute - - id: date.hour - type: attribute - - id: date.year - type: attribute - - id: date.week - type: attribute - - id: date.quarter - type: attribute - - id: date.dayOfYear - type: attribute - - id: date.dayOfWeek - type: attribute - - id: date.minute - type: attribute - - id: date.day - type: attribute - - id: date.month - type: attribute - - id: date.hourOfDay - type: attribute - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date - meta: - origin: - originType: NATIVE - originId: demo - - id: campaigns - type: dataset - attributes: - title: Campaigns - description: Campaigns - tags: - - Campaigns - grain: - - id: campaign_id - type: attribute - order: 0 - dataSourceTableId: demo-test-ds:campaigns - areRelationsValid: true - type: NORMAL - relationships: - attributes: - data: - - id: campaign_id - type: attribute - - id: campaign_name - type: attribute - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns - meta: - origin: - originType: NATIVE - originId: demo - - id: customers - type: dataset - attributes: - title: Customers - description: Customers - tags: - - Customers - grain: - - id: customer_id - type: attribute - order: 0 - dataSourceTableId: demo-test-ds:customers - areRelationsValid: true - type: NORMAL - relationships: - attributes: - data: - - id: region - type: attribute - - id: state - type: attribute - - id: customer_id - type: attribute - - id: customer_name - type: attribute - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers - meta: - origin: - originType: NATIVE - originId: demo included: - id: product_id type: attribute @@ -1878,6 +1908,7 @@ interactions: tags: - Products sourceColumn: product_id + sourceColumnDataType: INT links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id - id: budget @@ -1888,6 +1919,7 @@ interactions: tags: - Campaign channels sourceColumn: budget + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/budget - id: date.year @@ -1908,6 +1940,7 @@ interactions: tags: - Products sourceColumn: product_name + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name - id: date.month @@ -1928,6 +1961,7 @@ interactions: tags: - Products sourceColumn: category + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category - id: date.dayOfMonth @@ -1968,6 +2002,7 @@ interactions: tags: - Campaign channels sourceColumn: category + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category - id: date.minute @@ -1988,6 +2023,7 @@ interactions: tags: - Customers sourceColumn: state + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state - id: date.week @@ -2008,6 +2044,7 @@ interactions: tags: - Order lines sourceColumn: order_id + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id - id: date.hour @@ -2028,6 +2065,7 @@ interactions: tags: - Campaigns sourceColumn: campaign_name + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name - id: price @@ -2038,6 +2076,7 @@ interactions: tags: - Order lines sourceColumn: price + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/price - id: date.dayOfWeek @@ -2068,6 +2107,7 @@ interactions: tags: - Customers sourceColumn: region + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region - id: campaign_channel_id @@ -2078,6 +2118,7 @@ interactions: tags: - Campaign channels sourceColumn: campaign_channel_id + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id - id: customer_id @@ -2088,6 +2129,7 @@ interactions: tags: - Customers sourceColumn: customer_id + sourceColumnDataType: INT links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id - id: date.hourOfDay @@ -2108,6 +2150,7 @@ interactions: tags: - Order lines sourceColumn: quantity + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity - id: campaign_id @@ -2118,6 +2161,7 @@ interactions: tags: - Campaigns sourceColumn: campaign_id + sourceColumnDataType: INT links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id - id: type @@ -2128,6 +2172,7 @@ interactions: tags: - Campaign channels sourceColumn: type + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type - id: spend @@ -2138,6 +2183,7 @@ interactions: tags: - Campaign channels sourceColumn: spend + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/spend - id: date.dayOfYear @@ -2178,6 +2224,7 @@ interactions: tags: - Order lines sourceColumn: order_status + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status - id: date.monthOfYear @@ -2198,6 +2245,7 @@ interactions: tags: - Customers sourceColumn: customer_name + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name - id: order_line_id @@ -2208,11 +2256,12 @@ interactions: tags: - Order lines sourceColumn: order_line_id + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=0&size=500 - next: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=1&size=500 + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=1&size=500 - request: method: GET uri: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500 @@ -2240,7 +2289,7 @@ interactions: Connection: - keep-alive Content-Length: - - '9799' + - '10543' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -2292,6 +2341,7 @@ interactions: attributes: title: '# of Active Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0' maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) @@ -2306,6 +2356,7 @@ interactions: attributes: title: '# of Orders' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0' maql: SELECT COUNT({attribute/order_id}) @@ -2320,6 +2371,7 @@ interactions: attributes: title: '# of Top Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0' maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT @@ -2336,6 +2388,7 @@ interactions: title: '# of Valid Orders' description: '' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.00' maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} @@ -2351,6 +2404,7 @@ interactions: attributes: title: Campaign Spend areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT SUM({fact/spend}) @@ -2365,6 +2419,7 @@ interactions: attributes: title: Order Amount areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT SUM({fact/price}*{fact/quantity}) @@ -2379,6 +2434,7 @@ interactions: attributes: title: '% Revenue' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / {metric/total_revenue} @@ -2393,6 +2449,7 @@ interactions: attributes: title: '% Revenue from Top 10 Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ @@ -2408,6 +2465,7 @@ interactions: attributes: title: '% Revenue from Top 10% Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ @@ -2423,6 +2481,7 @@ interactions: attributes: title: '% Revenue from Top 10% Products' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ @@ -2438,6 +2497,7 @@ interactions: attributes: title: '% Revenue from Top 10 Products' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ @@ -2453,6 +2513,7 @@ interactions: attributes: title: '% Revenue in Category' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, @@ -2468,6 +2529,7 @@ interactions: attributes: title: '% Revenue per Product' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL @@ -2484,6 +2546,7 @@ interactions: title: Revenue description: '' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} @@ -2499,6 +2562,7 @@ interactions: attributes: title: Revenue (Clothing) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2514,6 +2578,7 @@ interactions: attributes: title: Revenue (Electronic) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2529,6 +2594,7 @@ interactions: attributes: title: Revenue (Home) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2544,6 +2610,7 @@ interactions: attributes: title: Revenue (Outdoor) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2559,6 +2626,7 @@ interactions: attributes: title: Revenue per Customer areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0.0 maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) @@ -2573,6 +2641,7 @@ interactions: attributes: title: Revenue per Dollar Spent areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0.0 maql: SELECT {metric/revenue} / {metric/campaign_spend} @@ -2587,6 +2656,7 @@ interactions: attributes: title: Revenue / Top 10 areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) @@ -2601,6 +2671,7 @@ interactions: attributes: title: Revenue / Top 10% areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) @@ -2615,6 +2686,7 @@ interactions: attributes: title: Total Revenue areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} BY ALL OTHER @@ -2629,6 +2701,7 @@ interactions: attributes: title: Total Revenue (No Filters) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER @@ -2643,7 +2716,7 @@ interactions: next: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=1&size=500 - request: method: GET - uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/a4ed35af168dbcb203a7d27f8b0ec185a3325e1c?offset=0%2C0&limit=2%2C1000 + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/b6be6ee89b749abd3275b365e88ad30c4b4dd837?offset=0%2C0&limit=2%2C1000 body: null headers: Accept: diff --git a/gooddata-pandas/tests/dataframe/fixtures/simple_index_metrics.yaml b/gooddata-pandas/tests/dataframe/fixtures/simple_index_metrics.yaml index ce71720cb..79c8817b3 100644 --- a/gooddata-pandas/tests/dataframe/fixtures/simple_index_metrics.yaml +++ b/gooddata-pandas/tests/dataframe/fixtures/simple_index_metrics.yaml @@ -149,7 +149,7 @@ interactions: type: label localIdentifier: dim_1 links: - executionResult: 2d4c4b9f90f0a1f06c1b75a210d3714421230bc1 + executionResult: 1cd2fcf7d640b48e8ecc463047c5f3e3954adbd1 - request: method: GET uri: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&page=0&size=500 @@ -177,7 +177,7 @@ interactions: Connection: - keep-alive Content-Length: - - '27018' + - '27121' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -224,743 +224,743 @@ interactions: body: string: data: - - id: campaign_channels.category + - id: date.minute type: attribute attributes: - title: Category - description: Category + title: Date - Minute + description: Minute tags: - - Campaign channels + - Date + granularity: MINUTE areRelationsValid: true - sourceColumn: category - sourceColumnDataType: STRING relationships: dataset: data: - id: campaign_channels + id: date type: dataset labels: data: - - id: campaign_channels.category + - id: date.minute type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute meta: origin: originType: NATIVE originId: demo - - id: campaign_channel_id + - id: date.hour type: attribute attributes: - title: Campaign channel id - description: Campaign channel id + title: Date - Hour + description: Hour tags: - - Campaign channels + - Date + granularity: HOUR areRelationsValid: true - sourceColumn: campaign_channel_id - sourceColumnDataType: STRING relationships: dataset: data: - id: campaign_channels + id: date type: dataset labels: data: - - id: campaign_channel_id + - id: date.hour type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour meta: origin: originType: NATIVE originId: demo - - id: type + - id: date.day type: attribute attributes: - title: Type - description: Type + title: Date - Date + description: Date tags: - - Campaign channels + - Date + granularity: DAY areRelationsValid: true - sourceColumn: type - sourceColumnDataType: STRING relationships: dataset: data: - id: campaign_channels + id: date type: dataset labels: data: - - id: type + - id: date.day type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day meta: origin: originType: NATIVE originId: demo - - id: campaign_name + - id: date.week type: attribute attributes: - title: Campaign name - description: Campaign name + title: Date - Week/Year + description: Week and Year (W52/2020) tags: - - Campaigns + - Date + granularity: WEEK areRelationsValid: true - sourceColumn: campaign_name - sourceColumnDataType: STRING relationships: dataset: data: - id: campaigns + id: date type: dataset labels: data: - - id: campaign_name + - id: date.week type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week meta: origin: originType: NATIVE originId: demo - - id: campaign_id + - id: date.month type: attribute attributes: - title: Campaign id - description: Campaign id + title: Date - Month/Year + description: Month and Year (12/2020) tags: - - Campaigns + - Date + granularity: MONTH areRelationsValid: true - sourceColumn: campaign_id - sourceColumnDataType: INT relationships: dataset: data: - id: campaigns + id: date type: dataset labels: data: - - id: campaign_id + - id: date.month type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month meta: origin: originType: NATIVE originId: demo - - id: state + - id: date.quarter type: attribute attributes: - title: State - description: State + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) tags: - - Customers + - Date + granularity: QUARTER areRelationsValid: true - sourceColumn: state - sourceColumnDataType: STRING relationships: - defaultView: - data: - id: state - type: label dataset: data: - id: customers + id: date type: dataset labels: data: - - id: state - type: label - - id: geo__state__location + - id: date.quarter type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter meta: origin: originType: NATIVE originId: demo - - id: region + - id: date.year type: attribute attributes: - title: Region - description: Region + title: Date - Year + description: Year tags: - - Customers + - Date + granularity: YEAR areRelationsValid: true - sourceColumn: region - sourceColumnDataType: STRING relationships: dataset: data: - id: customers + id: date type: dataset labels: data: - - id: region + - id: date.year type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year meta: origin: originType: NATIVE originId: demo - - id: customer_name + - id: date.minuteOfHour type: attribute attributes: - title: Customer name - description: Customer name + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) tags: - - Customers + - Date + granularity: MINUTE_OF_HOUR areRelationsValid: true - sourceColumn: customer_name - sourceColumnDataType: STRING relationships: dataset: data: - id: customers + id: date type: dataset labels: data: - - id: customer_name + - id: date.minuteOfHour type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour meta: origin: originType: NATIVE originId: demo - - id: customer_id + - id: date.hourOfDay type: attribute attributes: - title: Customer id - description: Customer id + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) tags: - - Customers + - Date + granularity: HOUR_OF_DAY areRelationsValid: true - sourceColumn: customer_id - sourceColumnDataType: INT relationships: dataset: data: - id: customers + id: date type: dataset labels: data: - - id: customer_id + - id: date.hourOfDay type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay meta: origin: originType: NATIVE originId: demo - - id: order_status + - id: date.dayOfWeek type: attribute attributes: - title: Order status - description: Order status + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) tags: - - Order lines + - Date + granularity: DAY_OF_WEEK areRelationsValid: true - sourceColumn: order_status - sourceColumnDataType: STRING relationships: dataset: data: - id: order_lines + id: date type: dataset labels: data: - - id: order_status + - id: date.dayOfWeek type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek meta: origin: originType: NATIVE originId: demo - - id: order_line_id + - id: date.dayOfMonth type: attribute attributes: - title: Order line id - description: Order line id + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) tags: - - Order lines + - Date + granularity: DAY_OF_MONTH areRelationsValid: true - sourceColumn: order_line_id - sourceColumnDataType: STRING relationships: dataset: data: - id: order_lines + id: date type: dataset labels: data: - - id: order_line_id + - id: date.dayOfMonth type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth meta: origin: originType: NATIVE originId: demo - - id: order_id + - id: date.dayOfYear type: attribute attributes: - title: Order id - description: Order id + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) tags: - - Order lines + - Date + granularity: DAY_OF_YEAR areRelationsValid: true - sourceColumn: order_id - sourceColumnDataType: STRING relationships: dataset: data: - id: order_lines + id: date type: dataset labels: data: - - id: order_id + - id: date.dayOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear meta: origin: originType: NATIVE originId: demo - - id: product_name + - id: date.weekOfYear type: attribute attributes: - title: Product name - description: Product name + title: Date - Week of Year + description: Generic Week (W1-W53) tags: - - Products + - Date + granularity: WEEK_OF_YEAR areRelationsValid: true - sourceColumn: product_name - sourceColumnDataType: STRING relationships: dataset: data: - id: products + id: date type: dataset labels: data: - - id: product_name + - id: date.weekOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear meta: origin: originType: NATIVE originId: demo - - id: product_id + - id: date.monthOfYear type: attribute attributes: - title: Product id - description: Product id + title: Date - Month of Year + description: Generic Month (M1-M12) tags: - - Products + - Date + granularity: MONTH_OF_YEAR areRelationsValid: true - sourceColumn: product_id - sourceColumnDataType: INT relationships: dataset: data: - id: products + id: date type: dataset labels: data: - - id: product_id + - id: date.monthOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear meta: origin: originType: NATIVE originId: demo - - id: products.category + - id: date.quarterOfYear type: attribute attributes: - title: Category - description: Category + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) tags: - - Products + - Date + granularity: QUARTER_OF_YEAR areRelationsValid: true - sourceColumn: category - sourceColumnDataType: STRING relationships: dataset: data: - id: products + id: date type: dataset labels: data: - - id: products.category + - id: date.quarterOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear meta: origin: originType: NATIVE originId: demo - - id: date.quarterOfYear + - id: campaign_channel_id type: attribute attributes: - title: Date - Quarter of Year - description: Generic Quarter (Q1-Q4) + title: Campaign channel id + description: Campaign channel id tags: - - Date - granularity: QUARTER_OF_YEAR + - Campaign channels areRelationsValid: true + sourceColumn: campaign_channel_id + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaign_channels type: dataset labels: data: - - id: date.quarterOfYear + - id: campaign_channel_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id meta: origin: originType: NATIVE originId: demo - - id: date.monthOfYear + - id: campaign_channels.category type: attribute attributes: - title: Date - Month of Year - description: Generic Month (M1-M12) + title: Category + description: Category tags: - - Date - granularity: MONTH_OF_YEAR + - Campaign channels areRelationsValid: true + sourceColumn: category + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaign_channels type: dataset labels: data: - - id: date.monthOfYear + - id: campaign_channels.category type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category meta: origin: originType: NATIVE originId: demo - - id: date.weekOfYear + - id: type type: attribute - attributes: - title: Date - Week of Year - description: Generic Week (W1-W53) + attributes: + title: Type + description: Type tags: - - Date - granularity: WEEK_OF_YEAR + - Campaign channels areRelationsValid: true + sourceColumn: type + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaign_channels type: dataset labels: data: - - id: date.weekOfYear + - id: type type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type meta: origin: originType: NATIVE originId: demo - - id: date.dayOfYear + - id: campaign_id type: attribute attributes: - title: Date - Day of Year - description: Generic Day of the Year (D1-D366) + title: Campaign id + description: Campaign id tags: - - Date - granularity: DAY_OF_YEAR + - Campaigns areRelationsValid: true + sourceColumn: campaign_id + sourceColumnDataType: INT relationships: dataset: data: - id: date + id: campaigns type: dataset labels: data: - - id: date.dayOfYear + - id: campaign_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id meta: origin: originType: NATIVE originId: demo - - id: date.dayOfMonth + - id: campaign_name type: attribute attributes: - title: Date - Day of Month - description: Generic Day of the Month (D1-D31) + title: Campaign name + description: Campaign name tags: - - Date - granularity: DAY_OF_MONTH + - Campaigns areRelationsValid: true + sourceColumn: campaign_name + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaigns type: dataset labels: data: - - id: date.dayOfMonth + - id: campaign_name type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name meta: origin: originType: NATIVE originId: demo - - id: date.dayOfWeek + - id: customer_id type: attribute attributes: - title: Date - Day of Week - description: Generic Day of the Week (D1-D7) + title: Customer id + description: Customer id tags: - - Date - granularity: DAY_OF_WEEK + - Customers areRelationsValid: true + sourceColumn: customer_id + sourceColumnDataType: INT relationships: dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.dayOfWeek + - id: customer_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id meta: origin: originType: NATIVE originId: demo - - id: date.hourOfDay + - id: customer_name type: attribute attributes: - title: Date - Hour of Day - description: Generic Hour of the Day(H1-H24) + title: Customer name + description: Customer name tags: - - Date - granularity: HOUR_OF_DAY + - Customers areRelationsValid: true + sourceColumn: customer_name + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.hourOfDay + - id: customer_name type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name meta: origin: originType: NATIVE originId: demo - - id: date.minuteOfHour + - id: region type: attribute attributes: - title: Date - Minute of Hour - description: Generic Minute of the Hour(MI1-MI60) + title: Region + description: Region tags: - - Date - granularity: MINUTE_OF_HOUR + - Customers areRelationsValid: true + sourceColumn: region + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.minuteOfHour + - id: region type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region meta: origin: originType: NATIVE originId: demo - - id: date.year + - id: state type: attribute attributes: - title: Date - Year - description: Year + title: State + description: State tags: - - Date - granularity: YEAR + - Customers areRelationsValid: true + sourceColumn: state + sourceColumnDataType: STRING relationships: + defaultView: + data: + id: state + type: label dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.year + - id: geo__state__location + type: label + - id: state type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state meta: origin: originType: NATIVE originId: demo - - id: date.quarter + - id: order_id type: attribute attributes: - title: Date - Quarter/Year - description: Quarter and Year (Q1/2020) + title: Order id + description: Order id tags: - - Date - granularity: QUARTER + - Order lines areRelationsValid: true + sourceColumn: order_id + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: order_lines type: dataset labels: data: - - id: date.quarter + - id: order_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id meta: origin: originType: NATIVE originId: demo - - id: date.month + - id: order_line_id type: attribute attributes: - title: Date - Month/Year - description: Month and Year (12/2020) + title: Order line id + description: Order line id tags: - - Date - granularity: MONTH + - Order lines areRelationsValid: true + sourceColumn: order_line_id + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: order_lines type: dataset labels: data: - - id: date.month + - id: order_line_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id meta: origin: originType: NATIVE originId: demo - - id: date.week + - id: order_status type: attribute attributes: - title: Date - Week/Year - description: Week and Year (W52/2020) + title: Order status + description: Order status tags: - - Date - granularity: WEEK + - Order lines areRelationsValid: true + sourceColumn: order_status + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: order_lines type: dataset labels: data: - - id: date.week + - id: order_status type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status meta: origin: originType: NATIVE originId: demo - - id: date.day + - id: product_id type: attribute attributes: - title: Date - Date - description: Date + title: Product id + description: Product id tags: - - Date - granularity: DAY + - Products areRelationsValid: true + sourceColumn: product_id + sourceColumnDataType: INT relationships: dataset: data: - id: date + id: products type: dataset labels: data: - - id: date.day + - id: product_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id meta: origin: originType: NATIVE originId: demo - - id: date.hour + - id: product_name type: attribute attributes: - title: Date - Hour - description: Hour + title: Product name + description: Product name tags: - - Date - granularity: HOUR + - Products areRelationsValid: true + sourceColumn: product_name + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: products type: dataset labels: data: - - id: date.hour + - id: product_name type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name meta: origin: originType: NATIVE originId: demo - - id: date.minute + - id: products.category type: attribute attributes: - title: Date - Minute - description: Minute + title: Category + description: Category tags: - - Date - granularity: MINUTE + - Products areRelationsValid: true + sourceColumn: category + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: products type: dataset labels: data: - - id: date.minute + - id: products.category type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category meta: origin: originType: NATIVE @@ -1024,51 +1024,59 @@ interactions: grain: - id: order_line_id type: attribute - order: 0 referenceProperties: - identifier: - id: products + id: date type: dataset multivalue: false + sources: null sourceColumns: - - product_id + - date sourceColumnDataTypes: - - INT + - DATE - identifier: id: customers type: dataset multivalue: false + sources: null sourceColumns: - customer_id sourceColumnDataTypes: - INT - identifier: - id: date + id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - - date + - campaign_id sourceColumnDataTypes: - - DATE + - INT - identifier: - id: campaigns + id: products type: dataset multivalue: false + sources: null sourceColumns: - - campaign_id + - product_id sourceColumnDataTypes: - INT dataSourceTableId: demo-test-ds:order_lines dataSourceTablePath: - demo - order_lines - workspaceDataFilterProperties: - - workspaceDataFilterIdentifier: + workspaceDataFilterColumns: + - name: wdf__state + dataType: STRING + - name: wdf__region + dataType: STRING + workspaceDataFilterReferences: + - filterId: id: wdf__state type: workspaceDataFilter filterColumn: wdf__state filterColumnDataType: STRING - - workspaceDataFilterIdentifier: + - filterId: id: wdf__region type: workspaceDataFilter filterColumn: wdf__region @@ -1110,12 +1118,12 @@ interactions: grain: - id: campaign_channel_id type: attribute - order: 0 referenceProperties: - identifier: id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - campaign_id sourceColumnDataTypes: @@ -1205,7 +1213,6 @@ interactions: grain: - id: campaign_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:campaigns dataSourceTablePath: - demo @@ -1262,7 +1269,6 @@ interactions: grain: - id: customer_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:customers dataSourceTablePath: - demo @@ -1388,7 +1394,6 @@ interactions: grain: - id: product_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:products dataSourceTablePath: - demo @@ -1492,8 +1497,8 @@ interactions: links: self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_id links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels,datasets&page=0&size=500 - next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels,datasets&page=1&size=500 + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&page=1&size=500 - request: method: GET uri: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500 @@ -1521,7 +1526,7 @@ interactions: Connection: - keep-alive Content-Length: - - '13953' + - '14899' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -1568,6 +1573,54 @@ interactions: body: string: data: + - id: date + type: dataset + attributes: + title: Date + description: '' + tags: + - Date + areRelationsValid: true + type: DATE + relationships: + attributes: + data: + - id: date.quarter + type: attribute + - id: date.minute + type: attribute + - id: date.hourOfDay + type: attribute + - id: date.minuteOfHour + type: attribute + - id: date.dayOfYear + type: attribute + - id: date.monthOfYear + type: attribute + - id: date.weekOfYear + type: attribute + - id: date.week + type: attribute + - id: date.year + type: attribute + - id: date.dayOfWeek + type: attribute + - id: date.hour + type: attribute + - id: date.dayOfMonth + type: attribute + - id: date.month + type: attribute + - id: date.quarterOfYear + type: attribute + - id: date.day + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date + meta: + origin: + originType: NATIVE + originId: demo - id: campaign_channels type: dataset attributes: @@ -1578,16 +1631,20 @@ interactions: grain: - id: campaign_channel_id type: attribute - order: 0 referenceProperties: - identifier: id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - campaign_id - sourceColumnDataTypes: null + sourceColumnDataTypes: + - INT dataSourceTableId: demo-test-ds:campaign_channels + dataSourceTablePath: + - demo + - campaign_channels areRelationsValid: true type: NORMAL relationships: @@ -1595,10 +1652,10 @@ interactions: data: - id: campaign_channel_id type: attribute - - id: type - type: attribute - id: campaign_channels.category type: attribute + - id: type + type: attribute facts: data: - id: budget @@ -1611,6 +1668,68 @@ interactions: origin: originType: NATIVE originId: demo + - id: campaigns + 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 + relationships: + attributes: + data: + - id: campaign_id + type: attribute + - id: campaign_name + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns + meta: + origin: + originType: NATIVE + originId: demo + - id: customers + 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 + relationships: + attributes: + data: + - id: customer_id + type: attribute + - id: state + type: attribute + - id: customer_name + type: attribute + - id: region + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers + meta: + origin: + originType: NATIVE + originId: demo - id: order_lines type: dataset attributes: @@ -1621,45 +1740,60 @@ interactions: grain: - id: order_line_id type: attribute - order: 0 referenceProperties: - identifier: - id: products + id: date type: dataset multivalue: false + sources: null sourceColumns: - - product_id - sourceColumnDataTypes: null + - date + sourceColumnDataTypes: + - DATE - identifier: id: customers type: dataset multivalue: false + sources: null sourceColumns: - customer_id - sourceColumnDataTypes: null + sourceColumnDataTypes: + - INT - identifier: - id: date + id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - - date - sourceColumnDataTypes: null + - campaign_id + sourceColumnDataTypes: + - INT - identifier: - id: campaigns + id: products type: dataset multivalue: false + sources: null sourceColumns: - - campaign_id - sourceColumnDataTypes: null + - product_id + sourceColumnDataTypes: + - INT dataSourceTableId: demo-test-ds:order_lines + dataSourceTablePath: + - demo + - order_lines areRelationsValid: true - workspaceDataFilterProperties: - - workspaceDataFilterIdentifier: + workspaceDataFilterColumns: + - name: wdf__state + dataType: STRING + - name: wdf__region + dataType: STRING + workspaceDataFilterReferences: + - filterId: id: wdf__state type: workspaceDataFilter filterColumn: wdf__state filterColumnDataType: STRING - - workspaceDataFilterIdentifier: + - filterId: id: wdf__region type: workspaceDataFilter filterColumn: wdf__region @@ -1668,12 +1802,12 @@ interactions: relationships: attributes: data: - - id: order_status - type: attribute - id: order_id type: attribute - id: order_line_id type: attribute + - id: order_status + type: attribute facts: data: - id: price @@ -1696,18 +1830,20 @@ interactions: grain: - id: product_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:products + dataSourceTablePath: + - demo + - products areRelationsValid: true type: NORMAL relationships: attributes: data: - - id: product_name + - id: products.category type: attribute - id: product_id type: attribute - - id: products.category + - id: product_name type: attribute links: self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/products @@ -1715,112 +1851,6 @@ interactions: origin: originType: NATIVE originId: demo - - id: date - type: dataset - attributes: - title: Date - description: '' - tags: - - Date - areRelationsValid: true - type: DATE - relationships: - attributes: - data: - - id: date.quarterOfYear - type: attribute - - id: date.weekOfYear - type: attribute - - id: date.dayOfMonth - type: attribute - - id: date.monthOfYear - type: attribute - - id: date.minuteOfHour - type: attribute - - id: date.hour - type: attribute - - id: date.year - type: attribute - - id: date.week - type: attribute - - id: date.quarter - type: attribute - - id: date.dayOfYear - type: attribute - - id: date.dayOfWeek - type: attribute - - id: date.minute - type: attribute - - id: date.day - type: attribute - - id: date.month - type: attribute - - id: date.hourOfDay - type: attribute - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date - meta: - origin: - originType: NATIVE - originId: demo - - id: campaigns - type: dataset - attributes: - title: Campaigns - description: Campaigns - tags: - - Campaigns - grain: - - id: campaign_id - type: attribute - order: 0 - dataSourceTableId: demo-test-ds:campaigns - areRelationsValid: true - type: NORMAL - relationships: - attributes: - data: - - id: campaign_id - type: attribute - - id: campaign_name - type: attribute - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns - meta: - origin: - originType: NATIVE - originId: demo - - id: customers - type: dataset - attributes: - title: Customers - description: Customers - tags: - - Customers - grain: - - id: customer_id - type: attribute - order: 0 - dataSourceTableId: demo-test-ds:customers - areRelationsValid: true - type: NORMAL - relationships: - attributes: - data: - - id: region - type: attribute - - id: state - type: attribute - - id: customer_id - type: attribute - - id: customer_name - type: attribute - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers - meta: - origin: - originType: NATIVE - originId: demo included: - id: product_id type: attribute @@ -1830,6 +1860,7 @@ interactions: tags: - Products sourceColumn: product_id + sourceColumnDataType: INT links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id - id: budget @@ -1840,6 +1871,7 @@ interactions: tags: - Campaign channels sourceColumn: budget + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/budget - id: date.year @@ -1860,6 +1892,7 @@ interactions: tags: - Products sourceColumn: product_name + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name - id: date.month @@ -1880,6 +1913,7 @@ interactions: tags: - Products sourceColumn: category + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category - id: date.dayOfMonth @@ -1920,6 +1954,7 @@ interactions: tags: - Campaign channels sourceColumn: category + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category - id: date.minute @@ -1940,6 +1975,7 @@ interactions: tags: - Customers sourceColumn: state + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state - id: date.week @@ -1960,6 +1996,7 @@ interactions: tags: - Order lines sourceColumn: order_id + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id - id: date.hour @@ -1980,6 +2017,7 @@ interactions: tags: - Campaigns sourceColumn: campaign_name + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name - id: price @@ -1990,6 +2028,7 @@ interactions: tags: - Order lines sourceColumn: price + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/price - id: date.dayOfWeek @@ -2020,6 +2059,7 @@ interactions: tags: - Customers sourceColumn: region + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region - id: campaign_channel_id @@ -2030,6 +2070,7 @@ interactions: tags: - Campaign channels sourceColumn: campaign_channel_id + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id - id: customer_id @@ -2040,6 +2081,7 @@ interactions: tags: - Customers sourceColumn: customer_id + sourceColumnDataType: INT links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id - id: date.hourOfDay @@ -2060,6 +2102,7 @@ interactions: tags: - Order lines sourceColumn: quantity + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity - id: campaign_id @@ -2070,6 +2113,7 @@ interactions: tags: - Campaigns sourceColumn: campaign_id + sourceColumnDataType: INT links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id - id: type @@ -2080,6 +2124,7 @@ interactions: tags: - Campaign channels sourceColumn: type + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type - id: spend @@ -2090,6 +2135,7 @@ interactions: tags: - Campaign channels sourceColumn: spend + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/spend - id: date.dayOfYear @@ -2130,6 +2176,7 @@ interactions: tags: - Order lines sourceColumn: order_status + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status - id: date.monthOfYear @@ -2150,6 +2197,7 @@ interactions: tags: - Customers sourceColumn: customer_name + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name - id: order_line_id @@ -2160,11 +2208,12 @@ interactions: tags: - Order lines sourceColumn: order_line_id + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=0&size=500 - next: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=1&size=500 + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=1&size=500 - request: method: GET uri: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500 @@ -2192,7 +2241,7 @@ interactions: Connection: - keep-alive Content-Length: - - '9799' + - '10543' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -2244,6 +2293,7 @@ interactions: attributes: title: '# of Active Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0' maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) @@ -2258,6 +2308,7 @@ interactions: attributes: title: '# of Orders' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0' maql: SELECT COUNT({attribute/order_id}) @@ -2272,6 +2323,7 @@ interactions: attributes: title: '# of Top Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0' maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT @@ -2288,6 +2340,7 @@ interactions: title: '# of Valid Orders' description: '' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.00' maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} @@ -2303,6 +2356,7 @@ interactions: attributes: title: Campaign Spend areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT SUM({fact/spend}) @@ -2317,6 +2371,7 @@ interactions: attributes: title: Order Amount areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT SUM({fact/price}*{fact/quantity}) @@ -2331,6 +2386,7 @@ interactions: attributes: title: '% Revenue' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / {metric/total_revenue} @@ -2345,6 +2401,7 @@ interactions: attributes: title: '% Revenue from Top 10 Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ @@ -2360,6 +2417,7 @@ interactions: attributes: title: '% Revenue from Top 10% Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ @@ -2375,6 +2433,7 @@ interactions: attributes: title: '% Revenue from Top 10% Products' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ @@ -2390,6 +2449,7 @@ interactions: attributes: title: '% Revenue from Top 10 Products' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ @@ -2405,6 +2465,7 @@ interactions: attributes: title: '% Revenue in Category' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, @@ -2420,6 +2481,7 @@ interactions: attributes: title: '% Revenue per Product' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL @@ -2436,6 +2498,7 @@ interactions: title: Revenue description: '' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} @@ -2451,6 +2514,7 @@ interactions: attributes: title: Revenue (Clothing) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2466,6 +2530,7 @@ interactions: attributes: title: Revenue (Electronic) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2481,6 +2546,7 @@ interactions: attributes: title: Revenue (Home) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2496,6 +2562,7 @@ interactions: attributes: title: Revenue (Outdoor) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2511,6 +2578,7 @@ interactions: attributes: title: Revenue per Customer areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0.0 maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) @@ -2525,6 +2593,7 @@ interactions: attributes: title: Revenue per Dollar Spent areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0.0 maql: SELECT {metric/revenue} / {metric/campaign_spend} @@ -2539,6 +2608,7 @@ interactions: attributes: title: Revenue / Top 10 areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) @@ -2553,6 +2623,7 @@ interactions: attributes: title: Revenue / Top 10% areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) @@ -2567,6 +2638,7 @@ interactions: attributes: title: Total Revenue areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} BY ALL OTHER @@ -2581,6 +2653,7 @@ interactions: attributes: title: Total Revenue (No Filters) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER @@ -2595,7 +2668,7 @@ interactions: next: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=1&size=500 - request: method: GET - uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/2d4c4b9f90f0a1f06c1b75a210d3714421230bc1?offset=0%2C0&limit=1%2C1000 + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/1cd2fcf7d640b48e8ecc463047c5f3e3954adbd1?offset=0%2C0&limit=1%2C1000 body: null headers: Accept: diff --git a/gooddata-pandas/tests/dataframe/fixtures/simple_index_metrics_and_label.yaml b/gooddata-pandas/tests/dataframe/fixtures/simple_index_metrics_and_label.yaml index 50ad30aca..77fe12362 100644 --- a/gooddata-pandas/tests/dataframe/fixtures/simple_index_metrics_and_label.yaml +++ b/gooddata-pandas/tests/dataframe/fixtures/simple_index_metrics_and_label.yaml @@ -140,7 +140,7 @@ interactions: type: label localIdentifier: dim_1 links: - executionResult: 4cb6fdda1cea362a9e20b83b31ceedf6d38e216b + executionResult: 3264429d5236b5a0a463e573b89dbdcec709c25e - request: method: GET uri: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&page=0&size=500 @@ -168,7 +168,7 @@ interactions: Connection: - keep-alive Content-Length: - - '27018' + - '27121' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -215,743 +215,743 @@ interactions: body: string: data: - - id: campaign_channels.category + - id: date.minute type: attribute attributes: - title: Category - description: Category + title: Date - Minute + description: Minute tags: - - Campaign channels + - Date + granularity: MINUTE areRelationsValid: true - sourceColumn: category - sourceColumnDataType: STRING relationships: dataset: data: - id: campaign_channels + id: date type: dataset labels: data: - - id: campaign_channels.category + - id: date.minute type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute meta: origin: originType: NATIVE originId: demo - - id: campaign_channel_id + - id: date.hour type: attribute attributes: - title: Campaign channel id - description: Campaign channel id + title: Date - Hour + description: Hour tags: - - Campaign channels + - Date + granularity: HOUR areRelationsValid: true - sourceColumn: campaign_channel_id - sourceColumnDataType: STRING relationships: dataset: data: - id: campaign_channels + id: date type: dataset labels: data: - - id: campaign_channel_id + - id: date.hour type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour meta: origin: originType: NATIVE originId: demo - - id: type + - id: date.day type: attribute attributes: - title: Type - description: Type + title: Date - Date + description: Date tags: - - Campaign channels + - Date + granularity: DAY areRelationsValid: true - sourceColumn: type - sourceColumnDataType: STRING relationships: dataset: data: - id: campaign_channels + id: date type: dataset labels: data: - - id: type + - id: date.day type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day meta: origin: originType: NATIVE originId: demo - - id: campaign_name + - id: date.week type: attribute attributes: - title: Campaign name - description: Campaign name + title: Date - Week/Year + description: Week and Year (W52/2020) tags: - - Campaigns + - Date + granularity: WEEK areRelationsValid: true - sourceColumn: campaign_name - sourceColumnDataType: STRING relationships: dataset: data: - id: campaigns + id: date type: dataset labels: data: - - id: campaign_name + - id: date.week type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week meta: origin: originType: NATIVE originId: demo - - id: campaign_id + - id: date.month type: attribute attributes: - title: Campaign id - description: Campaign id + title: Date - Month/Year + description: Month and Year (12/2020) tags: - - Campaigns + - Date + granularity: MONTH areRelationsValid: true - sourceColumn: campaign_id - sourceColumnDataType: INT relationships: dataset: data: - id: campaigns + id: date type: dataset labels: data: - - id: campaign_id + - id: date.month type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month meta: origin: originType: NATIVE originId: demo - - id: state + - id: date.quarter type: attribute attributes: - title: State - description: State + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) tags: - - Customers + - Date + granularity: QUARTER areRelationsValid: true - sourceColumn: state - sourceColumnDataType: STRING relationships: - defaultView: - data: - id: state - type: label dataset: data: - id: customers + id: date type: dataset labels: data: - - id: state - type: label - - id: geo__state__location + - id: date.quarter type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter meta: origin: originType: NATIVE originId: demo - - id: region + - id: date.year type: attribute attributes: - title: Region - description: Region + title: Date - Year + description: Year tags: - - Customers + - Date + granularity: YEAR areRelationsValid: true - sourceColumn: region - sourceColumnDataType: STRING relationships: dataset: data: - id: customers + id: date type: dataset labels: data: - - id: region + - id: date.year type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year meta: origin: originType: NATIVE originId: demo - - id: customer_name + - id: date.minuteOfHour type: attribute attributes: - title: Customer name - description: Customer name + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) tags: - - Customers + - Date + granularity: MINUTE_OF_HOUR areRelationsValid: true - sourceColumn: customer_name - sourceColumnDataType: STRING relationships: dataset: data: - id: customers + id: date type: dataset labels: data: - - id: customer_name + - id: date.minuteOfHour type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour meta: origin: originType: NATIVE originId: demo - - id: customer_id + - id: date.hourOfDay type: attribute attributes: - title: Customer id - description: Customer id + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) tags: - - Customers + - Date + granularity: HOUR_OF_DAY areRelationsValid: true - sourceColumn: customer_id - sourceColumnDataType: INT relationships: dataset: data: - id: customers + id: date type: dataset labels: data: - - id: customer_id + - id: date.hourOfDay type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay meta: origin: originType: NATIVE originId: demo - - id: order_status + - id: date.dayOfWeek type: attribute attributes: - title: Order status - description: Order status + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) tags: - - Order lines + - Date + granularity: DAY_OF_WEEK areRelationsValid: true - sourceColumn: order_status - sourceColumnDataType: STRING relationships: dataset: data: - id: order_lines + id: date type: dataset labels: data: - - id: order_status + - id: date.dayOfWeek type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek meta: origin: originType: NATIVE originId: demo - - id: order_line_id + - id: date.dayOfMonth type: attribute attributes: - title: Order line id - description: Order line id + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) tags: - - Order lines + - Date + granularity: DAY_OF_MONTH areRelationsValid: true - sourceColumn: order_line_id - sourceColumnDataType: STRING relationships: dataset: data: - id: order_lines + id: date type: dataset labels: data: - - id: order_line_id + - id: date.dayOfMonth type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth meta: origin: originType: NATIVE originId: demo - - id: order_id + - id: date.dayOfYear type: attribute attributes: - title: Order id - description: Order id + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) tags: - - Order lines + - Date + granularity: DAY_OF_YEAR areRelationsValid: true - sourceColumn: order_id - sourceColumnDataType: STRING relationships: dataset: data: - id: order_lines + id: date type: dataset labels: data: - - id: order_id + - id: date.dayOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear meta: origin: originType: NATIVE originId: demo - - id: product_name + - id: date.weekOfYear type: attribute attributes: - title: Product name - description: Product name + title: Date - Week of Year + description: Generic Week (W1-W53) tags: - - Products + - Date + granularity: WEEK_OF_YEAR areRelationsValid: true - sourceColumn: product_name - sourceColumnDataType: STRING relationships: dataset: data: - id: products + id: date type: dataset labels: data: - - id: product_name + - id: date.weekOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear meta: origin: originType: NATIVE originId: demo - - id: product_id + - id: date.monthOfYear type: attribute attributes: - title: Product id - description: Product id + title: Date - Month of Year + description: Generic Month (M1-M12) tags: - - Products + - Date + granularity: MONTH_OF_YEAR areRelationsValid: true - sourceColumn: product_id - sourceColumnDataType: INT relationships: dataset: data: - id: products + id: date type: dataset labels: data: - - id: product_id + - id: date.monthOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear meta: origin: originType: NATIVE originId: demo - - id: products.category + - id: date.quarterOfYear type: attribute attributes: - title: Category - description: Category + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) tags: - - Products + - Date + granularity: QUARTER_OF_YEAR areRelationsValid: true - sourceColumn: category - sourceColumnDataType: STRING relationships: dataset: data: - id: products + id: date type: dataset labels: data: - - id: products.category + - id: date.quarterOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear meta: origin: originType: NATIVE originId: demo - - id: date.quarterOfYear + - id: campaign_channel_id type: attribute attributes: - title: Date - Quarter of Year - description: Generic Quarter (Q1-Q4) + title: Campaign channel id + description: Campaign channel id tags: - - Date - granularity: QUARTER_OF_YEAR + - Campaign channels areRelationsValid: true + sourceColumn: campaign_channel_id + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaign_channels type: dataset labels: data: - - id: date.quarterOfYear + - id: campaign_channel_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id meta: origin: originType: NATIVE originId: demo - - id: date.monthOfYear + - id: campaign_channels.category type: attribute attributes: - title: Date - Month of Year - description: Generic Month (M1-M12) + title: Category + description: Category tags: - - Date - granularity: MONTH_OF_YEAR + - Campaign channels areRelationsValid: true + sourceColumn: category + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaign_channels type: dataset labels: data: - - id: date.monthOfYear + - id: campaign_channels.category type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category meta: origin: originType: NATIVE originId: demo - - id: date.weekOfYear + - id: type type: attribute - attributes: - title: Date - Week of Year - description: Generic Week (W1-W53) + attributes: + title: Type + description: Type tags: - - Date - granularity: WEEK_OF_YEAR + - Campaign channels areRelationsValid: true + sourceColumn: type + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaign_channels type: dataset labels: data: - - id: date.weekOfYear + - id: type type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type meta: origin: originType: NATIVE originId: demo - - id: date.dayOfYear + - id: campaign_id type: attribute attributes: - title: Date - Day of Year - description: Generic Day of the Year (D1-D366) + title: Campaign id + description: Campaign id tags: - - Date - granularity: DAY_OF_YEAR + - Campaigns areRelationsValid: true + sourceColumn: campaign_id + sourceColumnDataType: INT relationships: dataset: data: - id: date + id: campaigns type: dataset labels: data: - - id: date.dayOfYear + - id: campaign_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id meta: origin: originType: NATIVE originId: demo - - id: date.dayOfMonth + - id: campaign_name type: attribute attributes: - title: Date - Day of Month - description: Generic Day of the Month (D1-D31) + title: Campaign name + description: Campaign name tags: - - Date - granularity: DAY_OF_MONTH + - Campaigns areRelationsValid: true + sourceColumn: campaign_name + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaigns type: dataset labels: data: - - id: date.dayOfMonth + - id: campaign_name type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name meta: origin: originType: NATIVE originId: demo - - id: date.dayOfWeek + - id: customer_id type: attribute attributes: - title: Date - Day of Week - description: Generic Day of the Week (D1-D7) + title: Customer id + description: Customer id tags: - - Date - granularity: DAY_OF_WEEK + - Customers areRelationsValid: true + sourceColumn: customer_id + sourceColumnDataType: INT relationships: dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.dayOfWeek + - id: customer_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id meta: origin: originType: NATIVE originId: demo - - id: date.hourOfDay + - id: customer_name type: attribute attributes: - title: Date - Hour of Day - description: Generic Hour of the Day(H1-H24) + title: Customer name + description: Customer name tags: - - Date - granularity: HOUR_OF_DAY + - Customers areRelationsValid: true + sourceColumn: customer_name + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.hourOfDay + - id: customer_name type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name meta: origin: originType: NATIVE originId: demo - - id: date.minuteOfHour + - id: region type: attribute attributes: - title: Date - Minute of Hour - description: Generic Minute of the Hour(MI1-MI60) + title: Region + description: Region tags: - - Date - granularity: MINUTE_OF_HOUR + - Customers areRelationsValid: true + sourceColumn: region + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.minuteOfHour + - id: region type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region meta: origin: originType: NATIVE originId: demo - - id: date.year + - id: state type: attribute attributes: - title: Date - Year - description: Year + title: State + description: State tags: - - Date - granularity: YEAR + - Customers areRelationsValid: true + sourceColumn: state + sourceColumnDataType: STRING relationships: + defaultView: + data: + id: state + type: label dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.year + - id: geo__state__location + type: label + - id: state type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state meta: origin: originType: NATIVE originId: demo - - id: date.quarter + - id: order_id type: attribute attributes: - title: Date - Quarter/Year - description: Quarter and Year (Q1/2020) + title: Order id + description: Order id tags: - - Date - granularity: QUARTER + - Order lines areRelationsValid: true + sourceColumn: order_id + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: order_lines type: dataset labels: data: - - id: date.quarter + - id: order_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id meta: origin: originType: NATIVE originId: demo - - id: date.month + - id: order_line_id type: attribute attributes: - title: Date - Month/Year - description: Month and Year (12/2020) + title: Order line id + description: Order line id tags: - - Date - granularity: MONTH + - Order lines areRelationsValid: true + sourceColumn: order_line_id + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: order_lines type: dataset labels: data: - - id: date.month + - id: order_line_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id meta: origin: originType: NATIVE originId: demo - - id: date.week + - id: order_status type: attribute attributes: - title: Date - Week/Year - description: Week and Year (W52/2020) + title: Order status + description: Order status tags: - - Date - granularity: WEEK + - Order lines areRelationsValid: true + sourceColumn: order_status + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: order_lines type: dataset labels: data: - - id: date.week + - id: order_status type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status meta: origin: originType: NATIVE originId: demo - - id: date.day + - id: product_id type: attribute attributes: - title: Date - Date - description: Date + title: Product id + description: Product id tags: - - Date - granularity: DAY + - Products areRelationsValid: true + sourceColumn: product_id + sourceColumnDataType: INT relationships: dataset: data: - id: date + id: products type: dataset labels: data: - - id: date.day + - id: product_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id meta: origin: originType: NATIVE originId: demo - - id: date.hour + - id: product_name type: attribute attributes: - title: Date - Hour - description: Hour + title: Product name + description: Product name tags: - - Date - granularity: HOUR + - Products areRelationsValid: true + sourceColumn: product_name + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: products type: dataset labels: data: - - id: date.hour + - id: product_name type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name meta: origin: originType: NATIVE originId: demo - - id: date.minute + - id: products.category type: attribute attributes: - title: Date - Minute - description: Minute + title: Category + description: Category tags: - - Date - granularity: MINUTE + - Products areRelationsValid: true + sourceColumn: category + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: products type: dataset labels: data: - - id: date.minute + - id: products.category type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category meta: origin: originType: NATIVE @@ -1015,51 +1015,59 @@ interactions: grain: - id: order_line_id type: attribute - order: 0 referenceProperties: - identifier: - id: products + id: date type: dataset multivalue: false + sources: null sourceColumns: - - product_id + - date sourceColumnDataTypes: - - INT + - DATE - identifier: id: customers type: dataset multivalue: false + sources: null sourceColumns: - customer_id sourceColumnDataTypes: - INT - identifier: - id: date + id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - - date + - campaign_id sourceColumnDataTypes: - - DATE + - INT - identifier: - id: campaigns + id: products type: dataset multivalue: false + sources: null sourceColumns: - - campaign_id + - product_id sourceColumnDataTypes: - INT dataSourceTableId: demo-test-ds:order_lines dataSourceTablePath: - demo - order_lines - workspaceDataFilterProperties: - - workspaceDataFilterIdentifier: + workspaceDataFilterColumns: + - name: wdf__state + dataType: STRING + - name: wdf__region + dataType: STRING + workspaceDataFilterReferences: + - filterId: id: wdf__state type: workspaceDataFilter filterColumn: wdf__state filterColumnDataType: STRING - - workspaceDataFilterIdentifier: + - filterId: id: wdf__region type: workspaceDataFilter filterColumn: wdf__region @@ -1101,12 +1109,12 @@ interactions: grain: - id: campaign_channel_id type: attribute - order: 0 referenceProperties: - identifier: id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - campaign_id sourceColumnDataTypes: @@ -1196,7 +1204,6 @@ interactions: grain: - id: campaign_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:campaigns dataSourceTablePath: - demo @@ -1253,7 +1260,6 @@ interactions: grain: - id: customer_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:customers dataSourceTablePath: - demo @@ -1379,7 +1385,6 @@ interactions: grain: - id: product_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:products dataSourceTablePath: - demo @@ -1483,8 +1488,8 @@ interactions: links: self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_id links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels,datasets&page=0&size=500 - next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels,datasets&page=1&size=500 + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&page=1&size=500 - request: method: GET uri: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500 @@ -1512,7 +1517,7 @@ interactions: Connection: - keep-alive Content-Length: - - '13953' + - '14899' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -1559,6 +1564,54 @@ interactions: body: string: data: + - id: date + type: dataset + attributes: + title: Date + description: '' + tags: + - Date + areRelationsValid: true + type: DATE + relationships: + attributes: + data: + - id: date.quarter + type: attribute + - id: date.minute + type: attribute + - id: date.hourOfDay + type: attribute + - id: date.minuteOfHour + type: attribute + - id: date.dayOfYear + type: attribute + - id: date.monthOfYear + type: attribute + - id: date.weekOfYear + type: attribute + - id: date.week + type: attribute + - id: date.year + type: attribute + - id: date.dayOfWeek + type: attribute + - id: date.hour + type: attribute + - id: date.dayOfMonth + type: attribute + - id: date.month + type: attribute + - id: date.quarterOfYear + type: attribute + - id: date.day + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date + meta: + origin: + originType: NATIVE + originId: demo - id: campaign_channels type: dataset attributes: @@ -1569,16 +1622,20 @@ interactions: grain: - id: campaign_channel_id type: attribute - order: 0 referenceProperties: - identifier: id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - campaign_id - sourceColumnDataTypes: null + sourceColumnDataTypes: + - INT dataSourceTableId: demo-test-ds:campaign_channels + dataSourceTablePath: + - demo + - campaign_channels areRelationsValid: true type: NORMAL relationships: @@ -1586,10 +1643,10 @@ interactions: data: - id: campaign_channel_id type: attribute - - id: type - type: attribute - id: campaign_channels.category type: attribute + - id: type + type: attribute facts: data: - id: budget @@ -1602,6 +1659,68 @@ interactions: origin: originType: NATIVE originId: demo + - id: campaigns + 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 + relationships: + attributes: + data: + - id: campaign_id + type: attribute + - id: campaign_name + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns + meta: + origin: + originType: NATIVE + originId: demo + - id: customers + 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 + relationships: + attributes: + data: + - id: customer_id + type: attribute + - id: state + type: attribute + - id: customer_name + type: attribute + - id: region + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers + meta: + origin: + originType: NATIVE + originId: demo - id: order_lines type: dataset attributes: @@ -1612,45 +1731,60 @@ interactions: grain: - id: order_line_id type: attribute - order: 0 referenceProperties: - identifier: - id: products + id: date type: dataset multivalue: false + sources: null sourceColumns: - - product_id - sourceColumnDataTypes: null + - date + sourceColumnDataTypes: + - DATE - identifier: id: customers type: dataset multivalue: false + sources: null sourceColumns: - customer_id - sourceColumnDataTypes: null + sourceColumnDataTypes: + - INT - identifier: - id: date + id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - - date - sourceColumnDataTypes: null + - campaign_id + sourceColumnDataTypes: + - INT - identifier: - id: campaigns + id: products type: dataset multivalue: false + sources: null sourceColumns: - - campaign_id - sourceColumnDataTypes: null + - product_id + sourceColumnDataTypes: + - INT dataSourceTableId: demo-test-ds:order_lines + dataSourceTablePath: + - demo + - order_lines areRelationsValid: true - workspaceDataFilterProperties: - - workspaceDataFilterIdentifier: + workspaceDataFilterColumns: + - name: wdf__state + dataType: STRING + - name: wdf__region + dataType: STRING + workspaceDataFilterReferences: + - filterId: id: wdf__state type: workspaceDataFilter filterColumn: wdf__state filterColumnDataType: STRING - - workspaceDataFilterIdentifier: + - filterId: id: wdf__region type: workspaceDataFilter filterColumn: wdf__region @@ -1659,12 +1793,12 @@ interactions: relationships: attributes: data: - - id: order_status - type: attribute - id: order_id type: attribute - id: order_line_id type: attribute + - id: order_status + type: attribute facts: data: - id: price @@ -1687,18 +1821,20 @@ interactions: grain: - id: product_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:products + dataSourceTablePath: + - demo + - products areRelationsValid: true type: NORMAL relationships: attributes: data: - - id: product_name + - id: products.category type: attribute - id: product_id type: attribute - - id: products.category + - id: product_name type: attribute links: self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/products @@ -1706,112 +1842,6 @@ interactions: origin: originType: NATIVE originId: demo - - id: date - type: dataset - attributes: - title: Date - description: '' - tags: - - Date - areRelationsValid: true - type: DATE - relationships: - attributes: - data: - - id: date.quarterOfYear - type: attribute - - id: date.weekOfYear - type: attribute - - id: date.dayOfMonth - type: attribute - - id: date.monthOfYear - type: attribute - - id: date.minuteOfHour - type: attribute - - id: date.hour - type: attribute - - id: date.year - type: attribute - - id: date.week - type: attribute - - id: date.quarter - type: attribute - - id: date.dayOfYear - type: attribute - - id: date.dayOfWeek - type: attribute - - id: date.minute - type: attribute - - id: date.day - type: attribute - - id: date.month - type: attribute - - id: date.hourOfDay - type: attribute - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date - meta: - origin: - originType: NATIVE - originId: demo - - id: campaigns - type: dataset - attributes: - title: Campaigns - description: Campaigns - tags: - - Campaigns - grain: - - id: campaign_id - type: attribute - order: 0 - dataSourceTableId: demo-test-ds:campaigns - areRelationsValid: true - type: NORMAL - relationships: - attributes: - data: - - id: campaign_id - type: attribute - - id: campaign_name - type: attribute - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns - meta: - origin: - originType: NATIVE - originId: demo - - id: customers - type: dataset - attributes: - title: Customers - description: Customers - tags: - - Customers - grain: - - id: customer_id - type: attribute - order: 0 - dataSourceTableId: demo-test-ds:customers - areRelationsValid: true - type: NORMAL - relationships: - attributes: - data: - - id: region - type: attribute - - id: state - type: attribute - - id: customer_id - type: attribute - - id: customer_name - type: attribute - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers - meta: - origin: - originType: NATIVE - originId: demo included: - id: product_id type: attribute @@ -1821,6 +1851,7 @@ interactions: tags: - Products sourceColumn: product_id + sourceColumnDataType: INT links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id - id: budget @@ -1831,6 +1862,7 @@ interactions: tags: - Campaign channels sourceColumn: budget + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/budget - id: date.year @@ -1851,6 +1883,7 @@ interactions: tags: - Products sourceColumn: product_name + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name - id: date.month @@ -1871,6 +1904,7 @@ interactions: tags: - Products sourceColumn: category + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category - id: date.dayOfMonth @@ -1911,6 +1945,7 @@ interactions: tags: - Campaign channels sourceColumn: category + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category - id: date.minute @@ -1931,6 +1966,7 @@ interactions: tags: - Customers sourceColumn: state + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state - id: date.week @@ -1951,6 +1987,7 @@ interactions: tags: - Order lines sourceColumn: order_id + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id - id: date.hour @@ -1971,6 +2008,7 @@ interactions: tags: - Campaigns sourceColumn: campaign_name + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name - id: price @@ -1981,6 +2019,7 @@ interactions: tags: - Order lines sourceColumn: price + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/price - id: date.dayOfWeek @@ -2011,6 +2050,7 @@ interactions: tags: - Customers sourceColumn: region + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region - id: campaign_channel_id @@ -2021,6 +2061,7 @@ interactions: tags: - Campaign channels sourceColumn: campaign_channel_id + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id - id: customer_id @@ -2031,6 +2072,7 @@ interactions: tags: - Customers sourceColumn: customer_id + sourceColumnDataType: INT links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id - id: date.hourOfDay @@ -2051,6 +2093,7 @@ interactions: tags: - Order lines sourceColumn: quantity + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity - id: campaign_id @@ -2061,6 +2104,7 @@ interactions: tags: - Campaigns sourceColumn: campaign_id + sourceColumnDataType: INT links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id - id: type @@ -2071,6 +2115,7 @@ interactions: tags: - Campaign channels sourceColumn: type + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type - id: spend @@ -2081,6 +2126,7 @@ interactions: tags: - Campaign channels sourceColumn: spend + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/spend - id: date.dayOfYear @@ -2121,6 +2167,7 @@ interactions: tags: - Order lines sourceColumn: order_status + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status - id: date.monthOfYear @@ -2141,6 +2188,7 @@ interactions: tags: - Customers sourceColumn: customer_name + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name - id: order_line_id @@ -2151,11 +2199,12 @@ interactions: tags: - Order lines sourceColumn: order_line_id + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=0&size=500 - next: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=1&size=500 + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=1&size=500 - request: method: GET uri: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500 @@ -2183,7 +2232,7 @@ interactions: Connection: - keep-alive Content-Length: - - '9799' + - '10543' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -2235,6 +2284,7 @@ interactions: attributes: title: '# of Active Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0' maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) @@ -2249,6 +2299,7 @@ interactions: attributes: title: '# of Orders' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0' maql: SELECT COUNT({attribute/order_id}) @@ -2263,6 +2314,7 @@ interactions: attributes: title: '# of Top Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0' maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT @@ -2279,6 +2331,7 @@ interactions: title: '# of Valid Orders' description: '' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.00' maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} @@ -2294,6 +2347,7 @@ interactions: attributes: title: Campaign Spend areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT SUM({fact/spend}) @@ -2308,6 +2362,7 @@ interactions: attributes: title: Order Amount areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT SUM({fact/price}*{fact/quantity}) @@ -2322,6 +2377,7 @@ interactions: attributes: title: '% Revenue' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / {metric/total_revenue} @@ -2336,6 +2392,7 @@ interactions: attributes: title: '% Revenue from Top 10 Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ @@ -2351,6 +2408,7 @@ interactions: attributes: title: '% Revenue from Top 10% Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ @@ -2366,6 +2424,7 @@ interactions: attributes: title: '% Revenue from Top 10% Products' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ @@ -2381,6 +2440,7 @@ interactions: attributes: title: '% Revenue from Top 10 Products' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ @@ -2396,6 +2456,7 @@ interactions: attributes: title: '% Revenue in Category' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, @@ -2411,6 +2472,7 @@ interactions: attributes: title: '% Revenue per Product' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL @@ -2427,6 +2489,7 @@ interactions: title: Revenue description: '' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} @@ -2442,6 +2505,7 @@ interactions: attributes: title: Revenue (Clothing) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2457,6 +2521,7 @@ interactions: attributes: title: Revenue (Electronic) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2472,6 +2537,7 @@ interactions: attributes: title: Revenue (Home) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2487,6 +2553,7 @@ interactions: attributes: title: Revenue (Outdoor) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2502,6 +2569,7 @@ interactions: attributes: title: Revenue per Customer areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0.0 maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) @@ -2516,6 +2584,7 @@ interactions: attributes: title: Revenue per Dollar Spent areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0.0 maql: SELECT {metric/revenue} / {metric/campaign_spend} @@ -2530,6 +2599,7 @@ interactions: attributes: title: Revenue / Top 10 areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) @@ -2544,6 +2614,7 @@ interactions: attributes: title: Revenue / Top 10% areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) @@ -2558,6 +2629,7 @@ interactions: attributes: title: Total Revenue areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} BY ALL OTHER @@ -2572,6 +2644,7 @@ interactions: attributes: title: Total Revenue (No Filters) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER @@ -2586,7 +2659,7 @@ interactions: next: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=1&size=500 - request: method: GET - uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/4cb6fdda1cea362a9e20b83b31ceedf6d38e216b?offset=0%2C0&limit=2%2C1000 + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/3264429d5236b5a0a463e573b89dbdcec709c25e?offset=0%2C0&limit=2%2C1000 body: null headers: Accept: diff --git a/gooddata-pandas/tests/dataframe/fixtures/simple_index_metrics_no_duplicate.yaml b/gooddata-pandas/tests/dataframe/fixtures/simple_index_metrics_no_duplicate.yaml index 50ad30aca..77fe12362 100644 --- a/gooddata-pandas/tests/dataframe/fixtures/simple_index_metrics_no_duplicate.yaml +++ b/gooddata-pandas/tests/dataframe/fixtures/simple_index_metrics_no_duplicate.yaml @@ -140,7 +140,7 @@ interactions: type: label localIdentifier: dim_1 links: - executionResult: 4cb6fdda1cea362a9e20b83b31ceedf6d38e216b + executionResult: 3264429d5236b5a0a463e573b89dbdcec709c25e - request: method: GET uri: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&page=0&size=500 @@ -168,7 +168,7 @@ interactions: Connection: - keep-alive Content-Length: - - '27018' + - '27121' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -215,743 +215,743 @@ interactions: body: string: data: - - id: campaign_channels.category + - id: date.minute type: attribute attributes: - title: Category - description: Category + title: Date - Minute + description: Minute tags: - - Campaign channels + - Date + granularity: MINUTE areRelationsValid: true - sourceColumn: category - sourceColumnDataType: STRING relationships: dataset: data: - id: campaign_channels + id: date type: dataset labels: data: - - id: campaign_channels.category + - id: date.minute type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute meta: origin: originType: NATIVE originId: demo - - id: campaign_channel_id + - id: date.hour type: attribute attributes: - title: Campaign channel id - description: Campaign channel id + title: Date - Hour + description: Hour tags: - - Campaign channels + - Date + granularity: HOUR areRelationsValid: true - sourceColumn: campaign_channel_id - sourceColumnDataType: STRING relationships: dataset: data: - id: campaign_channels + id: date type: dataset labels: data: - - id: campaign_channel_id + - id: date.hour type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour meta: origin: originType: NATIVE originId: demo - - id: type + - id: date.day type: attribute attributes: - title: Type - description: Type + title: Date - Date + description: Date tags: - - Campaign channels + - Date + granularity: DAY areRelationsValid: true - sourceColumn: type - sourceColumnDataType: STRING relationships: dataset: data: - id: campaign_channels + id: date type: dataset labels: data: - - id: type + - id: date.day type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day meta: origin: originType: NATIVE originId: demo - - id: campaign_name + - id: date.week type: attribute attributes: - title: Campaign name - description: Campaign name + title: Date - Week/Year + description: Week and Year (W52/2020) tags: - - Campaigns + - Date + granularity: WEEK areRelationsValid: true - sourceColumn: campaign_name - sourceColumnDataType: STRING relationships: dataset: data: - id: campaigns + id: date type: dataset labels: data: - - id: campaign_name + - id: date.week type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week meta: origin: originType: NATIVE originId: demo - - id: campaign_id + - id: date.month type: attribute attributes: - title: Campaign id - description: Campaign id + title: Date - Month/Year + description: Month and Year (12/2020) tags: - - Campaigns + - Date + granularity: MONTH areRelationsValid: true - sourceColumn: campaign_id - sourceColumnDataType: INT relationships: dataset: data: - id: campaigns + id: date type: dataset labels: data: - - id: campaign_id + - id: date.month type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month meta: origin: originType: NATIVE originId: demo - - id: state + - id: date.quarter type: attribute attributes: - title: State - description: State + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) tags: - - Customers + - Date + granularity: QUARTER areRelationsValid: true - sourceColumn: state - sourceColumnDataType: STRING relationships: - defaultView: - data: - id: state - type: label dataset: data: - id: customers + id: date type: dataset labels: data: - - id: state - type: label - - id: geo__state__location + - id: date.quarter type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter meta: origin: originType: NATIVE originId: demo - - id: region + - id: date.year type: attribute attributes: - title: Region - description: Region + title: Date - Year + description: Year tags: - - Customers + - Date + granularity: YEAR areRelationsValid: true - sourceColumn: region - sourceColumnDataType: STRING relationships: dataset: data: - id: customers + id: date type: dataset labels: data: - - id: region + - id: date.year type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year meta: origin: originType: NATIVE originId: demo - - id: customer_name + - id: date.minuteOfHour type: attribute attributes: - title: Customer name - description: Customer name + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) tags: - - Customers + - Date + granularity: MINUTE_OF_HOUR areRelationsValid: true - sourceColumn: customer_name - sourceColumnDataType: STRING relationships: dataset: data: - id: customers + id: date type: dataset labels: data: - - id: customer_name + - id: date.minuteOfHour type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour meta: origin: originType: NATIVE originId: demo - - id: customer_id + - id: date.hourOfDay type: attribute attributes: - title: Customer id - description: Customer id + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) tags: - - Customers + - Date + granularity: HOUR_OF_DAY areRelationsValid: true - sourceColumn: customer_id - sourceColumnDataType: INT relationships: dataset: data: - id: customers + id: date type: dataset labels: data: - - id: customer_id + - id: date.hourOfDay type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay meta: origin: originType: NATIVE originId: demo - - id: order_status + - id: date.dayOfWeek type: attribute attributes: - title: Order status - description: Order status + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) tags: - - Order lines + - Date + granularity: DAY_OF_WEEK areRelationsValid: true - sourceColumn: order_status - sourceColumnDataType: STRING relationships: dataset: data: - id: order_lines + id: date type: dataset labels: data: - - id: order_status + - id: date.dayOfWeek type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek meta: origin: originType: NATIVE originId: demo - - id: order_line_id + - id: date.dayOfMonth type: attribute attributes: - title: Order line id - description: Order line id + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) tags: - - Order lines + - Date + granularity: DAY_OF_MONTH areRelationsValid: true - sourceColumn: order_line_id - sourceColumnDataType: STRING relationships: dataset: data: - id: order_lines + id: date type: dataset labels: data: - - id: order_line_id + - id: date.dayOfMonth type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth meta: origin: originType: NATIVE originId: demo - - id: order_id + - id: date.dayOfYear type: attribute attributes: - title: Order id - description: Order id + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) tags: - - Order lines + - Date + granularity: DAY_OF_YEAR areRelationsValid: true - sourceColumn: order_id - sourceColumnDataType: STRING relationships: dataset: data: - id: order_lines + id: date type: dataset labels: data: - - id: order_id + - id: date.dayOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear meta: origin: originType: NATIVE originId: demo - - id: product_name + - id: date.weekOfYear type: attribute attributes: - title: Product name - description: Product name + title: Date - Week of Year + description: Generic Week (W1-W53) tags: - - Products + - Date + granularity: WEEK_OF_YEAR areRelationsValid: true - sourceColumn: product_name - sourceColumnDataType: STRING relationships: dataset: data: - id: products + id: date type: dataset labels: data: - - id: product_name + - id: date.weekOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear meta: origin: originType: NATIVE originId: demo - - id: product_id + - id: date.monthOfYear type: attribute attributes: - title: Product id - description: Product id + title: Date - Month of Year + description: Generic Month (M1-M12) tags: - - Products + - Date + granularity: MONTH_OF_YEAR areRelationsValid: true - sourceColumn: product_id - sourceColumnDataType: INT relationships: dataset: data: - id: products + id: date type: dataset labels: data: - - id: product_id + - id: date.monthOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear meta: origin: originType: NATIVE originId: demo - - id: products.category + - id: date.quarterOfYear type: attribute attributes: - title: Category - description: Category + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) tags: - - Products + - Date + granularity: QUARTER_OF_YEAR areRelationsValid: true - sourceColumn: category - sourceColumnDataType: STRING relationships: dataset: data: - id: products + id: date type: dataset labels: data: - - id: products.category + - id: date.quarterOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear meta: origin: originType: NATIVE originId: demo - - id: date.quarterOfYear + - id: campaign_channel_id type: attribute attributes: - title: Date - Quarter of Year - description: Generic Quarter (Q1-Q4) + title: Campaign channel id + description: Campaign channel id tags: - - Date - granularity: QUARTER_OF_YEAR + - Campaign channels areRelationsValid: true + sourceColumn: campaign_channel_id + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaign_channels type: dataset labels: data: - - id: date.quarterOfYear + - id: campaign_channel_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id meta: origin: originType: NATIVE originId: demo - - id: date.monthOfYear + - id: campaign_channels.category type: attribute attributes: - title: Date - Month of Year - description: Generic Month (M1-M12) + title: Category + description: Category tags: - - Date - granularity: MONTH_OF_YEAR + - Campaign channels areRelationsValid: true + sourceColumn: category + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaign_channels type: dataset labels: data: - - id: date.monthOfYear + - id: campaign_channels.category type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category meta: origin: originType: NATIVE originId: demo - - id: date.weekOfYear + - id: type type: attribute - attributes: - title: Date - Week of Year - description: Generic Week (W1-W53) + attributes: + title: Type + description: Type tags: - - Date - granularity: WEEK_OF_YEAR + - Campaign channels areRelationsValid: true + sourceColumn: type + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaign_channels type: dataset labels: data: - - id: date.weekOfYear + - id: type type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type meta: origin: originType: NATIVE originId: demo - - id: date.dayOfYear + - id: campaign_id type: attribute attributes: - title: Date - Day of Year - description: Generic Day of the Year (D1-D366) + title: Campaign id + description: Campaign id tags: - - Date - granularity: DAY_OF_YEAR + - Campaigns areRelationsValid: true + sourceColumn: campaign_id + sourceColumnDataType: INT relationships: dataset: data: - id: date + id: campaigns type: dataset labels: data: - - id: date.dayOfYear + - id: campaign_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id meta: origin: originType: NATIVE originId: demo - - id: date.dayOfMonth + - id: campaign_name type: attribute attributes: - title: Date - Day of Month - description: Generic Day of the Month (D1-D31) + title: Campaign name + description: Campaign name tags: - - Date - granularity: DAY_OF_MONTH + - Campaigns areRelationsValid: true + sourceColumn: campaign_name + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaigns type: dataset labels: data: - - id: date.dayOfMonth + - id: campaign_name type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name meta: origin: originType: NATIVE originId: demo - - id: date.dayOfWeek + - id: customer_id type: attribute attributes: - title: Date - Day of Week - description: Generic Day of the Week (D1-D7) + title: Customer id + description: Customer id tags: - - Date - granularity: DAY_OF_WEEK + - Customers areRelationsValid: true + sourceColumn: customer_id + sourceColumnDataType: INT relationships: dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.dayOfWeek + - id: customer_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id meta: origin: originType: NATIVE originId: demo - - id: date.hourOfDay + - id: customer_name type: attribute attributes: - title: Date - Hour of Day - description: Generic Hour of the Day(H1-H24) + title: Customer name + description: Customer name tags: - - Date - granularity: HOUR_OF_DAY + - Customers areRelationsValid: true + sourceColumn: customer_name + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.hourOfDay + - id: customer_name type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name meta: origin: originType: NATIVE originId: demo - - id: date.minuteOfHour + - id: region type: attribute attributes: - title: Date - Minute of Hour - description: Generic Minute of the Hour(MI1-MI60) + title: Region + description: Region tags: - - Date - granularity: MINUTE_OF_HOUR + - Customers areRelationsValid: true + sourceColumn: region + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.minuteOfHour + - id: region type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region meta: origin: originType: NATIVE originId: demo - - id: date.year + - id: state type: attribute attributes: - title: Date - Year - description: Year + title: State + description: State tags: - - Date - granularity: YEAR + - Customers areRelationsValid: true + sourceColumn: state + sourceColumnDataType: STRING relationships: + defaultView: + data: + id: state + type: label dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.year + - id: geo__state__location + type: label + - id: state type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state meta: origin: originType: NATIVE originId: demo - - id: date.quarter + - id: order_id type: attribute attributes: - title: Date - Quarter/Year - description: Quarter and Year (Q1/2020) + title: Order id + description: Order id tags: - - Date - granularity: QUARTER + - Order lines areRelationsValid: true + sourceColumn: order_id + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: order_lines type: dataset labels: data: - - id: date.quarter + - id: order_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id meta: origin: originType: NATIVE originId: demo - - id: date.month + - id: order_line_id type: attribute attributes: - title: Date - Month/Year - description: Month and Year (12/2020) + title: Order line id + description: Order line id tags: - - Date - granularity: MONTH + - Order lines areRelationsValid: true + sourceColumn: order_line_id + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: order_lines type: dataset labels: data: - - id: date.month + - id: order_line_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id meta: origin: originType: NATIVE originId: demo - - id: date.week + - id: order_status type: attribute attributes: - title: Date - Week/Year - description: Week and Year (W52/2020) + title: Order status + description: Order status tags: - - Date - granularity: WEEK + - Order lines areRelationsValid: true + sourceColumn: order_status + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: order_lines type: dataset labels: data: - - id: date.week + - id: order_status type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status meta: origin: originType: NATIVE originId: demo - - id: date.day + - id: product_id type: attribute attributes: - title: Date - Date - description: Date + title: Product id + description: Product id tags: - - Date - granularity: DAY + - Products areRelationsValid: true + sourceColumn: product_id + sourceColumnDataType: INT relationships: dataset: data: - id: date + id: products type: dataset labels: data: - - id: date.day + - id: product_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id meta: origin: originType: NATIVE originId: demo - - id: date.hour + - id: product_name type: attribute attributes: - title: Date - Hour - description: Hour + title: Product name + description: Product name tags: - - Date - granularity: HOUR + - Products areRelationsValid: true + sourceColumn: product_name + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: products type: dataset labels: data: - - id: date.hour + - id: product_name type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name meta: origin: originType: NATIVE originId: demo - - id: date.minute + - id: products.category type: attribute attributes: - title: Date - Minute - description: Minute + title: Category + description: Category tags: - - Date - granularity: MINUTE + - Products areRelationsValid: true + sourceColumn: category + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: products type: dataset labels: data: - - id: date.minute + - id: products.category type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category meta: origin: originType: NATIVE @@ -1015,51 +1015,59 @@ interactions: grain: - id: order_line_id type: attribute - order: 0 referenceProperties: - identifier: - id: products + id: date type: dataset multivalue: false + sources: null sourceColumns: - - product_id + - date sourceColumnDataTypes: - - INT + - DATE - identifier: id: customers type: dataset multivalue: false + sources: null sourceColumns: - customer_id sourceColumnDataTypes: - INT - identifier: - id: date + id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - - date + - campaign_id sourceColumnDataTypes: - - DATE + - INT - identifier: - id: campaigns + id: products type: dataset multivalue: false + sources: null sourceColumns: - - campaign_id + - product_id sourceColumnDataTypes: - INT dataSourceTableId: demo-test-ds:order_lines dataSourceTablePath: - demo - order_lines - workspaceDataFilterProperties: - - workspaceDataFilterIdentifier: + workspaceDataFilterColumns: + - name: wdf__state + dataType: STRING + - name: wdf__region + dataType: STRING + workspaceDataFilterReferences: + - filterId: id: wdf__state type: workspaceDataFilter filterColumn: wdf__state filterColumnDataType: STRING - - workspaceDataFilterIdentifier: + - filterId: id: wdf__region type: workspaceDataFilter filterColumn: wdf__region @@ -1101,12 +1109,12 @@ interactions: grain: - id: campaign_channel_id type: attribute - order: 0 referenceProperties: - identifier: id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - campaign_id sourceColumnDataTypes: @@ -1196,7 +1204,6 @@ interactions: grain: - id: campaign_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:campaigns dataSourceTablePath: - demo @@ -1253,7 +1260,6 @@ interactions: grain: - id: customer_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:customers dataSourceTablePath: - demo @@ -1379,7 +1385,6 @@ interactions: grain: - id: product_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:products dataSourceTablePath: - demo @@ -1483,8 +1488,8 @@ interactions: links: self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_id links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels,datasets&page=0&size=500 - next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels,datasets&page=1&size=500 + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&page=1&size=500 - request: method: GET uri: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500 @@ -1512,7 +1517,7 @@ interactions: Connection: - keep-alive Content-Length: - - '13953' + - '14899' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -1559,6 +1564,54 @@ interactions: body: string: data: + - id: date + type: dataset + attributes: + title: Date + description: '' + tags: + - Date + areRelationsValid: true + type: DATE + relationships: + attributes: + data: + - id: date.quarter + type: attribute + - id: date.minute + type: attribute + - id: date.hourOfDay + type: attribute + - id: date.minuteOfHour + type: attribute + - id: date.dayOfYear + type: attribute + - id: date.monthOfYear + type: attribute + - id: date.weekOfYear + type: attribute + - id: date.week + type: attribute + - id: date.year + type: attribute + - id: date.dayOfWeek + type: attribute + - id: date.hour + type: attribute + - id: date.dayOfMonth + type: attribute + - id: date.month + type: attribute + - id: date.quarterOfYear + type: attribute + - id: date.day + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date + meta: + origin: + originType: NATIVE + originId: demo - id: campaign_channels type: dataset attributes: @@ -1569,16 +1622,20 @@ interactions: grain: - id: campaign_channel_id type: attribute - order: 0 referenceProperties: - identifier: id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - campaign_id - sourceColumnDataTypes: null + sourceColumnDataTypes: + - INT dataSourceTableId: demo-test-ds:campaign_channels + dataSourceTablePath: + - demo + - campaign_channels areRelationsValid: true type: NORMAL relationships: @@ -1586,10 +1643,10 @@ interactions: data: - id: campaign_channel_id type: attribute - - id: type - type: attribute - id: campaign_channels.category type: attribute + - id: type + type: attribute facts: data: - id: budget @@ -1602,6 +1659,68 @@ interactions: origin: originType: NATIVE originId: demo + - id: campaigns + 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 + relationships: + attributes: + data: + - id: campaign_id + type: attribute + - id: campaign_name + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns + meta: + origin: + originType: NATIVE + originId: demo + - id: customers + 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 + relationships: + attributes: + data: + - id: customer_id + type: attribute + - id: state + type: attribute + - id: customer_name + type: attribute + - id: region + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers + meta: + origin: + originType: NATIVE + originId: demo - id: order_lines type: dataset attributes: @@ -1612,45 +1731,60 @@ interactions: grain: - id: order_line_id type: attribute - order: 0 referenceProperties: - identifier: - id: products + id: date type: dataset multivalue: false + sources: null sourceColumns: - - product_id - sourceColumnDataTypes: null + - date + sourceColumnDataTypes: + - DATE - identifier: id: customers type: dataset multivalue: false + sources: null sourceColumns: - customer_id - sourceColumnDataTypes: null + sourceColumnDataTypes: + - INT - identifier: - id: date + id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - - date - sourceColumnDataTypes: null + - campaign_id + sourceColumnDataTypes: + - INT - identifier: - id: campaigns + id: products type: dataset multivalue: false + sources: null sourceColumns: - - campaign_id - sourceColumnDataTypes: null + - product_id + sourceColumnDataTypes: + - INT dataSourceTableId: demo-test-ds:order_lines + dataSourceTablePath: + - demo + - order_lines areRelationsValid: true - workspaceDataFilterProperties: - - workspaceDataFilterIdentifier: + workspaceDataFilterColumns: + - name: wdf__state + dataType: STRING + - name: wdf__region + dataType: STRING + workspaceDataFilterReferences: + - filterId: id: wdf__state type: workspaceDataFilter filterColumn: wdf__state filterColumnDataType: STRING - - workspaceDataFilterIdentifier: + - filterId: id: wdf__region type: workspaceDataFilter filterColumn: wdf__region @@ -1659,12 +1793,12 @@ interactions: relationships: attributes: data: - - id: order_status - type: attribute - id: order_id type: attribute - id: order_line_id type: attribute + - id: order_status + type: attribute facts: data: - id: price @@ -1687,18 +1821,20 @@ interactions: grain: - id: product_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:products + dataSourceTablePath: + - demo + - products areRelationsValid: true type: NORMAL relationships: attributes: data: - - id: product_name + - id: products.category type: attribute - id: product_id type: attribute - - id: products.category + - id: product_name type: attribute links: self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/products @@ -1706,112 +1842,6 @@ interactions: origin: originType: NATIVE originId: demo - - id: date - type: dataset - attributes: - title: Date - description: '' - tags: - - Date - areRelationsValid: true - type: DATE - relationships: - attributes: - data: - - id: date.quarterOfYear - type: attribute - - id: date.weekOfYear - type: attribute - - id: date.dayOfMonth - type: attribute - - id: date.monthOfYear - type: attribute - - id: date.minuteOfHour - type: attribute - - id: date.hour - type: attribute - - id: date.year - type: attribute - - id: date.week - type: attribute - - id: date.quarter - type: attribute - - id: date.dayOfYear - type: attribute - - id: date.dayOfWeek - type: attribute - - id: date.minute - type: attribute - - id: date.day - type: attribute - - id: date.month - type: attribute - - id: date.hourOfDay - type: attribute - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date - meta: - origin: - originType: NATIVE - originId: demo - - id: campaigns - type: dataset - attributes: - title: Campaigns - description: Campaigns - tags: - - Campaigns - grain: - - id: campaign_id - type: attribute - order: 0 - dataSourceTableId: demo-test-ds:campaigns - areRelationsValid: true - type: NORMAL - relationships: - attributes: - data: - - id: campaign_id - type: attribute - - id: campaign_name - type: attribute - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns - meta: - origin: - originType: NATIVE - originId: demo - - id: customers - type: dataset - attributes: - title: Customers - description: Customers - tags: - - Customers - grain: - - id: customer_id - type: attribute - order: 0 - dataSourceTableId: demo-test-ds:customers - areRelationsValid: true - type: NORMAL - relationships: - attributes: - data: - - id: region - type: attribute - - id: state - type: attribute - - id: customer_id - type: attribute - - id: customer_name - type: attribute - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers - meta: - origin: - originType: NATIVE - originId: demo included: - id: product_id type: attribute @@ -1821,6 +1851,7 @@ interactions: tags: - Products sourceColumn: product_id + sourceColumnDataType: INT links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id - id: budget @@ -1831,6 +1862,7 @@ interactions: tags: - Campaign channels sourceColumn: budget + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/budget - id: date.year @@ -1851,6 +1883,7 @@ interactions: tags: - Products sourceColumn: product_name + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name - id: date.month @@ -1871,6 +1904,7 @@ interactions: tags: - Products sourceColumn: category + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category - id: date.dayOfMonth @@ -1911,6 +1945,7 @@ interactions: tags: - Campaign channels sourceColumn: category + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category - id: date.minute @@ -1931,6 +1966,7 @@ interactions: tags: - Customers sourceColumn: state + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state - id: date.week @@ -1951,6 +1987,7 @@ interactions: tags: - Order lines sourceColumn: order_id + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id - id: date.hour @@ -1971,6 +2008,7 @@ interactions: tags: - Campaigns sourceColumn: campaign_name + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name - id: price @@ -1981,6 +2019,7 @@ interactions: tags: - Order lines sourceColumn: price + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/price - id: date.dayOfWeek @@ -2011,6 +2050,7 @@ interactions: tags: - Customers sourceColumn: region + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region - id: campaign_channel_id @@ -2021,6 +2061,7 @@ interactions: tags: - Campaign channels sourceColumn: campaign_channel_id + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id - id: customer_id @@ -2031,6 +2072,7 @@ interactions: tags: - Customers sourceColumn: customer_id + sourceColumnDataType: INT links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id - id: date.hourOfDay @@ -2051,6 +2093,7 @@ interactions: tags: - Order lines sourceColumn: quantity + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity - id: campaign_id @@ -2061,6 +2104,7 @@ interactions: tags: - Campaigns sourceColumn: campaign_id + sourceColumnDataType: INT links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id - id: type @@ -2071,6 +2115,7 @@ interactions: tags: - Campaign channels sourceColumn: type + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type - id: spend @@ -2081,6 +2126,7 @@ interactions: tags: - Campaign channels sourceColumn: spend + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/spend - id: date.dayOfYear @@ -2121,6 +2167,7 @@ interactions: tags: - Order lines sourceColumn: order_status + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status - id: date.monthOfYear @@ -2141,6 +2188,7 @@ interactions: tags: - Customers sourceColumn: customer_name + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name - id: order_line_id @@ -2151,11 +2199,12 @@ interactions: tags: - Order lines sourceColumn: order_line_id + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=0&size=500 - next: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=1&size=500 + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=1&size=500 - request: method: GET uri: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500 @@ -2183,7 +2232,7 @@ interactions: Connection: - keep-alive Content-Length: - - '9799' + - '10543' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -2235,6 +2284,7 @@ interactions: attributes: title: '# of Active Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0' maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) @@ -2249,6 +2299,7 @@ interactions: attributes: title: '# of Orders' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0' maql: SELECT COUNT({attribute/order_id}) @@ -2263,6 +2314,7 @@ interactions: attributes: title: '# of Top Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0' maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT @@ -2279,6 +2331,7 @@ interactions: title: '# of Valid Orders' description: '' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.00' maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} @@ -2294,6 +2347,7 @@ interactions: attributes: title: Campaign Spend areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT SUM({fact/spend}) @@ -2308,6 +2362,7 @@ interactions: attributes: title: Order Amount areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT SUM({fact/price}*{fact/quantity}) @@ -2322,6 +2377,7 @@ interactions: attributes: title: '% Revenue' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / {metric/total_revenue} @@ -2336,6 +2392,7 @@ interactions: attributes: title: '% Revenue from Top 10 Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ @@ -2351,6 +2408,7 @@ interactions: attributes: title: '% Revenue from Top 10% Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ @@ -2366,6 +2424,7 @@ interactions: attributes: title: '% Revenue from Top 10% Products' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ @@ -2381,6 +2440,7 @@ interactions: attributes: title: '% Revenue from Top 10 Products' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ @@ -2396,6 +2456,7 @@ interactions: attributes: title: '% Revenue in Category' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, @@ -2411,6 +2472,7 @@ interactions: attributes: title: '% Revenue per Product' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL @@ -2427,6 +2489,7 @@ interactions: title: Revenue description: '' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} @@ -2442,6 +2505,7 @@ interactions: attributes: title: Revenue (Clothing) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2457,6 +2521,7 @@ interactions: attributes: title: Revenue (Electronic) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2472,6 +2537,7 @@ interactions: attributes: title: Revenue (Home) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2487,6 +2553,7 @@ interactions: attributes: title: Revenue (Outdoor) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2502,6 +2569,7 @@ interactions: attributes: title: Revenue per Customer areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0.0 maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) @@ -2516,6 +2584,7 @@ interactions: attributes: title: Revenue per Dollar Spent areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0.0 maql: SELECT {metric/revenue} / {metric/campaign_spend} @@ -2530,6 +2599,7 @@ interactions: attributes: title: Revenue / Top 10 areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) @@ -2544,6 +2614,7 @@ interactions: attributes: title: Revenue / Top 10% areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) @@ -2558,6 +2629,7 @@ interactions: attributes: title: Total Revenue areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} BY ALL OTHER @@ -2572,6 +2644,7 @@ interactions: attributes: title: Total Revenue (No Filters) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER @@ -2586,7 +2659,7 @@ interactions: next: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=1&size=500 - request: method: GET - uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/4cb6fdda1cea362a9e20b83b31ceedf6d38e216b?offset=0%2C0&limit=2%2C1000 + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/3264429d5236b5a0a463e573b89dbdcec709c25e?offset=0%2C0&limit=2%2C1000 body: null headers: Accept: diff --git a/gooddata-pandas/tests/dataframe/test_dataframe_for_exec_def.py b/gooddata-pandas/tests/dataframe/test_dataframe_for_exec_def.py index 00533481a..407e9c8ec 100644 --- a/gooddata-pandas/tests/dataframe/test_dataframe_for_exec_def.py +++ b/gooddata-pandas/tests/dataframe/test_dataframe_for_exec_def.py @@ -27,14 +27,15 @@ def _run_and_validate_results( exec_def: ExecutionDefinition, expected: Tuple[int, int], expected_row_totals: Optional[List[List[int]]] = None, + page_size: int = 100, ) -> str: # generate dataframe from exec_def - result, result_metadata = gdf.for_exec_def(exec_def=exec_def) + result, result_metadata = gdf.for_exec_def(exec_def=exec_def, page_size=page_size) assert result.values.shape == expected # use result ID from computation above and generate dataframe just from it result_from_result_id, result_metadata_from_result_id = gdf.for_exec_result_id( - result_id=result_metadata.execution_response.result_id, + result_id=result_metadata.execution_response.result_id, page_size=page_size ) if expected_row_totals is not None: @@ -360,7 +361,8 @@ def test_dataframe_for_exec_def_one_dim1(gdf: DataFrameFactory): filters=[], dimensions=[["region", "state", "product_category", "measureGroup"]], ) - _run_and_validate_results(gdf=gdf, exec_def=exec_def, expected=(364, 1)) + # TODO: remove page_size=500 once UNI-591 is resolved + _run_and_validate_results(gdf=gdf, exec_def=exec_def, expected=(364, 1), page_size=500) @gd_vcr.use_cassette(str(_fixtures_dir / "dataframe_for_exec_def_one_dim2.yaml")) diff --git a/gooddata-pandas/tests/series/fixtures/multi_index_filtered_series.yaml b/gooddata-pandas/tests/series/fixtures/multi_index_filtered_series.yaml index f3c638ed2..ea6314331 100644 --- a/gooddata-pandas/tests/series/fixtures/multi_index_filtered_series.yaml +++ b/gooddata-pandas/tests/series/fixtures/multi_index_filtered_series.yaml @@ -157,7 +157,7 @@ interactions: type: label localIdentifier: dim_1 links: - executionResult: 073d2004be1d179f61a2241cbf019b116e7ed5bd + executionResult: a992d6e00271cb872f6a47d2795a5abaa8facf28 - request: method: GET uri: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&page=0&size=500 @@ -185,7 +185,7 @@ interactions: Connection: - keep-alive Content-Length: - - '27018' + - '27121' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -232,743 +232,743 @@ interactions: body: string: data: - - id: campaign_channels.category + - id: date.minute type: attribute attributes: - title: Category - description: Category + title: Date - Minute + description: Minute tags: - - Campaign channels + - Date + granularity: MINUTE areRelationsValid: true - sourceColumn: category - sourceColumnDataType: STRING relationships: dataset: data: - id: campaign_channels + id: date type: dataset labels: data: - - id: campaign_channels.category + - id: date.minute type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute meta: origin: originType: NATIVE originId: demo - - id: campaign_channel_id + - id: date.hour type: attribute attributes: - title: Campaign channel id - description: Campaign channel id + title: Date - Hour + description: Hour tags: - - Campaign channels + - Date + granularity: HOUR areRelationsValid: true - sourceColumn: campaign_channel_id - sourceColumnDataType: STRING relationships: dataset: data: - id: campaign_channels + id: date type: dataset labels: data: - - id: campaign_channel_id + - id: date.hour type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour meta: origin: originType: NATIVE originId: demo - - id: type + - id: date.day type: attribute attributes: - title: Type - description: Type + title: Date - Date + description: Date tags: - - Campaign channels + - Date + granularity: DAY areRelationsValid: true - sourceColumn: type - sourceColumnDataType: STRING relationships: dataset: data: - id: campaign_channels + id: date type: dataset labels: data: - - id: type + - id: date.day type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day meta: origin: originType: NATIVE originId: demo - - id: campaign_name + - id: date.week type: attribute attributes: - title: Campaign name - description: Campaign name + title: Date - Week/Year + description: Week and Year (W52/2020) tags: - - Campaigns + - Date + granularity: WEEK areRelationsValid: true - sourceColumn: campaign_name - sourceColumnDataType: STRING relationships: dataset: data: - id: campaigns + id: date type: dataset labels: data: - - id: campaign_name + - id: date.week type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week meta: origin: originType: NATIVE originId: demo - - id: campaign_id + - id: date.month type: attribute attributes: - title: Campaign id - description: Campaign id + title: Date - Month/Year + description: Month and Year (12/2020) tags: - - Campaigns + - Date + granularity: MONTH areRelationsValid: true - sourceColumn: campaign_id - sourceColumnDataType: INT relationships: dataset: data: - id: campaigns + id: date type: dataset labels: data: - - id: campaign_id + - id: date.month type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month meta: origin: originType: NATIVE originId: demo - - id: state + - id: date.quarter type: attribute attributes: - title: State - description: State + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) tags: - - Customers + - Date + granularity: QUARTER areRelationsValid: true - sourceColumn: state - sourceColumnDataType: STRING relationships: - defaultView: - data: - id: state - type: label dataset: data: - id: customers + id: date type: dataset labels: data: - - id: state - type: label - - id: geo__state__location + - id: date.quarter type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter meta: origin: originType: NATIVE originId: demo - - id: region + - id: date.year type: attribute attributes: - title: Region - description: Region + title: Date - Year + description: Year tags: - - Customers + - Date + granularity: YEAR areRelationsValid: true - sourceColumn: region - sourceColumnDataType: STRING relationships: dataset: data: - id: customers + id: date type: dataset labels: data: - - id: region + - id: date.year type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year meta: origin: originType: NATIVE originId: demo - - id: customer_name + - id: date.minuteOfHour type: attribute attributes: - title: Customer name - description: Customer name + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) tags: - - Customers + - Date + granularity: MINUTE_OF_HOUR areRelationsValid: true - sourceColumn: customer_name - sourceColumnDataType: STRING relationships: dataset: data: - id: customers + id: date type: dataset labels: data: - - id: customer_name + - id: date.minuteOfHour type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour meta: origin: originType: NATIVE originId: demo - - id: customer_id + - id: date.hourOfDay type: attribute attributes: - title: Customer id - description: Customer id + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) tags: - - Customers + - Date + granularity: HOUR_OF_DAY areRelationsValid: true - sourceColumn: customer_id - sourceColumnDataType: INT relationships: dataset: data: - id: customers + id: date type: dataset labels: data: - - id: customer_id + - id: date.hourOfDay type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay meta: origin: originType: NATIVE originId: demo - - id: order_status + - id: date.dayOfWeek type: attribute attributes: - title: Order status - description: Order status + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) tags: - - Order lines + - Date + granularity: DAY_OF_WEEK areRelationsValid: true - sourceColumn: order_status - sourceColumnDataType: STRING relationships: dataset: data: - id: order_lines + id: date type: dataset labels: data: - - id: order_status + - id: date.dayOfWeek type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek meta: origin: originType: NATIVE originId: demo - - id: order_line_id + - id: date.dayOfMonth type: attribute attributes: - title: Order line id - description: Order line id + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) tags: - - Order lines + - Date + granularity: DAY_OF_MONTH areRelationsValid: true - sourceColumn: order_line_id - sourceColumnDataType: STRING relationships: dataset: data: - id: order_lines + id: date type: dataset labels: data: - - id: order_line_id + - id: date.dayOfMonth type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth meta: origin: originType: NATIVE originId: demo - - id: order_id + - id: date.dayOfYear type: attribute attributes: - title: Order id - description: Order id + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) tags: - - Order lines + - Date + granularity: DAY_OF_YEAR areRelationsValid: true - sourceColumn: order_id - sourceColumnDataType: STRING relationships: dataset: data: - id: order_lines + id: date type: dataset labels: data: - - id: order_id + - id: date.dayOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear meta: origin: originType: NATIVE originId: demo - - id: product_name + - id: date.weekOfYear type: attribute attributes: - title: Product name - description: Product name + title: Date - Week of Year + description: Generic Week (W1-W53) tags: - - Products + - Date + granularity: WEEK_OF_YEAR areRelationsValid: true - sourceColumn: product_name - sourceColumnDataType: STRING relationships: dataset: data: - id: products + id: date type: dataset labels: data: - - id: product_name + - id: date.weekOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear meta: origin: originType: NATIVE originId: demo - - id: product_id + - id: date.monthOfYear type: attribute attributes: - title: Product id - description: Product id + title: Date - Month of Year + description: Generic Month (M1-M12) tags: - - Products + - Date + granularity: MONTH_OF_YEAR areRelationsValid: true - sourceColumn: product_id - sourceColumnDataType: INT relationships: dataset: data: - id: products + id: date type: dataset labels: data: - - id: product_id + - id: date.monthOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear meta: origin: originType: NATIVE originId: demo - - id: products.category + - id: date.quarterOfYear type: attribute attributes: - title: Category - description: Category + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) tags: - - Products + - Date + granularity: QUARTER_OF_YEAR areRelationsValid: true - sourceColumn: category - sourceColumnDataType: STRING relationships: dataset: data: - id: products + id: date type: dataset labels: data: - - id: products.category + - id: date.quarterOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear meta: origin: originType: NATIVE originId: demo - - id: date.quarterOfYear + - id: campaign_channel_id type: attribute attributes: - title: Date - Quarter of Year - description: Generic Quarter (Q1-Q4) + title: Campaign channel id + description: Campaign channel id tags: - - Date - granularity: QUARTER_OF_YEAR + - Campaign channels areRelationsValid: true + sourceColumn: campaign_channel_id + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaign_channels type: dataset labels: data: - - id: date.quarterOfYear + - id: campaign_channel_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id meta: origin: originType: NATIVE originId: demo - - id: date.monthOfYear + - id: campaign_channels.category type: attribute attributes: - title: Date - Month of Year - description: Generic Month (M1-M12) + title: Category + description: Category tags: - - Date - granularity: MONTH_OF_YEAR + - Campaign channels areRelationsValid: true + sourceColumn: category + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaign_channels type: dataset labels: data: - - id: date.monthOfYear + - id: campaign_channels.category type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category meta: origin: originType: NATIVE originId: demo - - id: date.weekOfYear + - id: type type: attribute attributes: - title: Date - Week of Year - description: Generic Week (W1-W53) + title: Type + description: Type tags: - - Date - granularity: WEEK_OF_YEAR + - Campaign channels areRelationsValid: true + sourceColumn: type + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaign_channels type: dataset labels: data: - - id: date.weekOfYear + - id: type type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type meta: origin: originType: NATIVE originId: demo - - id: date.dayOfYear + - id: campaign_id type: attribute attributes: - title: Date - Day of Year - description: Generic Day of the Year (D1-D366) + title: Campaign id + description: Campaign id tags: - - Date - granularity: DAY_OF_YEAR + - Campaigns areRelationsValid: true + sourceColumn: campaign_id + sourceColumnDataType: INT relationships: dataset: data: - id: date + id: campaigns type: dataset labels: data: - - id: date.dayOfYear + - id: campaign_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id meta: origin: originType: NATIVE originId: demo - - id: date.dayOfMonth + - id: campaign_name type: attribute attributes: - title: Date - Day of Month - description: Generic Day of the Month (D1-D31) + title: Campaign name + description: Campaign name tags: - - Date - granularity: DAY_OF_MONTH + - Campaigns areRelationsValid: true + sourceColumn: campaign_name + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaigns type: dataset labels: data: - - id: date.dayOfMonth + - id: campaign_name type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name meta: origin: originType: NATIVE originId: demo - - id: date.dayOfWeek + - id: customer_id type: attribute attributes: - title: Date - Day of Week - description: Generic Day of the Week (D1-D7) + title: Customer id + description: Customer id tags: - - Date - granularity: DAY_OF_WEEK + - Customers areRelationsValid: true + sourceColumn: customer_id + sourceColumnDataType: INT relationships: dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.dayOfWeek + - id: customer_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id meta: origin: originType: NATIVE originId: demo - - id: date.hourOfDay + - id: customer_name type: attribute attributes: - title: Date - Hour of Day - description: Generic Hour of the Day(H1-H24) + title: Customer name + description: Customer name tags: - - Date - granularity: HOUR_OF_DAY + - Customers areRelationsValid: true + sourceColumn: customer_name + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.hourOfDay + - id: customer_name type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name meta: origin: originType: NATIVE originId: demo - - id: date.minuteOfHour + - id: region type: attribute attributes: - title: Date - Minute of Hour - description: Generic Minute of the Hour(MI1-MI60) + title: Region + description: Region tags: - - Date - granularity: MINUTE_OF_HOUR + - Customers areRelationsValid: true + sourceColumn: region + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.minuteOfHour + - id: region type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region meta: origin: originType: NATIVE originId: demo - - id: date.year + - id: state type: attribute attributes: - title: Date - Year - description: Year + title: State + description: State tags: - - Date - granularity: YEAR + - Customers areRelationsValid: true + sourceColumn: state + sourceColumnDataType: STRING relationships: + defaultView: + data: + id: state + type: label dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.year + - id: geo__state__location + type: label + - id: state type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state meta: origin: originType: NATIVE originId: demo - - id: date.quarter + - id: order_id type: attribute attributes: - title: Date - Quarter/Year - description: Quarter and Year (Q1/2020) + title: Order id + description: Order id tags: - - Date - granularity: QUARTER + - Order lines areRelationsValid: true + sourceColumn: order_id + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: order_lines type: dataset labels: data: - - id: date.quarter + - id: order_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id meta: origin: originType: NATIVE originId: demo - - id: date.month + - id: order_line_id type: attribute attributes: - title: Date - Month/Year - description: Month and Year (12/2020) + title: Order line id + description: Order line id tags: - - Date - granularity: MONTH + - Order lines areRelationsValid: true + sourceColumn: order_line_id + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: order_lines type: dataset labels: data: - - id: date.month + - id: order_line_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id meta: origin: originType: NATIVE originId: demo - - id: date.week + - id: order_status type: attribute attributes: - title: Date - Week/Year - description: Week and Year (W52/2020) + title: Order status + description: Order status tags: - - Date - granularity: WEEK + - Order lines areRelationsValid: true + sourceColumn: order_status + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: order_lines type: dataset labels: data: - - id: date.week + - id: order_status type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status meta: origin: originType: NATIVE originId: demo - - id: date.day + - id: product_id type: attribute attributes: - title: Date - Date - description: Date + title: Product id + description: Product id tags: - - Date - granularity: DAY + - Products areRelationsValid: true + sourceColumn: product_id + sourceColumnDataType: INT relationships: dataset: data: - id: date + id: products type: dataset labels: data: - - id: date.day + - id: product_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id meta: origin: originType: NATIVE originId: demo - - id: date.hour + - id: product_name type: attribute attributes: - title: Date - Hour - description: Hour + title: Product name + description: Product name tags: - - Date - granularity: HOUR + - Products areRelationsValid: true + sourceColumn: product_name + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: products type: dataset labels: data: - - id: date.hour + - id: product_name type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name meta: origin: originType: NATIVE originId: demo - - id: date.minute + - id: products.category type: attribute attributes: - title: Date - Minute - description: Minute + title: Category + description: Category tags: - - Date - granularity: MINUTE + - Products areRelationsValid: true + sourceColumn: category + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: products type: dataset labels: data: - - id: date.minute + - id: products.category type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category meta: origin: originType: NATIVE @@ -1032,51 +1032,59 @@ interactions: grain: - id: order_line_id type: attribute - order: 0 referenceProperties: - identifier: - id: products + id: date type: dataset multivalue: false + sources: null sourceColumns: - - product_id + - date sourceColumnDataTypes: - - INT + - DATE - identifier: id: customers type: dataset multivalue: false + sources: null sourceColumns: - customer_id sourceColumnDataTypes: - INT - identifier: - id: date + id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - - date + - campaign_id sourceColumnDataTypes: - - DATE + - INT - identifier: - id: campaigns + id: products type: dataset multivalue: false + sources: null sourceColumns: - - campaign_id + - product_id sourceColumnDataTypes: - INT dataSourceTableId: demo-test-ds:order_lines dataSourceTablePath: - demo - order_lines - workspaceDataFilterProperties: - - workspaceDataFilterIdentifier: + workspaceDataFilterColumns: + - name: wdf__state + dataType: STRING + - name: wdf__region + dataType: STRING + workspaceDataFilterReferences: + - filterId: id: wdf__state type: workspaceDataFilter filterColumn: wdf__state filterColumnDataType: STRING - - workspaceDataFilterIdentifier: + - filterId: id: wdf__region type: workspaceDataFilter filterColumn: wdf__region @@ -1118,12 +1126,12 @@ interactions: grain: - id: campaign_channel_id type: attribute - order: 0 referenceProperties: - identifier: id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - campaign_id sourceColumnDataTypes: @@ -1213,7 +1221,6 @@ interactions: grain: - id: campaign_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:campaigns dataSourceTablePath: - demo @@ -1270,7 +1277,6 @@ interactions: grain: - id: customer_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:customers dataSourceTablePath: - demo @@ -1396,7 +1402,6 @@ interactions: grain: - id: product_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:products dataSourceTablePath: - demo @@ -1500,8 +1505,8 @@ interactions: links: self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_id links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels,datasets&page=0&size=500 - next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels,datasets&page=1&size=500 + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&page=1&size=500 - request: method: GET uri: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500 @@ -1529,7 +1534,7 @@ interactions: Connection: - keep-alive Content-Length: - - '13953' + - '14899' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -1576,6 +1581,54 @@ interactions: body: string: data: + - id: date + type: dataset + attributes: + title: Date + description: '' + tags: + - Date + areRelationsValid: true + type: DATE + relationships: + attributes: + data: + - id: date.quarter + type: attribute + - id: date.minute + type: attribute + - id: date.hourOfDay + type: attribute + - id: date.minuteOfHour + type: attribute + - id: date.dayOfYear + type: attribute + - id: date.monthOfYear + type: attribute + - id: date.weekOfYear + type: attribute + - id: date.week + type: attribute + - id: date.year + type: attribute + - id: date.dayOfWeek + type: attribute + - id: date.hour + type: attribute + - id: date.dayOfMonth + type: attribute + - id: date.month + type: attribute + - id: date.quarterOfYear + type: attribute + - id: date.day + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date + meta: + origin: + originType: NATIVE + originId: demo - id: campaign_channels type: dataset attributes: @@ -1586,16 +1639,20 @@ interactions: grain: - id: campaign_channel_id type: attribute - order: 0 referenceProperties: - identifier: id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - campaign_id - sourceColumnDataTypes: null + sourceColumnDataTypes: + - INT dataSourceTableId: demo-test-ds:campaign_channels + dataSourceTablePath: + - demo + - campaign_channels areRelationsValid: true type: NORMAL relationships: @@ -1603,10 +1660,10 @@ interactions: data: - id: campaign_channel_id type: attribute - - id: type - type: attribute - id: campaign_channels.category type: attribute + - id: type + type: attribute facts: data: - id: budget @@ -1619,6 +1676,68 @@ interactions: origin: originType: NATIVE originId: demo + - id: campaigns + 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 + relationships: + attributes: + data: + - id: campaign_id + type: attribute + - id: campaign_name + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns + meta: + origin: + originType: NATIVE + originId: demo + - id: customers + 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 + relationships: + attributes: + data: + - id: customer_id + type: attribute + - id: state + type: attribute + - id: customer_name + type: attribute + - id: region + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers + meta: + origin: + originType: NATIVE + originId: demo - id: order_lines type: dataset attributes: @@ -1629,59 +1748,74 @@ interactions: grain: - id: order_line_id type: attribute - order: 0 referenceProperties: - identifier: - id: products + id: date type: dataset multivalue: false + sources: null sourceColumns: - - product_id - sourceColumnDataTypes: null + - date + sourceColumnDataTypes: + - DATE - identifier: id: customers type: dataset multivalue: false + sources: null sourceColumns: - customer_id - sourceColumnDataTypes: null + sourceColumnDataTypes: + - INT - identifier: - id: date + id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - - date - sourceColumnDataTypes: null + - campaign_id + sourceColumnDataTypes: + - INT - identifier: - id: campaigns + id: products type: dataset multivalue: false + sources: null sourceColumns: - - campaign_id - sourceColumnDataTypes: null + - product_id + sourceColumnDataTypes: + - INT dataSourceTableId: demo-test-ds:order_lines + dataSourceTablePath: + - demo + - order_lines areRelationsValid: true - workspaceDataFilterProperties: - - workspaceDataFilterIdentifier: - id: wdf__state - type: workspaceDataFilter - filterColumn: wdf__state - filterColumnDataType: STRING - - workspaceDataFilterIdentifier: + workspaceDataFilterColumns: + - name: wdf__state + dataType: STRING + - name: wdf__region + 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 relationships: attributes: data: - - id: order_status - type: attribute - id: order_id type: attribute - id: order_line_id type: attribute + - id: order_status + type: attribute facts: data: - id: price @@ -1704,18 +1838,20 @@ interactions: grain: - id: product_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:products + dataSourceTablePath: + - demo + - products areRelationsValid: true type: NORMAL relationships: attributes: data: - - id: product_name + - id: products.category type: attribute - id: product_id type: attribute - - id: products.category + - id: product_name type: attribute links: self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/products @@ -1723,112 +1859,6 @@ interactions: origin: originType: NATIVE originId: demo - - id: date - type: dataset - attributes: - title: Date - description: '' - tags: - - Date - areRelationsValid: true - type: DATE - relationships: - attributes: - data: - - id: date.quarterOfYear - type: attribute - - id: date.weekOfYear - type: attribute - - id: date.dayOfMonth - type: attribute - - id: date.monthOfYear - type: attribute - - id: date.minuteOfHour - type: attribute - - id: date.hour - type: attribute - - id: date.year - type: attribute - - id: date.week - type: attribute - - id: date.quarter - type: attribute - - id: date.dayOfYear - type: attribute - - id: date.dayOfWeek - type: attribute - - id: date.minute - type: attribute - - id: date.day - type: attribute - - id: date.month - type: attribute - - id: date.hourOfDay - type: attribute - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date - meta: - origin: - originType: NATIVE - originId: demo - - id: campaigns - type: dataset - attributes: - title: Campaigns - description: Campaigns - tags: - - Campaigns - grain: - - id: campaign_id - type: attribute - order: 0 - dataSourceTableId: demo-test-ds:campaigns - areRelationsValid: true - type: NORMAL - relationships: - attributes: - data: - - id: campaign_id - type: attribute - - id: campaign_name - type: attribute - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns - meta: - origin: - originType: NATIVE - originId: demo - - id: customers - type: dataset - attributes: - title: Customers - description: Customers - tags: - - Customers - grain: - - id: customer_id - type: attribute - order: 0 - dataSourceTableId: demo-test-ds:customers - areRelationsValid: true - type: NORMAL - relationships: - attributes: - data: - - id: region - type: attribute - - id: state - type: attribute - - id: customer_id - type: attribute - - id: customer_name - type: attribute - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers - meta: - origin: - originType: NATIVE - originId: demo included: - id: product_id type: attribute @@ -1838,6 +1868,7 @@ interactions: tags: - Products sourceColumn: product_id + sourceColumnDataType: INT links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id - id: budget @@ -1848,6 +1879,7 @@ interactions: tags: - Campaign channels sourceColumn: budget + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/budget - id: date.year @@ -1868,6 +1900,7 @@ interactions: tags: - Products sourceColumn: product_name + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name - id: date.month @@ -1888,6 +1921,7 @@ interactions: tags: - Products sourceColumn: category + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category - id: date.dayOfMonth @@ -1928,6 +1962,7 @@ interactions: tags: - Campaign channels sourceColumn: category + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category - id: date.minute @@ -1948,6 +1983,7 @@ interactions: tags: - Customers sourceColumn: state + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state - id: date.week @@ -1968,6 +2004,7 @@ interactions: tags: - Order lines sourceColumn: order_id + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id - id: date.hour @@ -1988,6 +2025,7 @@ interactions: tags: - Campaigns sourceColumn: campaign_name + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name - id: price @@ -1998,6 +2036,7 @@ interactions: tags: - Order lines sourceColumn: price + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/price - id: date.dayOfWeek @@ -2028,6 +2067,7 @@ interactions: tags: - Customers sourceColumn: region + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region - id: campaign_channel_id @@ -2038,6 +2078,7 @@ interactions: tags: - Campaign channels sourceColumn: campaign_channel_id + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id - id: customer_id @@ -2048,6 +2089,7 @@ interactions: tags: - Customers sourceColumn: customer_id + sourceColumnDataType: INT links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id - id: date.hourOfDay @@ -2068,6 +2110,7 @@ interactions: tags: - Order lines sourceColumn: quantity + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity - id: campaign_id @@ -2078,6 +2121,7 @@ interactions: tags: - Campaigns sourceColumn: campaign_id + sourceColumnDataType: INT links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id - id: type @@ -2088,6 +2132,7 @@ interactions: tags: - Campaign channels sourceColumn: type + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type - id: spend @@ -2098,6 +2143,7 @@ interactions: tags: - Campaign channels sourceColumn: spend + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/spend - id: date.dayOfYear @@ -2138,6 +2184,7 @@ interactions: tags: - Order lines sourceColumn: order_status + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status - id: date.monthOfYear @@ -2158,6 +2205,7 @@ interactions: tags: - Customers sourceColumn: customer_name + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name - id: order_line_id @@ -2168,11 +2216,12 @@ interactions: tags: - Order lines sourceColumn: order_line_id + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=0&size=500 - next: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=1&size=500 + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=1&size=500 - request: method: GET uri: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500 @@ -2200,7 +2249,7 @@ interactions: Connection: - keep-alive Content-Length: - - '9799' + - '10543' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -2252,6 +2301,7 @@ interactions: attributes: title: '# of Active Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0' maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) @@ -2266,6 +2316,7 @@ interactions: attributes: title: '# of Orders' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0' maql: SELECT COUNT({attribute/order_id}) @@ -2280,6 +2331,7 @@ interactions: attributes: title: '# of Top Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0' maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT @@ -2296,6 +2348,7 @@ interactions: title: '# of Valid Orders' description: '' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.00' maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} @@ -2311,6 +2364,7 @@ interactions: attributes: title: Campaign Spend areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT SUM({fact/spend}) @@ -2325,6 +2379,7 @@ interactions: attributes: title: Order Amount areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT SUM({fact/price}*{fact/quantity}) @@ -2339,6 +2394,7 @@ interactions: attributes: title: '% Revenue' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / {metric/total_revenue} @@ -2353,6 +2409,7 @@ interactions: attributes: title: '% Revenue from Top 10 Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ @@ -2368,6 +2425,7 @@ interactions: attributes: title: '% Revenue from Top 10% Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ @@ -2383,6 +2441,7 @@ interactions: attributes: title: '% Revenue from Top 10% Products' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ @@ -2398,6 +2457,7 @@ interactions: attributes: title: '% Revenue from Top 10 Products' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ @@ -2413,6 +2473,7 @@ interactions: attributes: title: '% Revenue in Category' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, @@ -2428,6 +2489,7 @@ interactions: attributes: title: '% Revenue per Product' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL @@ -2444,6 +2506,7 @@ interactions: title: Revenue description: '' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} @@ -2459,6 +2522,7 @@ interactions: attributes: title: Revenue (Clothing) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2474,6 +2538,7 @@ interactions: attributes: title: Revenue (Electronic) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2489,6 +2554,7 @@ interactions: attributes: title: Revenue (Home) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2504,6 +2570,7 @@ interactions: attributes: title: Revenue (Outdoor) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2519,6 +2586,7 @@ interactions: attributes: title: Revenue per Customer areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0.0 maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) @@ -2533,6 +2601,7 @@ interactions: attributes: title: Revenue per Dollar Spent areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0.0 maql: SELECT {metric/revenue} / {metric/campaign_spend} @@ -2547,6 +2616,7 @@ interactions: attributes: title: Revenue / Top 10 areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) @@ -2561,6 +2631,7 @@ interactions: attributes: title: Revenue / Top 10% areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) @@ -2575,6 +2646,7 @@ interactions: attributes: title: Total Revenue areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} BY ALL OTHER @@ -2589,6 +2661,7 @@ interactions: attributes: title: Total Revenue (No Filters) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER @@ -2603,7 +2676,7 @@ interactions: next: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=1&size=500 - request: method: GET - uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/073d2004be1d179f61a2241cbf019b116e7ed5bd?offset=0%2C0&limit=1%2C1000 + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/a992d6e00271cb872f6a47d2795a5abaa8facf28?offset=0%2C0&limit=1%2C1000 body: null headers: Accept: diff --git a/gooddata-pandas/tests/series/fixtures/multi_index_metric_series.yaml b/gooddata-pandas/tests/series/fixtures/multi_index_metric_series.yaml index ce71720cb..37de98042 100644 --- a/gooddata-pandas/tests/series/fixtures/multi_index_metric_series.yaml +++ b/gooddata-pandas/tests/series/fixtures/multi_index_metric_series.yaml @@ -149,7 +149,7 @@ interactions: type: label localIdentifier: dim_1 links: - executionResult: 2d4c4b9f90f0a1f06c1b75a210d3714421230bc1 + executionResult: 1cd2fcf7d640b48e8ecc463047c5f3e3954adbd1 - request: method: GET uri: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&page=0&size=500 @@ -177,7 +177,7 @@ interactions: Connection: - keep-alive Content-Length: - - '27018' + - '27121' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -224,743 +224,743 @@ interactions: body: string: data: - - id: campaign_channels.category + - id: date.minute type: attribute attributes: - title: Category - description: Category + title: Date - Minute + description: Minute tags: - - Campaign channels + - Date + granularity: MINUTE areRelationsValid: true - sourceColumn: category - sourceColumnDataType: STRING relationships: dataset: data: - id: campaign_channels + id: date type: dataset labels: data: - - id: campaign_channels.category + - id: date.minute type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute meta: origin: originType: NATIVE originId: demo - - id: campaign_channel_id + - id: date.hour type: attribute attributes: - title: Campaign channel id - description: Campaign channel id + title: Date - Hour + description: Hour tags: - - Campaign channels + - Date + granularity: HOUR areRelationsValid: true - sourceColumn: campaign_channel_id - sourceColumnDataType: STRING relationships: dataset: data: - id: campaign_channels + id: date type: dataset labels: data: - - id: campaign_channel_id + - id: date.hour type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour meta: origin: originType: NATIVE originId: demo - - id: type + - id: date.day type: attribute attributes: - title: Type - description: Type + title: Date - Date + description: Date tags: - - Campaign channels + - Date + granularity: DAY areRelationsValid: true - sourceColumn: type - sourceColumnDataType: STRING relationships: dataset: data: - id: campaign_channels + id: date type: dataset labels: data: - - id: type + - id: date.day type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day meta: origin: originType: NATIVE originId: demo - - id: campaign_name + - id: date.week type: attribute attributes: - title: Campaign name - description: Campaign name + title: Date - Week/Year + description: Week and Year (W52/2020) tags: - - Campaigns + - Date + granularity: WEEK areRelationsValid: true - sourceColumn: campaign_name - sourceColumnDataType: STRING relationships: dataset: data: - id: campaigns + id: date type: dataset labels: data: - - id: campaign_name + - id: date.week type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week meta: origin: originType: NATIVE originId: demo - - id: campaign_id + - id: date.month type: attribute attributes: - title: Campaign id - description: Campaign id + title: Date - Month/Year + description: Month and Year (12/2020) tags: - - Campaigns + - Date + granularity: MONTH areRelationsValid: true - sourceColumn: campaign_id - sourceColumnDataType: INT relationships: dataset: data: - id: campaigns + id: date type: dataset labels: data: - - id: campaign_id + - id: date.month type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month meta: origin: originType: NATIVE originId: demo - - id: state + - id: date.quarter type: attribute attributes: - title: State - description: State + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) tags: - - Customers + - Date + granularity: QUARTER areRelationsValid: true - sourceColumn: state - sourceColumnDataType: STRING relationships: - defaultView: - data: - id: state - type: label dataset: data: - id: customers + id: date type: dataset labels: data: - - id: state - type: label - - id: geo__state__location + - id: date.quarter type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter meta: origin: originType: NATIVE originId: demo - - id: region + - id: date.year type: attribute attributes: - title: Region - description: Region + title: Date - Year + description: Year tags: - - Customers + - Date + granularity: YEAR areRelationsValid: true - sourceColumn: region - sourceColumnDataType: STRING relationships: dataset: data: - id: customers + id: date type: dataset labels: data: - - id: region + - id: date.year type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year meta: origin: originType: NATIVE originId: demo - - id: customer_name + - id: date.minuteOfHour type: attribute attributes: - title: Customer name - description: Customer name + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) tags: - - Customers + - Date + granularity: MINUTE_OF_HOUR areRelationsValid: true - sourceColumn: customer_name - sourceColumnDataType: STRING relationships: dataset: data: - id: customers + id: date type: dataset labels: data: - - id: customer_name + - id: date.minuteOfHour type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour meta: origin: originType: NATIVE originId: demo - - id: customer_id + - id: date.hourOfDay type: attribute attributes: - title: Customer id - description: Customer id + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) tags: - - Customers + - Date + granularity: HOUR_OF_DAY areRelationsValid: true - sourceColumn: customer_id - sourceColumnDataType: INT relationships: dataset: data: - id: customers + id: date type: dataset labels: data: - - id: customer_id + - id: date.hourOfDay type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay meta: origin: originType: NATIVE originId: demo - - id: order_status + - id: date.dayOfWeek type: attribute attributes: - title: Order status - description: Order status + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) tags: - - Order lines + - Date + granularity: DAY_OF_WEEK areRelationsValid: true - sourceColumn: order_status - sourceColumnDataType: STRING relationships: dataset: data: - id: order_lines + id: date type: dataset labels: data: - - id: order_status + - id: date.dayOfWeek type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek meta: origin: originType: NATIVE originId: demo - - id: order_line_id + - id: date.dayOfMonth type: attribute attributes: - title: Order line id - description: Order line id + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) tags: - - Order lines + - Date + granularity: DAY_OF_MONTH areRelationsValid: true - sourceColumn: order_line_id - sourceColumnDataType: STRING relationships: dataset: data: - id: order_lines + id: date type: dataset labels: data: - - id: order_line_id + - id: date.dayOfMonth type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth meta: origin: originType: NATIVE originId: demo - - id: order_id + - id: date.dayOfYear type: attribute attributes: - title: Order id - description: Order id + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) tags: - - Order lines + - Date + granularity: DAY_OF_YEAR areRelationsValid: true - sourceColumn: order_id - sourceColumnDataType: STRING relationships: dataset: data: - id: order_lines + id: date type: dataset labels: data: - - id: order_id + - id: date.dayOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear meta: origin: originType: NATIVE originId: demo - - id: product_name + - id: date.weekOfYear type: attribute attributes: - title: Product name - description: Product name + title: Date - Week of Year + description: Generic Week (W1-W53) tags: - - Products + - Date + granularity: WEEK_OF_YEAR areRelationsValid: true - sourceColumn: product_name - sourceColumnDataType: STRING relationships: dataset: data: - id: products + id: date type: dataset labels: data: - - id: product_name + - id: date.weekOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear meta: origin: originType: NATIVE originId: demo - - id: product_id + - id: date.monthOfYear type: attribute attributes: - title: Product id - description: Product id + title: Date - Month of Year + description: Generic Month (M1-M12) tags: - - Products + - Date + granularity: MONTH_OF_YEAR areRelationsValid: true - sourceColumn: product_id - sourceColumnDataType: INT relationships: dataset: data: - id: products + id: date type: dataset labels: data: - - id: product_id + - id: date.monthOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear meta: origin: originType: NATIVE originId: demo - - id: products.category + - id: date.quarterOfYear type: attribute attributes: - title: Category - description: Category + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) tags: - - Products + - Date + granularity: QUARTER_OF_YEAR areRelationsValid: true - sourceColumn: category - sourceColumnDataType: STRING relationships: dataset: data: - id: products + id: date type: dataset labels: data: - - id: products.category + - id: date.quarterOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear meta: origin: originType: NATIVE originId: demo - - id: date.quarterOfYear + - id: campaign_channel_id type: attribute attributes: - title: Date - Quarter of Year - description: Generic Quarter (Q1-Q4) + title: Campaign channel id + description: Campaign channel id tags: - - Date - granularity: QUARTER_OF_YEAR + - Campaign channels areRelationsValid: true + sourceColumn: campaign_channel_id + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaign_channels type: dataset labels: data: - - id: date.quarterOfYear + - id: campaign_channel_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id meta: origin: originType: NATIVE originId: demo - - id: date.monthOfYear + - id: campaign_channels.category type: attribute attributes: - title: Date - Month of Year - description: Generic Month (M1-M12) + title: Category + description: Category tags: - - Date - granularity: MONTH_OF_YEAR + - Campaign channels areRelationsValid: true + sourceColumn: category + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaign_channels type: dataset labels: data: - - id: date.monthOfYear + - id: campaign_channels.category type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category meta: origin: originType: NATIVE originId: demo - - id: date.weekOfYear + - id: type type: attribute attributes: - title: Date - Week of Year - description: Generic Week (W1-W53) + title: Type + description: Type tags: - - Date - granularity: WEEK_OF_YEAR + - Campaign channels areRelationsValid: true + sourceColumn: type + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaign_channels type: dataset labels: data: - - id: date.weekOfYear + - id: type type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type meta: origin: originType: NATIVE originId: demo - - id: date.dayOfYear + - id: campaign_id type: attribute attributes: - title: Date - Day of Year - description: Generic Day of the Year (D1-D366) + title: Campaign id + description: Campaign id tags: - - Date - granularity: DAY_OF_YEAR + - Campaigns areRelationsValid: true + sourceColumn: campaign_id + sourceColumnDataType: INT relationships: dataset: data: - id: date + id: campaigns type: dataset labels: data: - - id: date.dayOfYear + - id: campaign_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id meta: origin: originType: NATIVE originId: demo - - id: date.dayOfMonth + - id: campaign_name type: attribute attributes: - title: Date - Day of Month - description: Generic Day of the Month (D1-D31) + title: Campaign name + description: Campaign name tags: - - Date - granularity: DAY_OF_MONTH + - Campaigns areRelationsValid: true + sourceColumn: campaign_name + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaigns type: dataset labels: data: - - id: date.dayOfMonth + - id: campaign_name type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name meta: origin: originType: NATIVE originId: demo - - id: date.dayOfWeek + - id: customer_id type: attribute attributes: - title: Date - Day of Week - description: Generic Day of the Week (D1-D7) + title: Customer id + description: Customer id tags: - - Date - granularity: DAY_OF_WEEK + - Customers areRelationsValid: true + sourceColumn: customer_id + sourceColumnDataType: INT relationships: dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.dayOfWeek + - id: customer_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id meta: origin: originType: NATIVE originId: demo - - id: date.hourOfDay + - id: customer_name type: attribute attributes: - title: Date - Hour of Day - description: Generic Hour of the Day(H1-H24) + title: Customer name + description: Customer name tags: - - Date - granularity: HOUR_OF_DAY + - Customers areRelationsValid: true + sourceColumn: customer_name + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.hourOfDay + - id: customer_name type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name meta: origin: originType: NATIVE originId: demo - - id: date.minuteOfHour + - id: region type: attribute attributes: - title: Date - Minute of Hour - description: Generic Minute of the Hour(MI1-MI60) + title: Region + description: Region tags: - - Date - granularity: MINUTE_OF_HOUR + - Customers areRelationsValid: true + sourceColumn: region + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.minuteOfHour + - id: region type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region meta: origin: originType: NATIVE originId: demo - - id: date.year + - id: state type: attribute attributes: - title: Date - Year - description: Year + title: State + description: State tags: - - Date - granularity: YEAR + - Customers areRelationsValid: true + sourceColumn: state + sourceColumnDataType: STRING relationships: + defaultView: + data: + id: state + type: label dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.year + - id: geo__state__location + type: label + - id: state type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state meta: origin: originType: NATIVE originId: demo - - id: date.quarter + - id: order_id type: attribute attributes: - title: Date - Quarter/Year - description: Quarter and Year (Q1/2020) + title: Order id + description: Order id tags: - - Date - granularity: QUARTER + - Order lines areRelationsValid: true + sourceColumn: order_id + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: order_lines type: dataset labels: data: - - id: date.quarter + - id: order_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id meta: origin: originType: NATIVE originId: demo - - id: date.month + - id: order_line_id type: attribute attributes: - title: Date - Month/Year - description: Month and Year (12/2020) + title: Order line id + description: Order line id tags: - - Date - granularity: MONTH + - Order lines areRelationsValid: true + sourceColumn: order_line_id + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: order_lines type: dataset labels: data: - - id: date.month + - id: order_line_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id meta: origin: originType: NATIVE originId: demo - - id: date.week + - id: order_status type: attribute attributes: - title: Date - Week/Year - description: Week and Year (W52/2020) + title: Order status + description: Order status tags: - - Date - granularity: WEEK + - Order lines areRelationsValid: true + sourceColumn: order_status + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: order_lines type: dataset labels: data: - - id: date.week + - id: order_status type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status meta: origin: originType: NATIVE originId: demo - - id: date.day + - id: product_id type: attribute attributes: - title: Date - Date - description: Date + title: Product id + description: Product id tags: - - Date - granularity: DAY + - Products areRelationsValid: true + sourceColumn: product_id + sourceColumnDataType: INT relationships: dataset: data: - id: date + id: products type: dataset labels: data: - - id: date.day + - id: product_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id meta: origin: originType: NATIVE originId: demo - - id: date.hour + - id: product_name type: attribute attributes: - title: Date - Hour - description: Hour + title: Product name + description: Product name tags: - - Date - granularity: HOUR + - Products areRelationsValid: true + sourceColumn: product_name + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: products type: dataset labels: data: - - id: date.hour + - id: product_name type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name meta: origin: originType: NATIVE originId: demo - - id: date.minute + - id: products.category type: attribute attributes: - title: Date - Minute - description: Minute + title: Category + description: Category tags: - - Date - granularity: MINUTE + - Products areRelationsValid: true + sourceColumn: category + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: products type: dataset labels: data: - - id: date.minute + - id: products.category type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category meta: origin: originType: NATIVE @@ -1024,51 +1024,59 @@ interactions: grain: - id: order_line_id type: attribute - order: 0 referenceProperties: - identifier: - id: products + id: date type: dataset multivalue: false + sources: null sourceColumns: - - product_id + - date sourceColumnDataTypes: - - INT + - DATE - identifier: id: customers type: dataset multivalue: false + sources: null sourceColumns: - customer_id sourceColumnDataTypes: - INT - identifier: - id: date + id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - - date + - campaign_id sourceColumnDataTypes: - - DATE + - INT - identifier: - id: campaigns + id: products type: dataset multivalue: false + sources: null sourceColumns: - - campaign_id + - product_id sourceColumnDataTypes: - INT dataSourceTableId: demo-test-ds:order_lines dataSourceTablePath: - demo - order_lines - workspaceDataFilterProperties: - - workspaceDataFilterIdentifier: + workspaceDataFilterColumns: + - name: wdf__state + dataType: STRING + - name: wdf__region + dataType: STRING + workspaceDataFilterReferences: + - filterId: id: wdf__state type: workspaceDataFilter filterColumn: wdf__state filterColumnDataType: STRING - - workspaceDataFilterIdentifier: + - filterId: id: wdf__region type: workspaceDataFilter filterColumn: wdf__region @@ -1110,12 +1118,12 @@ interactions: grain: - id: campaign_channel_id type: attribute - order: 0 referenceProperties: - identifier: id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - campaign_id sourceColumnDataTypes: @@ -1205,7 +1213,6 @@ interactions: grain: - id: campaign_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:campaigns dataSourceTablePath: - demo @@ -1262,7 +1269,6 @@ interactions: grain: - id: customer_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:customers dataSourceTablePath: - demo @@ -1388,7 +1394,6 @@ interactions: grain: - id: product_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:products dataSourceTablePath: - demo @@ -1492,8 +1497,8 @@ interactions: links: self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_id links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels,datasets&page=0&size=500 - next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels,datasets&page=1&size=500 + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&page=1&size=500 - request: method: GET uri: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500 @@ -1521,7 +1526,7 @@ interactions: Connection: - keep-alive Content-Length: - - '13953' + - '14899' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -1568,6 +1573,54 @@ interactions: body: string: data: + - id: date + type: dataset + attributes: + title: Date + description: '' + tags: + - Date + areRelationsValid: true + type: DATE + relationships: + attributes: + data: + - id: date.quarter + type: attribute + - id: date.minute + type: attribute + - id: date.hourOfDay + type: attribute + - id: date.minuteOfHour + type: attribute + - id: date.dayOfYear + type: attribute + - id: date.monthOfYear + type: attribute + - id: date.weekOfYear + type: attribute + - id: date.week + type: attribute + - id: date.year + type: attribute + - id: date.dayOfWeek + type: attribute + - id: date.hour + type: attribute + - id: date.dayOfMonth + type: attribute + - id: date.month + type: attribute + - id: date.quarterOfYear + type: attribute + - id: date.day + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date + meta: + origin: + originType: NATIVE + originId: demo - id: campaign_channels type: dataset attributes: @@ -1578,16 +1631,20 @@ interactions: grain: - id: campaign_channel_id type: attribute - order: 0 referenceProperties: - identifier: id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - campaign_id - sourceColumnDataTypes: null + sourceColumnDataTypes: + - INT dataSourceTableId: demo-test-ds:campaign_channels + dataSourceTablePath: + - demo + - campaign_channels areRelationsValid: true type: NORMAL relationships: @@ -1595,10 +1652,10 @@ interactions: data: - id: campaign_channel_id type: attribute - - id: type - type: attribute - id: campaign_channels.category type: attribute + - id: type + type: attribute facts: data: - id: budget @@ -1611,6 +1668,68 @@ interactions: origin: originType: NATIVE originId: demo + - id: campaigns + 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 + relationships: + attributes: + data: + - id: campaign_id + type: attribute + - id: campaign_name + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns + meta: + origin: + originType: NATIVE + originId: demo + - id: customers + 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 + relationships: + attributes: + data: + - id: customer_id + type: attribute + - id: state + type: attribute + - id: customer_name + type: attribute + - id: region + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers + meta: + origin: + originType: NATIVE + originId: demo - id: order_lines type: dataset attributes: @@ -1621,59 +1740,74 @@ interactions: grain: - id: order_line_id type: attribute - order: 0 referenceProperties: - identifier: - id: products + id: date type: dataset multivalue: false + sources: null sourceColumns: - - product_id - sourceColumnDataTypes: null + - date + sourceColumnDataTypes: + - DATE - identifier: id: customers type: dataset multivalue: false + sources: null sourceColumns: - customer_id - sourceColumnDataTypes: null + sourceColumnDataTypes: + - INT - identifier: - id: date + id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - - date - sourceColumnDataTypes: null + - campaign_id + sourceColumnDataTypes: + - INT - identifier: - id: campaigns + id: products type: dataset multivalue: false + sources: null sourceColumns: - - campaign_id - sourceColumnDataTypes: null + - product_id + sourceColumnDataTypes: + - INT dataSourceTableId: demo-test-ds:order_lines + dataSourceTablePath: + - demo + - order_lines areRelationsValid: true - workspaceDataFilterProperties: - - workspaceDataFilterIdentifier: - id: wdf__state - type: workspaceDataFilter - filterColumn: wdf__state - filterColumnDataType: STRING - - workspaceDataFilterIdentifier: + workspaceDataFilterColumns: + - name: wdf__state + dataType: STRING + - name: wdf__region + 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 relationships: attributes: data: - - id: order_status - type: attribute - id: order_id type: attribute - id: order_line_id type: attribute + - id: order_status + type: attribute facts: data: - id: price @@ -1696,18 +1830,20 @@ interactions: grain: - id: product_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:products + dataSourceTablePath: + - demo + - products areRelationsValid: true type: NORMAL relationships: attributes: data: - - id: product_name + - id: products.category type: attribute - id: product_id type: attribute - - id: products.category + - id: product_name type: attribute links: self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/products @@ -1715,112 +1851,6 @@ interactions: origin: originType: NATIVE originId: demo - - id: date - type: dataset - attributes: - title: Date - description: '' - tags: - - Date - areRelationsValid: true - type: DATE - relationships: - attributes: - data: - - id: date.quarterOfYear - type: attribute - - id: date.weekOfYear - type: attribute - - id: date.dayOfMonth - type: attribute - - id: date.monthOfYear - type: attribute - - id: date.minuteOfHour - type: attribute - - id: date.hour - type: attribute - - id: date.year - type: attribute - - id: date.week - type: attribute - - id: date.quarter - type: attribute - - id: date.dayOfYear - type: attribute - - id: date.dayOfWeek - type: attribute - - id: date.minute - type: attribute - - id: date.day - type: attribute - - id: date.month - type: attribute - - id: date.hourOfDay - type: attribute - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date - meta: - origin: - originType: NATIVE - originId: demo - - id: campaigns - type: dataset - attributes: - title: Campaigns - description: Campaigns - tags: - - Campaigns - grain: - - id: campaign_id - type: attribute - order: 0 - dataSourceTableId: demo-test-ds:campaigns - areRelationsValid: true - type: NORMAL - relationships: - attributes: - data: - - id: campaign_id - type: attribute - - id: campaign_name - type: attribute - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns - meta: - origin: - originType: NATIVE - originId: demo - - id: customers - type: dataset - attributes: - title: Customers - description: Customers - tags: - - Customers - grain: - - id: customer_id - type: attribute - order: 0 - dataSourceTableId: demo-test-ds:customers - areRelationsValid: true - type: NORMAL - relationships: - attributes: - data: - - id: region - type: attribute - - id: state - type: attribute - - id: customer_id - type: attribute - - id: customer_name - type: attribute - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers - meta: - origin: - originType: NATIVE - originId: demo included: - id: product_id type: attribute @@ -1830,6 +1860,7 @@ interactions: tags: - Products sourceColumn: product_id + sourceColumnDataType: INT links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id - id: budget @@ -1840,6 +1871,7 @@ interactions: tags: - Campaign channels sourceColumn: budget + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/budget - id: date.year @@ -1860,6 +1892,7 @@ interactions: tags: - Products sourceColumn: product_name + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name - id: date.month @@ -1880,6 +1913,7 @@ interactions: tags: - Products sourceColumn: category + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category - id: date.dayOfMonth @@ -1920,6 +1954,7 @@ interactions: tags: - Campaign channels sourceColumn: category + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category - id: date.minute @@ -1940,6 +1975,7 @@ interactions: tags: - Customers sourceColumn: state + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state - id: date.week @@ -1960,6 +1996,7 @@ interactions: tags: - Order lines sourceColumn: order_id + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id - id: date.hour @@ -1980,6 +2017,7 @@ interactions: tags: - Campaigns sourceColumn: campaign_name + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name - id: price @@ -1990,6 +2028,7 @@ interactions: tags: - Order lines sourceColumn: price + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/price - id: date.dayOfWeek @@ -2020,6 +2059,7 @@ interactions: tags: - Customers sourceColumn: region + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region - id: campaign_channel_id @@ -2030,6 +2070,7 @@ interactions: tags: - Campaign channels sourceColumn: campaign_channel_id + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id - id: customer_id @@ -2040,6 +2081,7 @@ interactions: tags: - Customers sourceColumn: customer_id + sourceColumnDataType: INT links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id - id: date.hourOfDay @@ -2060,6 +2102,7 @@ interactions: tags: - Order lines sourceColumn: quantity + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity - id: campaign_id @@ -2070,6 +2113,7 @@ interactions: tags: - Campaigns sourceColumn: campaign_id + sourceColumnDataType: INT links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id - id: type @@ -2080,6 +2124,7 @@ interactions: tags: - Campaign channels sourceColumn: type + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type - id: spend @@ -2090,6 +2135,7 @@ interactions: tags: - Campaign channels sourceColumn: spend + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/spend - id: date.dayOfYear @@ -2130,6 +2176,7 @@ interactions: tags: - Order lines sourceColumn: order_status + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status - id: date.monthOfYear @@ -2150,6 +2197,7 @@ interactions: tags: - Customers sourceColumn: customer_name + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name - id: order_line_id @@ -2160,11 +2208,12 @@ interactions: tags: - Order lines sourceColumn: order_line_id + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=0&size=500 - next: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=1&size=500 + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=1&size=500 - request: method: GET uri: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500 @@ -2192,7 +2241,7 @@ interactions: Connection: - keep-alive Content-Length: - - '9799' + - '10543' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -2244,6 +2293,7 @@ interactions: attributes: title: '# of Active Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0' maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) @@ -2258,6 +2308,7 @@ interactions: attributes: title: '# of Orders' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0' maql: SELECT COUNT({attribute/order_id}) @@ -2272,6 +2323,7 @@ interactions: attributes: title: '# of Top Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0' maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT @@ -2288,6 +2340,7 @@ interactions: title: '# of Valid Orders' description: '' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.00' maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} @@ -2303,6 +2356,7 @@ interactions: attributes: title: Campaign Spend areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT SUM({fact/spend}) @@ -2317,6 +2371,7 @@ interactions: attributes: title: Order Amount areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT SUM({fact/price}*{fact/quantity}) @@ -2331,6 +2386,7 @@ interactions: attributes: title: '% Revenue' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / {metric/total_revenue} @@ -2345,6 +2401,7 @@ interactions: attributes: title: '% Revenue from Top 10 Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ @@ -2360,6 +2417,7 @@ interactions: attributes: title: '% Revenue from Top 10% Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ @@ -2375,6 +2433,7 @@ interactions: attributes: title: '% Revenue from Top 10% Products' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ @@ -2390,6 +2449,7 @@ interactions: attributes: title: '% Revenue from Top 10 Products' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ @@ -2405,6 +2465,7 @@ interactions: attributes: title: '% Revenue in Category' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, @@ -2420,6 +2481,7 @@ interactions: attributes: title: '% Revenue per Product' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL @@ -2436,6 +2498,7 @@ interactions: title: Revenue description: '' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} @@ -2451,6 +2514,7 @@ interactions: attributes: title: Revenue (Clothing) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2466,6 +2530,7 @@ interactions: attributes: title: Revenue (Electronic) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2481,6 +2546,7 @@ interactions: attributes: title: Revenue (Home) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2496,6 +2562,7 @@ interactions: attributes: title: Revenue (Outdoor) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2511,6 +2578,7 @@ interactions: attributes: title: Revenue per Customer areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0.0 maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) @@ -2525,6 +2593,7 @@ interactions: attributes: title: Revenue per Dollar Spent areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0.0 maql: SELECT {metric/revenue} / {metric/campaign_spend} @@ -2539,6 +2608,7 @@ interactions: attributes: title: Revenue / Top 10 areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) @@ -2553,6 +2623,7 @@ interactions: attributes: title: Revenue / Top 10% areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) @@ -2567,6 +2638,7 @@ interactions: attributes: title: Total Revenue areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} BY ALL OTHER @@ -2581,6 +2653,7 @@ interactions: attributes: title: Total Revenue (No Filters) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER @@ -2595,7 +2668,7 @@ interactions: next: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=1&size=500 - request: method: GET - uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/2d4c4b9f90f0a1f06c1b75a210d3714421230bc1?offset=0%2C0&limit=1%2C1000 + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/1cd2fcf7d640b48e8ecc463047c5f3e3954adbd1?offset=0%2C0&limit=1%2C1000 body: null headers: Accept: diff --git a/gooddata-pandas/tests/series/fixtures/not_indexed_filtered_metric_series.yaml b/gooddata-pandas/tests/series/fixtures/not_indexed_filtered_metric_series.yaml index 2731f8076..8ba18ae80 100644 --- a/gooddata-pandas/tests/series/fixtures/not_indexed_filtered_metric_series.yaml +++ b/gooddata-pandas/tests/series/fixtures/not_indexed_filtered_metric_series.yaml @@ -105,7 +105,7 @@ interactions: - localIdentifier: 27c4b665b9d047b1a66a149714f1c596 localIdentifier: dim_0 links: - executionResult: 8d358a942a2a5294ead287237ae76b3ea0b8cf2c + executionResult: 51a3ee3938e1b5a98728506df8d8cf6805fff13c - request: method: GET uri: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&page=0&size=500 @@ -133,7 +133,7 @@ interactions: Connection: - keep-alive Content-Length: - - '27018' + - '27121' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -180,743 +180,743 @@ interactions: body: string: data: - - id: campaign_channels.category + - id: date.minute type: attribute attributes: - title: Category - description: Category + title: Date - Minute + description: Minute tags: - - Campaign channels + - Date + granularity: MINUTE areRelationsValid: true - sourceColumn: category - sourceColumnDataType: STRING relationships: dataset: data: - id: campaign_channels + id: date type: dataset labels: data: - - id: campaign_channels.category + - id: date.minute type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute meta: origin: originType: NATIVE originId: demo - - id: campaign_channel_id + - id: date.hour type: attribute attributes: - title: Campaign channel id - description: Campaign channel id + title: Date - Hour + description: Hour tags: - - Campaign channels + - Date + granularity: HOUR areRelationsValid: true - sourceColumn: campaign_channel_id - sourceColumnDataType: STRING relationships: dataset: data: - id: campaign_channels + id: date type: dataset labels: data: - - id: campaign_channel_id + - id: date.hour type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour meta: origin: originType: NATIVE originId: demo - - id: type + - id: date.day type: attribute attributes: - title: Type - description: Type + title: Date - Date + description: Date tags: - - Campaign channels + - Date + granularity: DAY areRelationsValid: true - sourceColumn: type - sourceColumnDataType: STRING relationships: dataset: data: - id: campaign_channels + id: date type: dataset labels: data: - - id: type + - id: date.day type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day meta: origin: originType: NATIVE originId: demo - - id: campaign_name + - id: date.week type: attribute attributes: - title: Campaign name - description: Campaign name + title: Date - Week/Year + description: Week and Year (W52/2020) tags: - - Campaigns + - Date + granularity: WEEK areRelationsValid: true - sourceColumn: campaign_name - sourceColumnDataType: STRING relationships: dataset: data: - id: campaigns + id: date type: dataset labels: data: - - id: campaign_name + - id: date.week type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week meta: origin: originType: NATIVE originId: demo - - id: campaign_id + - id: date.month type: attribute attributes: - title: Campaign id - description: Campaign id + title: Date - Month/Year + description: Month and Year (12/2020) tags: - - Campaigns + - Date + granularity: MONTH areRelationsValid: true - sourceColumn: campaign_id - sourceColumnDataType: INT relationships: dataset: data: - id: campaigns + id: date type: dataset labels: data: - - id: campaign_id + - id: date.month type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month meta: origin: originType: NATIVE originId: demo - - id: state + - id: date.quarter type: attribute attributes: - title: State - description: State + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) tags: - - Customers + - Date + granularity: QUARTER areRelationsValid: true - sourceColumn: state - sourceColumnDataType: STRING relationships: - defaultView: - data: - id: state - type: label dataset: data: - id: customers + id: date type: dataset labels: data: - - id: state - type: label - - id: geo__state__location + - id: date.quarter type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter meta: origin: originType: NATIVE originId: demo - - id: region + - id: date.year type: attribute attributes: - title: Region - description: Region + title: Date - Year + description: Year tags: - - Customers + - Date + granularity: YEAR areRelationsValid: true - sourceColumn: region - sourceColumnDataType: STRING relationships: dataset: data: - id: customers + id: date type: dataset labels: data: - - id: region + - id: date.year type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year meta: origin: originType: NATIVE originId: demo - - id: customer_name + - id: date.minuteOfHour type: attribute attributes: - title: Customer name - description: Customer name + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) tags: - - Customers + - Date + granularity: MINUTE_OF_HOUR areRelationsValid: true - sourceColumn: customer_name - sourceColumnDataType: STRING relationships: dataset: data: - id: customers + id: date type: dataset labels: data: - - id: customer_name + - id: date.minuteOfHour type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour meta: origin: originType: NATIVE originId: demo - - id: customer_id + - id: date.hourOfDay type: attribute attributes: - title: Customer id - description: Customer id + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) tags: - - Customers + - Date + granularity: HOUR_OF_DAY areRelationsValid: true - sourceColumn: customer_id - sourceColumnDataType: INT relationships: dataset: data: - id: customers + id: date type: dataset labels: data: - - id: customer_id + - id: date.hourOfDay type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay meta: origin: originType: NATIVE originId: demo - - id: order_status + - id: date.dayOfWeek type: attribute attributes: - title: Order status - description: Order status + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) tags: - - Order lines + - Date + granularity: DAY_OF_WEEK areRelationsValid: true - sourceColumn: order_status - sourceColumnDataType: STRING relationships: dataset: data: - id: order_lines + id: date type: dataset labels: data: - - id: order_status + - id: date.dayOfWeek type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek meta: origin: originType: NATIVE originId: demo - - id: order_line_id + - id: date.dayOfMonth type: attribute attributes: - title: Order line id - description: Order line id + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) tags: - - Order lines + - Date + granularity: DAY_OF_MONTH areRelationsValid: true - sourceColumn: order_line_id - sourceColumnDataType: STRING relationships: dataset: data: - id: order_lines + id: date type: dataset labels: data: - - id: order_line_id + - id: date.dayOfMonth type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth meta: origin: originType: NATIVE originId: demo - - id: order_id + - id: date.dayOfYear type: attribute attributes: - title: Order id - description: Order id + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) tags: - - Order lines + - Date + granularity: DAY_OF_YEAR areRelationsValid: true - sourceColumn: order_id - sourceColumnDataType: STRING relationships: dataset: data: - id: order_lines + id: date type: dataset labels: data: - - id: order_id + - id: date.dayOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear meta: origin: originType: NATIVE originId: demo - - id: product_name + - id: date.weekOfYear type: attribute attributes: - title: Product name - description: Product name + title: Date - Week of Year + description: Generic Week (W1-W53) tags: - - Products + - Date + granularity: WEEK_OF_YEAR areRelationsValid: true - sourceColumn: product_name - sourceColumnDataType: STRING relationships: dataset: data: - id: products + id: date type: dataset labels: data: - - id: product_name + - id: date.weekOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear meta: origin: originType: NATIVE originId: demo - - id: product_id + - id: date.monthOfYear type: attribute attributes: - title: Product id - description: Product id + title: Date - Month of Year + description: Generic Month (M1-M12) tags: - - Products + - Date + granularity: MONTH_OF_YEAR areRelationsValid: true - sourceColumn: product_id - sourceColumnDataType: INT relationships: dataset: data: - id: products + id: date type: dataset labels: data: - - id: product_id + - id: date.monthOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear meta: origin: originType: NATIVE originId: demo - - id: products.category + - id: date.quarterOfYear type: attribute attributes: - title: Category - description: Category + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) tags: - - Products + - Date + granularity: QUARTER_OF_YEAR areRelationsValid: true - sourceColumn: category - sourceColumnDataType: STRING relationships: dataset: data: - id: products + id: date type: dataset labels: data: - - id: products.category + - id: date.quarterOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear meta: origin: originType: NATIVE originId: demo - - id: date.quarterOfYear + - id: campaign_channel_id type: attribute attributes: - title: Date - Quarter of Year - description: Generic Quarter (Q1-Q4) + title: Campaign channel id + description: Campaign channel id tags: - - Date - granularity: QUARTER_OF_YEAR + - Campaign channels areRelationsValid: true + sourceColumn: campaign_channel_id + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaign_channels type: dataset labels: data: - - id: date.quarterOfYear + - id: campaign_channel_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id meta: origin: originType: NATIVE originId: demo - - id: date.monthOfYear + - id: campaign_channels.category type: attribute attributes: - title: Date - Month of Year - description: Generic Month (M1-M12) + title: Category + description: Category tags: - - Date - granularity: MONTH_OF_YEAR + - Campaign channels areRelationsValid: true + sourceColumn: category + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaign_channels type: dataset labels: data: - - id: date.monthOfYear + - id: campaign_channels.category type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category meta: origin: originType: NATIVE originId: demo - - id: date.weekOfYear + - id: type type: attribute attributes: - title: Date - Week of Year - description: Generic Week (W1-W53) + title: Type + description: Type tags: - - Date - granularity: WEEK_OF_YEAR + - Campaign channels areRelationsValid: true + sourceColumn: type + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaign_channels type: dataset labels: data: - - id: date.weekOfYear + - id: type type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type meta: origin: originType: NATIVE originId: demo - - id: date.dayOfYear + - id: campaign_id type: attribute attributes: - title: Date - Day of Year - description: Generic Day of the Year (D1-D366) + title: Campaign id + description: Campaign id tags: - - Date - granularity: DAY_OF_YEAR + - Campaigns areRelationsValid: true + sourceColumn: campaign_id + sourceColumnDataType: INT relationships: dataset: data: - id: date + id: campaigns type: dataset labels: data: - - id: date.dayOfYear + - id: campaign_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id meta: origin: originType: NATIVE originId: demo - - id: date.dayOfMonth + - id: campaign_name type: attribute attributes: - title: Date - Day of Month - description: Generic Day of the Month (D1-D31) + title: Campaign name + description: Campaign name tags: - - Date - granularity: DAY_OF_MONTH + - Campaigns areRelationsValid: true + sourceColumn: campaign_name + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaigns type: dataset labels: data: - - id: date.dayOfMonth + - id: campaign_name type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name meta: origin: originType: NATIVE originId: demo - - id: date.dayOfWeek + - id: customer_id type: attribute attributes: - title: Date - Day of Week - description: Generic Day of the Week (D1-D7) + title: Customer id + description: Customer id tags: - - Date - granularity: DAY_OF_WEEK + - Customers areRelationsValid: true + sourceColumn: customer_id + sourceColumnDataType: INT relationships: dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.dayOfWeek + - id: customer_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id meta: origin: originType: NATIVE originId: demo - - id: date.hourOfDay + - id: customer_name type: attribute attributes: - title: Date - Hour of Day - description: Generic Hour of the Day(H1-H24) + title: Customer name + description: Customer name tags: - - Date - granularity: HOUR_OF_DAY + - Customers areRelationsValid: true + sourceColumn: customer_name + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.hourOfDay + - id: customer_name type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name meta: origin: originType: NATIVE originId: demo - - id: date.minuteOfHour + - id: region type: attribute attributes: - title: Date - Minute of Hour - description: Generic Minute of the Hour(MI1-MI60) + title: Region + description: Region tags: - - Date - granularity: MINUTE_OF_HOUR + - Customers areRelationsValid: true + sourceColumn: region + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.minuteOfHour + - id: region type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region meta: origin: originType: NATIVE originId: demo - - id: date.year + - id: state type: attribute attributes: - title: Date - Year - description: Year - tags: - - Date - granularity: YEAR + title: State + description: State + tags: + - Customers areRelationsValid: true + sourceColumn: state + sourceColumnDataType: STRING relationships: + defaultView: + data: + id: state + type: label dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.year + - id: geo__state__location + type: label + - id: state type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state meta: origin: originType: NATIVE originId: demo - - id: date.quarter + - id: order_id type: attribute attributes: - title: Date - Quarter/Year - description: Quarter and Year (Q1/2020) + title: Order id + description: Order id tags: - - Date - granularity: QUARTER + - Order lines areRelationsValid: true + sourceColumn: order_id + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: order_lines type: dataset labels: data: - - id: date.quarter + - id: order_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id meta: origin: originType: NATIVE originId: demo - - id: date.month + - id: order_line_id type: attribute attributes: - title: Date - Month/Year - description: Month and Year (12/2020) + title: Order line id + description: Order line id tags: - - Date - granularity: MONTH + - Order lines areRelationsValid: true + sourceColumn: order_line_id + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: order_lines type: dataset labels: data: - - id: date.month + - id: order_line_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id meta: origin: originType: NATIVE originId: demo - - id: date.week + - id: order_status type: attribute attributes: - title: Date - Week/Year - description: Week and Year (W52/2020) + title: Order status + description: Order status tags: - - Date - granularity: WEEK + - Order lines areRelationsValid: true + sourceColumn: order_status + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: order_lines type: dataset labels: data: - - id: date.week + - id: order_status type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status meta: origin: originType: NATIVE originId: demo - - id: date.day + - id: product_id type: attribute attributes: - title: Date - Date - description: Date + title: Product id + description: Product id tags: - - Date - granularity: DAY + - Products areRelationsValid: true + sourceColumn: product_id + sourceColumnDataType: INT relationships: dataset: data: - id: date + id: products type: dataset labels: data: - - id: date.day + - id: product_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id meta: origin: originType: NATIVE originId: demo - - id: date.hour + - id: product_name type: attribute attributes: - title: Date - Hour - description: Hour + title: Product name + description: Product name tags: - - Date - granularity: HOUR + - Products areRelationsValid: true + sourceColumn: product_name + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: products type: dataset labels: data: - - id: date.hour + - id: product_name type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name meta: origin: originType: NATIVE originId: demo - - id: date.minute + - id: products.category type: attribute attributes: - title: Date - Minute - description: Minute + title: Category + description: Category tags: - - Date - granularity: MINUTE + - Products areRelationsValid: true + sourceColumn: category + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: products type: dataset labels: data: - - id: date.minute + - id: products.category type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category meta: origin: originType: NATIVE @@ -980,51 +980,59 @@ interactions: grain: - id: order_line_id type: attribute - order: 0 referenceProperties: - identifier: - id: products + id: date type: dataset multivalue: false + sources: null sourceColumns: - - product_id + - date sourceColumnDataTypes: - - INT + - DATE - identifier: id: customers type: dataset multivalue: false + sources: null sourceColumns: - customer_id sourceColumnDataTypes: - INT - identifier: - id: date + id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - - date + - campaign_id sourceColumnDataTypes: - - DATE + - INT - identifier: - id: campaigns + id: products type: dataset multivalue: false + sources: null sourceColumns: - - campaign_id + - product_id sourceColumnDataTypes: - INT dataSourceTableId: demo-test-ds:order_lines dataSourceTablePath: - demo - order_lines - workspaceDataFilterProperties: - - workspaceDataFilterIdentifier: + workspaceDataFilterColumns: + - name: wdf__state + dataType: STRING + - name: wdf__region + dataType: STRING + workspaceDataFilterReferences: + - filterId: id: wdf__state type: workspaceDataFilter filterColumn: wdf__state filterColumnDataType: STRING - - workspaceDataFilterIdentifier: + - filterId: id: wdf__region type: workspaceDataFilter filterColumn: wdf__region @@ -1066,12 +1074,12 @@ interactions: grain: - id: campaign_channel_id type: attribute - order: 0 referenceProperties: - identifier: id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - campaign_id sourceColumnDataTypes: @@ -1161,7 +1169,6 @@ interactions: grain: - id: campaign_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:campaigns dataSourceTablePath: - demo @@ -1218,7 +1225,6 @@ interactions: grain: - id: customer_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:customers dataSourceTablePath: - demo @@ -1344,7 +1350,6 @@ interactions: grain: - id: product_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:products dataSourceTablePath: - demo @@ -1448,8 +1453,8 @@ interactions: links: self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_id links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels,datasets&page=0&size=500 - next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels,datasets&page=1&size=500 + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&page=1&size=500 - request: method: GET uri: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500 @@ -1477,7 +1482,7 @@ interactions: Connection: - keep-alive Content-Length: - - '13953' + - '14899' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -1524,6 +1529,54 @@ interactions: body: string: data: + - id: date + type: dataset + attributes: + title: Date + description: '' + tags: + - Date + areRelationsValid: true + type: DATE + relationships: + attributes: + data: + - id: date.quarter + type: attribute + - id: date.minute + type: attribute + - id: date.hourOfDay + type: attribute + - id: date.minuteOfHour + type: attribute + - id: date.dayOfYear + type: attribute + - id: date.monthOfYear + type: attribute + - id: date.weekOfYear + type: attribute + - id: date.week + type: attribute + - id: date.year + type: attribute + - id: date.dayOfWeek + type: attribute + - id: date.hour + type: attribute + - id: date.dayOfMonth + type: attribute + - id: date.month + type: attribute + - id: date.quarterOfYear + type: attribute + - id: date.day + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date + meta: + origin: + originType: NATIVE + originId: demo - id: campaign_channels type: dataset attributes: @@ -1534,35 +1587,101 @@ interactions: grain: - id: campaign_channel_id type: attribute - order: 0 - referenceProperties: - - identifier: - id: campaigns - type: dataset - multivalue: false - sourceColumns: - - campaign_id - sourceColumnDataTypes: null - dataSourceTableId: demo-test-ds:campaign_channels + referenceProperties: + - identifier: + id: campaigns + type: dataset + multivalue: false + sources: null + sourceColumns: + - campaign_id + sourceColumnDataTypes: + - INT + dataSourceTableId: demo-test-ds:campaign_channels + dataSourceTablePath: + - demo + - campaign_channels + areRelationsValid: true + type: NORMAL + 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 + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaign_channels + meta: + origin: + originType: NATIVE + originId: demo + - id: campaigns + 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 + relationships: + attributes: + data: + - id: campaign_id + type: attribute + - id: campaign_name + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns + meta: + origin: + originType: NATIVE + originId: demo + - id: customers + 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 relationships: attributes: data: - - id: campaign_channel_id + - id: customer_id type: attribute - - id: type + - id: state type: attribute - - id: campaign_channels.category + - id: customer_name + type: attribute + - id: region type: attribute - facts: - data: - - id: budget - type: fact - - id: spend - type: fact links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaign_channels + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers meta: origin: originType: NATIVE @@ -1577,59 +1696,74 @@ interactions: grain: - id: order_line_id type: attribute - order: 0 referenceProperties: - identifier: - id: products + id: date type: dataset multivalue: false + sources: null sourceColumns: - - product_id - sourceColumnDataTypes: null + - date + sourceColumnDataTypes: + - DATE - identifier: id: customers type: dataset multivalue: false + sources: null sourceColumns: - customer_id - sourceColumnDataTypes: null + sourceColumnDataTypes: + - INT - identifier: - id: date + id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - - date - sourceColumnDataTypes: null + - campaign_id + sourceColumnDataTypes: + - INT - identifier: - id: campaigns + id: products type: dataset multivalue: false + sources: null sourceColumns: - - campaign_id - sourceColumnDataTypes: null + - product_id + sourceColumnDataTypes: + - INT dataSourceTableId: demo-test-ds:order_lines + dataSourceTablePath: + - demo + - order_lines areRelationsValid: true - workspaceDataFilterProperties: - - workspaceDataFilterIdentifier: - id: wdf__state - type: workspaceDataFilter - filterColumn: wdf__state - filterColumnDataType: STRING - - workspaceDataFilterIdentifier: + workspaceDataFilterColumns: + - name: wdf__state + dataType: STRING + - name: wdf__region + 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 relationships: attributes: data: - - id: order_status - type: attribute - id: order_id type: attribute - id: order_line_id type: attribute + - id: order_status + type: attribute facts: data: - id: price @@ -1652,18 +1786,20 @@ interactions: grain: - id: product_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:products + dataSourceTablePath: + - demo + - products areRelationsValid: true type: NORMAL relationships: attributes: data: - - id: product_name + - id: products.category type: attribute - id: product_id type: attribute - - id: products.category + - id: product_name type: attribute links: self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/products @@ -1671,112 +1807,6 @@ interactions: origin: originType: NATIVE originId: demo - - id: date - type: dataset - attributes: - title: Date - description: '' - tags: - - Date - areRelationsValid: true - type: DATE - relationships: - attributes: - data: - - id: date.quarterOfYear - type: attribute - - id: date.weekOfYear - type: attribute - - id: date.dayOfMonth - type: attribute - - id: date.monthOfYear - type: attribute - - id: date.minuteOfHour - type: attribute - - id: date.hour - type: attribute - - id: date.year - type: attribute - - id: date.week - type: attribute - - id: date.quarter - type: attribute - - id: date.dayOfYear - type: attribute - - id: date.dayOfWeek - type: attribute - - id: date.minute - type: attribute - - id: date.day - type: attribute - - id: date.month - type: attribute - - id: date.hourOfDay - type: attribute - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date - meta: - origin: - originType: NATIVE - originId: demo - - id: campaigns - type: dataset - attributes: - title: Campaigns - description: Campaigns - tags: - - Campaigns - grain: - - id: campaign_id - type: attribute - order: 0 - dataSourceTableId: demo-test-ds:campaigns - areRelationsValid: true - type: NORMAL - relationships: - attributes: - data: - - id: campaign_id - type: attribute - - id: campaign_name - type: attribute - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns - meta: - origin: - originType: NATIVE - originId: demo - - id: customers - type: dataset - attributes: - title: Customers - description: Customers - tags: - - Customers - grain: - - id: customer_id - type: attribute - order: 0 - dataSourceTableId: demo-test-ds:customers - areRelationsValid: true - type: NORMAL - relationships: - attributes: - data: - - id: region - type: attribute - - id: state - type: attribute - - id: customer_id - type: attribute - - id: customer_name - type: attribute - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers - meta: - origin: - originType: NATIVE - originId: demo included: - id: product_id type: attribute @@ -1786,6 +1816,7 @@ interactions: tags: - Products sourceColumn: product_id + sourceColumnDataType: INT links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id - id: budget @@ -1796,6 +1827,7 @@ interactions: tags: - Campaign channels sourceColumn: budget + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/budget - id: date.year @@ -1816,6 +1848,7 @@ interactions: tags: - Products sourceColumn: product_name + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name - id: date.month @@ -1836,6 +1869,7 @@ interactions: tags: - Products sourceColumn: category + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category - id: date.dayOfMonth @@ -1876,6 +1910,7 @@ interactions: tags: - Campaign channels sourceColumn: category + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category - id: date.minute @@ -1896,6 +1931,7 @@ interactions: tags: - Customers sourceColumn: state + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state - id: date.week @@ -1916,6 +1952,7 @@ interactions: tags: - Order lines sourceColumn: order_id + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id - id: date.hour @@ -1936,6 +1973,7 @@ interactions: tags: - Campaigns sourceColumn: campaign_name + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name - id: price @@ -1946,6 +1984,7 @@ interactions: tags: - Order lines sourceColumn: price + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/price - id: date.dayOfWeek @@ -1976,6 +2015,7 @@ interactions: tags: - Customers sourceColumn: region + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region - id: campaign_channel_id @@ -1986,6 +2026,7 @@ interactions: tags: - Campaign channels sourceColumn: campaign_channel_id + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id - id: customer_id @@ -1996,6 +2037,7 @@ interactions: tags: - Customers sourceColumn: customer_id + sourceColumnDataType: INT links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id - id: date.hourOfDay @@ -2016,6 +2058,7 @@ interactions: tags: - Order lines sourceColumn: quantity + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity - id: campaign_id @@ -2026,6 +2069,7 @@ interactions: tags: - Campaigns sourceColumn: campaign_id + sourceColumnDataType: INT links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id - id: type @@ -2036,6 +2080,7 @@ interactions: tags: - Campaign channels sourceColumn: type + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type - id: spend @@ -2046,6 +2091,7 @@ interactions: tags: - Campaign channels sourceColumn: spend + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/spend - id: date.dayOfYear @@ -2086,6 +2132,7 @@ interactions: tags: - Order lines sourceColumn: order_status + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status - id: date.monthOfYear @@ -2106,6 +2153,7 @@ interactions: tags: - Customers sourceColumn: customer_name + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name - id: order_line_id @@ -2116,11 +2164,12 @@ interactions: tags: - Order lines sourceColumn: order_line_id + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=0&size=500 - next: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=1&size=500 + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=1&size=500 - request: method: GET uri: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500 @@ -2148,7 +2197,7 @@ interactions: Connection: - keep-alive Content-Length: - - '9799' + - '10543' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -2200,6 +2249,7 @@ interactions: attributes: title: '# of Active Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0' maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) @@ -2214,6 +2264,7 @@ interactions: attributes: title: '# of Orders' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0' maql: SELECT COUNT({attribute/order_id}) @@ -2228,6 +2279,7 @@ interactions: attributes: title: '# of Top Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0' maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT @@ -2244,6 +2296,7 @@ interactions: title: '# of Valid Orders' description: '' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.00' maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} @@ -2259,6 +2312,7 @@ interactions: attributes: title: Campaign Spend areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT SUM({fact/spend}) @@ -2273,6 +2327,7 @@ interactions: attributes: title: Order Amount areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT SUM({fact/price}*{fact/quantity}) @@ -2287,6 +2342,7 @@ interactions: attributes: title: '% Revenue' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / {metric/total_revenue} @@ -2301,6 +2357,7 @@ interactions: attributes: title: '% Revenue from Top 10 Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ @@ -2316,6 +2373,7 @@ interactions: attributes: title: '% Revenue from Top 10% Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ @@ -2331,6 +2389,7 @@ interactions: attributes: title: '% Revenue from Top 10% Products' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ @@ -2346,6 +2405,7 @@ interactions: attributes: title: '% Revenue from Top 10 Products' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ @@ -2361,6 +2421,7 @@ interactions: attributes: title: '% Revenue in Category' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, @@ -2376,6 +2437,7 @@ interactions: attributes: title: '% Revenue per Product' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL @@ -2392,6 +2454,7 @@ interactions: title: Revenue description: '' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} @@ -2407,6 +2470,7 @@ interactions: attributes: title: Revenue (Clothing) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2422,6 +2486,7 @@ interactions: attributes: title: Revenue (Electronic) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2437,6 +2502,7 @@ interactions: attributes: title: Revenue (Home) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2452,6 +2518,7 @@ interactions: attributes: title: Revenue (Outdoor) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2467,6 +2534,7 @@ interactions: attributes: title: Revenue per Customer areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0.0 maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) @@ -2481,6 +2549,7 @@ interactions: attributes: title: Revenue per Dollar Spent areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0.0 maql: SELECT {metric/revenue} / {metric/campaign_spend} @@ -2495,6 +2564,7 @@ interactions: attributes: title: Revenue / Top 10 areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) @@ -2509,6 +2579,7 @@ interactions: attributes: title: Revenue / Top 10% areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) @@ -2523,6 +2594,7 @@ interactions: attributes: title: Total Revenue areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} BY ALL OTHER @@ -2537,6 +2609,7 @@ interactions: attributes: title: Total Revenue (No Filters) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER @@ -2551,7 +2624,7 @@ interactions: next: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=1&size=500 - request: method: GET - uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/8d358a942a2a5294ead287237ae76b3ea0b8cf2c?offset=0&limit=1 + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/51a3ee3938e1b5a98728506df8d8cf6805fff13c?offset=0&limit=1 body: null headers: Accept: @@ -2750,7 +2823,7 @@ interactions: - localIdentifier: 27c4b665b9d047b1a66a149714f1c596 localIdentifier: dim_0 links: - executionResult: 46e8f219dcb6488071ab8385c04eabe4ebaecf12 + executionResult: b0dd7e3be2da99d9cd8214f6730860a032a4a013 - request: method: GET uri: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&page=0&size=500 @@ -2778,7 +2851,7 @@ interactions: Connection: - keep-alive Content-Length: - - '27018' + - '27121' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -2825,383 +2898,338 @@ interactions: body: string: data: - - id: campaign_channels.category - type: attribute - attributes: - title: Category - description: Category - tags: - - Campaign channels - areRelationsValid: true - sourceColumn: category - sourceColumnDataType: STRING - relationships: - dataset: - data: - id: campaign_channels - type: dataset - labels: - data: - - id: campaign_channels.category - type: label - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category - meta: - origin: - originType: NATIVE - originId: demo - - id: campaign_channel_id + - id: date.minute type: attribute attributes: - title: Campaign channel id - description: Campaign channel id + title: Date - Minute + description: Minute tags: - - Campaign channels + - Date + granularity: MINUTE areRelationsValid: true - sourceColumn: campaign_channel_id - sourceColumnDataType: STRING relationships: dataset: data: - id: campaign_channels + id: date type: dataset labels: data: - - id: campaign_channel_id + - id: date.minute type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute meta: origin: originType: NATIVE originId: demo - - id: type + - id: date.hour type: attribute attributes: - title: Type - description: Type + title: Date - Hour + description: Hour tags: - - Campaign channels + - Date + granularity: HOUR areRelationsValid: true - sourceColumn: type - sourceColumnDataType: STRING relationships: dataset: data: - id: campaign_channels + id: date type: dataset labels: data: - - id: type + - id: date.hour type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour meta: origin: originType: NATIVE originId: demo - - id: campaign_name + - id: date.day type: attribute attributes: - title: Campaign name - description: Campaign name + title: Date - Date + description: Date tags: - - Campaigns + - Date + granularity: DAY areRelationsValid: true - sourceColumn: campaign_name - sourceColumnDataType: STRING relationships: dataset: data: - id: campaigns + id: date type: dataset labels: data: - - id: campaign_name + - id: date.day type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day meta: origin: originType: NATIVE originId: demo - - id: campaign_id + - id: date.week type: attribute attributes: - title: Campaign id - description: Campaign id + title: Date - Week/Year + description: Week and Year (W52/2020) tags: - - Campaigns + - Date + granularity: WEEK areRelationsValid: true - sourceColumn: campaign_id - sourceColumnDataType: INT relationships: dataset: data: - id: campaigns + id: date type: dataset labels: data: - - id: campaign_id + - id: date.week type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week meta: origin: originType: NATIVE originId: demo - - id: state + - id: date.month type: attribute attributes: - title: State - description: State + title: Date - Month/Year + description: Month and Year (12/2020) tags: - - Customers + - Date + granularity: MONTH areRelationsValid: true - sourceColumn: state - sourceColumnDataType: STRING relationships: - defaultView: - data: - id: state - type: label dataset: data: - id: customers + id: date type: dataset labels: data: - - id: state - type: label - - id: geo__state__location + - id: date.month type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month meta: origin: originType: NATIVE originId: demo - - id: region + - id: date.quarter type: attribute attributes: - title: Region - description: Region + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) tags: - - Customers + - Date + granularity: QUARTER areRelationsValid: true - sourceColumn: region - sourceColumnDataType: STRING relationships: dataset: data: - id: customers + id: date type: dataset labels: data: - - id: region + - id: date.quarter type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter meta: origin: originType: NATIVE originId: demo - - id: customer_name + - id: date.year type: attribute attributes: - title: Customer name - description: Customer name + title: Date - Year + description: Year tags: - - Customers + - Date + granularity: YEAR areRelationsValid: true - sourceColumn: customer_name - sourceColumnDataType: STRING relationships: dataset: data: - id: customers + id: date type: dataset labels: data: - - id: customer_name + - id: date.year type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year meta: origin: originType: NATIVE originId: demo - - id: customer_id + - id: date.minuteOfHour type: attribute attributes: - title: Customer id - description: Customer id + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) tags: - - Customers + - Date + granularity: MINUTE_OF_HOUR areRelationsValid: true - sourceColumn: customer_id - sourceColumnDataType: INT relationships: dataset: data: - id: customers + id: date type: dataset labels: data: - - id: customer_id + - id: date.minuteOfHour type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour meta: origin: originType: NATIVE originId: demo - - id: order_status + - id: date.hourOfDay type: attribute attributes: - title: Order status - description: Order status + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) tags: - - Order lines + - Date + granularity: HOUR_OF_DAY areRelationsValid: true - sourceColumn: order_status - sourceColumnDataType: STRING relationships: dataset: data: - id: order_lines + id: date type: dataset labels: data: - - id: order_status + - id: date.hourOfDay type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay meta: origin: originType: NATIVE originId: demo - - id: order_line_id + - id: date.dayOfWeek type: attribute attributes: - title: Order line id - description: Order line id + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) tags: - - Order lines + - Date + granularity: DAY_OF_WEEK areRelationsValid: true - sourceColumn: order_line_id - sourceColumnDataType: STRING relationships: dataset: data: - id: order_lines + id: date type: dataset labels: data: - - id: order_line_id + - id: date.dayOfWeek type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek meta: origin: originType: NATIVE originId: demo - - id: order_id + - id: date.dayOfMonth type: attribute attributes: - title: Order id - description: Order id + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) tags: - - Order lines + - Date + granularity: DAY_OF_MONTH areRelationsValid: true - sourceColumn: order_id - sourceColumnDataType: STRING relationships: dataset: data: - id: order_lines + id: date type: dataset labels: data: - - id: order_id + - id: date.dayOfMonth type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth meta: origin: originType: NATIVE originId: demo - - id: product_name + - id: date.dayOfYear type: attribute attributes: - title: Product name - description: Product name + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) tags: - - Products + - Date + granularity: DAY_OF_YEAR areRelationsValid: true - sourceColumn: product_name - sourceColumnDataType: STRING relationships: dataset: data: - id: products + id: date type: dataset labels: data: - - id: product_name + - id: date.dayOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear meta: origin: originType: NATIVE originId: demo - - id: product_id + - id: date.weekOfYear type: attribute attributes: - title: Product id - description: Product id + title: Date - Week of Year + description: Generic Week (W1-W53) tags: - - Products + - Date + granularity: WEEK_OF_YEAR areRelationsValid: true - sourceColumn: product_id - sourceColumnDataType: INT relationships: dataset: data: - id: products + id: date type: dataset labels: data: - - id: product_id + - id: date.weekOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear meta: origin: originType: NATIVE originId: demo - - id: products.category + - id: date.monthOfYear type: attribute attributes: - title: Category - description: Category + title: Date - Month of Year + description: Generic Month (M1-M12) tags: - - Products + - Date + granularity: MONTH_OF_YEAR areRelationsValid: true - sourceColumn: category - sourceColumnDataType: STRING relationships: dataset: data: - id: products + id: date type: dataset labels: data: - - id: products.category + - id: date.monthOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear meta: origin: originType: NATIVE @@ -3230,338 +3258,383 @@ interactions: origin: originType: NATIVE originId: demo - - id: date.monthOfYear + - id: campaign_channel_id type: attribute attributes: - title: Date - Month of Year - description: Generic Month (M1-M12) + title: Campaign channel id + description: Campaign channel id tags: - - Date - granularity: MONTH_OF_YEAR + - Campaign channels areRelationsValid: true + sourceColumn: campaign_channel_id + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaign_channels type: dataset labels: data: - - id: date.monthOfYear + - id: campaign_channel_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id meta: origin: originType: NATIVE originId: demo - - id: date.weekOfYear + - id: campaign_channels.category type: attribute attributes: - title: Date - Week of Year - description: Generic Week (W1-W53) + title: Category + description: Category tags: - - Date - granularity: WEEK_OF_YEAR + - Campaign channels + areRelationsValid: true + sourceColumn: category + sourceColumnDataType: STRING + relationships: + dataset: + data: + id: campaign_channels + type: dataset + labels: + data: + - id: campaign_channels.category + type: label + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category + meta: + origin: + originType: NATIVE + originId: demo + - id: type + type: attribute + attributes: + title: Type + description: Type + tags: + - Campaign channels areRelationsValid: true + sourceColumn: type + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaign_channels type: dataset labels: data: - - id: date.weekOfYear + - id: type type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type meta: origin: originType: NATIVE originId: demo - - id: date.dayOfYear + - id: campaign_id type: attribute attributes: - title: Date - Day of Year - description: Generic Day of the Year (D1-D366) + title: Campaign id + description: Campaign id tags: - - Date - granularity: DAY_OF_YEAR + - Campaigns areRelationsValid: true + sourceColumn: campaign_id + sourceColumnDataType: INT relationships: dataset: data: - id: date + id: campaigns type: dataset labels: data: - - id: date.dayOfYear + - id: campaign_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id meta: origin: originType: NATIVE originId: demo - - id: date.dayOfMonth + - id: campaign_name type: attribute attributes: - title: Date - Day of Month - description: Generic Day of the Month (D1-D31) + title: Campaign name + description: Campaign name tags: - - Date - granularity: DAY_OF_MONTH + - Campaigns areRelationsValid: true + sourceColumn: campaign_name + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaigns type: dataset labels: data: - - id: date.dayOfMonth + - id: campaign_name type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name meta: origin: originType: NATIVE originId: demo - - id: date.dayOfWeek + - id: customer_id type: attribute attributes: - title: Date - Day of Week - description: Generic Day of the Week (D1-D7) + title: Customer id + description: Customer id tags: - - Date - granularity: DAY_OF_WEEK + - Customers areRelationsValid: true + sourceColumn: customer_id + sourceColumnDataType: INT relationships: dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.dayOfWeek + - id: customer_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id meta: origin: originType: NATIVE originId: demo - - id: date.hourOfDay + - id: customer_name type: attribute attributes: - title: Date - Hour of Day - description: Generic Hour of the Day(H1-H24) + title: Customer name + description: Customer name tags: - - Date - granularity: HOUR_OF_DAY + - Customers areRelationsValid: true + sourceColumn: customer_name + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.hourOfDay + - id: customer_name type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name meta: origin: originType: NATIVE originId: demo - - id: date.minuteOfHour + - id: region type: attribute attributes: - title: Date - Minute of Hour - description: Generic Minute of the Hour(MI1-MI60) + title: Region + description: Region tags: - - Date - granularity: MINUTE_OF_HOUR + - Customers areRelationsValid: true + sourceColumn: region + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.minuteOfHour + - id: region type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region meta: origin: originType: NATIVE originId: demo - - id: date.year + - id: state type: attribute attributes: - title: Date - Year - description: Year + title: State + description: State tags: - - Date - granularity: YEAR + - Customers areRelationsValid: true + sourceColumn: state + sourceColumnDataType: STRING relationships: + defaultView: + data: + id: state + type: label dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.year + - id: geo__state__location + type: label + - id: state type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state meta: origin: originType: NATIVE originId: demo - - id: date.quarter + - id: order_id type: attribute attributes: - title: Date - Quarter/Year - description: Quarter and Year (Q1/2020) + title: Order id + description: Order id tags: - - Date - granularity: QUARTER + - Order lines areRelationsValid: true + sourceColumn: order_id + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: order_lines type: dataset labels: data: - - id: date.quarter + - id: order_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id meta: origin: originType: NATIVE originId: demo - - id: date.month + - id: order_line_id type: attribute attributes: - title: Date - Month/Year - description: Month and Year (12/2020) + title: Order line id + description: Order line id tags: - - Date - granularity: MONTH + - Order lines areRelationsValid: true + sourceColumn: order_line_id + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: order_lines type: dataset labels: data: - - id: date.month + - id: order_line_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id meta: origin: originType: NATIVE originId: demo - - id: date.week + - id: order_status type: attribute attributes: - title: Date - Week/Year - description: Week and Year (W52/2020) + title: Order status + description: Order status tags: - - Date - granularity: WEEK + - Order lines areRelationsValid: true + sourceColumn: order_status + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: order_lines type: dataset labels: data: - - id: date.week + - id: order_status type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status meta: origin: originType: NATIVE originId: demo - - id: date.day + - id: product_id type: attribute attributes: - title: Date - Date - description: Date + title: Product id + description: Product id tags: - - Date - granularity: DAY + - Products areRelationsValid: true + sourceColumn: product_id + sourceColumnDataType: INT relationships: dataset: data: - id: date + id: products type: dataset labels: data: - - id: date.day + - id: product_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id meta: origin: originType: NATIVE originId: demo - - id: date.hour + - id: product_name type: attribute attributes: - title: Date - Hour - description: Hour + title: Product name + description: Product name tags: - - Date - granularity: HOUR + - Products areRelationsValid: true + sourceColumn: product_name + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: products type: dataset labels: data: - - id: date.hour + - id: product_name type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name meta: origin: originType: NATIVE originId: demo - - id: date.minute + - id: products.category type: attribute attributes: - title: Date - Minute - description: Minute + title: Category + description: Category tags: - - Date - granularity: MINUTE + - Products areRelationsValid: true + sourceColumn: category + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: products type: dataset labels: data: - - id: date.minute + - id: products.category type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category meta: origin: originType: NATIVE @@ -3625,51 +3698,59 @@ interactions: grain: - id: order_line_id type: attribute - order: 0 referenceProperties: - identifier: - id: products + id: date type: dataset multivalue: false + sources: null sourceColumns: - - product_id + - date sourceColumnDataTypes: - - INT + - DATE - identifier: id: customers type: dataset multivalue: false + sources: null sourceColumns: - customer_id sourceColumnDataTypes: - INT - identifier: - id: date + id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - - date + - campaign_id sourceColumnDataTypes: - - DATE + - INT - identifier: - id: campaigns + id: products type: dataset multivalue: false + sources: null sourceColumns: - - campaign_id + - product_id sourceColumnDataTypes: - INT dataSourceTableId: demo-test-ds:order_lines dataSourceTablePath: - demo - order_lines - workspaceDataFilterProperties: - - workspaceDataFilterIdentifier: + workspaceDataFilterColumns: + - name: wdf__state + dataType: STRING + - name: wdf__region + dataType: STRING + workspaceDataFilterReferences: + - filterId: id: wdf__state type: workspaceDataFilter filterColumn: wdf__state filterColumnDataType: STRING - - workspaceDataFilterIdentifier: + - filterId: id: wdf__region type: workspaceDataFilter filterColumn: wdf__region @@ -3711,12 +3792,12 @@ interactions: grain: - id: campaign_channel_id type: attribute - order: 0 referenceProperties: - identifier: id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - campaign_id sourceColumnDataTypes: @@ -3806,7 +3887,6 @@ interactions: grain: - id: campaign_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:campaigns dataSourceTablePath: - demo @@ -3863,7 +3943,6 @@ interactions: grain: - id: customer_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:customers dataSourceTablePath: - demo @@ -3989,7 +4068,6 @@ interactions: grain: - id: product_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:products dataSourceTablePath: - demo @@ -4093,8 +4171,8 @@ interactions: links: self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_id links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels,datasets&page=0&size=500 - next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels,datasets&page=1&size=500 + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&page=1&size=500 - request: method: GET uri: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500 @@ -4122,7 +4200,7 @@ interactions: Connection: - keep-alive Content-Length: - - '13953' + - '14899' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -4169,6 +4247,54 @@ interactions: body: string: data: + - id: date + type: dataset + attributes: + title: Date + description: '' + tags: + - Date + areRelationsValid: true + type: DATE + relationships: + attributes: + data: + - id: date.quarter + type: attribute + - id: date.minute + type: attribute + - id: date.hourOfDay + type: attribute + - id: date.minuteOfHour + type: attribute + - id: date.dayOfYear + type: attribute + - id: date.monthOfYear + type: attribute + - id: date.weekOfYear + type: attribute + - id: date.week + type: attribute + - id: date.year + type: attribute + - id: date.dayOfWeek + type: attribute + - id: date.hour + type: attribute + - id: date.dayOfMonth + type: attribute + - id: date.month + type: attribute + - id: date.quarterOfYear + type: attribute + - id: date.day + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date + meta: + origin: + originType: NATIVE + originId: demo - id: campaign_channels type: dataset attributes: @@ -4179,16 +4305,20 @@ interactions: grain: - id: campaign_channel_id type: attribute - order: 0 referenceProperties: - identifier: id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - campaign_id - sourceColumnDataTypes: null + sourceColumnDataTypes: + - INT dataSourceTableId: demo-test-ds:campaign_channels + dataSourceTablePath: + - demo + - campaign_channels areRelationsValid: true type: NORMAL relationships: @@ -4196,10 +4326,10 @@ interactions: data: - id: campaign_channel_id type: attribute - - id: type - type: attribute - id: campaign_channels.category type: attribute + - id: type + type: attribute facts: data: - id: budget @@ -4212,6 +4342,68 @@ interactions: origin: originType: NATIVE originId: demo + - id: campaigns + 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 + relationships: + attributes: + data: + - id: campaign_id + type: attribute + - id: campaign_name + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns + meta: + origin: + originType: NATIVE + originId: demo + - id: customers + 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 + relationships: + attributes: + data: + - id: customer_id + type: attribute + - id: state + type: attribute + - id: customer_name + type: attribute + - id: region + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers + meta: + origin: + originType: NATIVE + originId: demo - id: order_lines type: dataset attributes: @@ -4222,59 +4414,74 @@ interactions: grain: - id: order_line_id type: attribute - order: 0 referenceProperties: - identifier: - id: products + id: date type: dataset multivalue: false + sources: null sourceColumns: - - product_id - sourceColumnDataTypes: null + - date + sourceColumnDataTypes: + - DATE - identifier: id: customers type: dataset multivalue: false + sources: null sourceColumns: - customer_id - sourceColumnDataTypes: null + sourceColumnDataTypes: + - INT - identifier: - id: date + id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - - date - sourceColumnDataTypes: null + - campaign_id + sourceColumnDataTypes: + - INT - identifier: - id: campaigns + id: products type: dataset multivalue: false + sources: null sourceColumns: - - campaign_id - sourceColumnDataTypes: null + - product_id + sourceColumnDataTypes: + - INT dataSourceTableId: demo-test-ds:order_lines + dataSourceTablePath: + - demo + - order_lines areRelationsValid: true - workspaceDataFilterProperties: - - workspaceDataFilterIdentifier: - id: wdf__state - type: workspaceDataFilter - filterColumn: wdf__state - filterColumnDataType: STRING - - workspaceDataFilterIdentifier: + workspaceDataFilterColumns: + - name: wdf__state + dataType: STRING + - name: wdf__region + 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 relationships: attributes: data: - - id: order_status - type: attribute - id: order_id type: attribute - id: order_line_id type: attribute + - id: order_status + type: attribute facts: data: - id: price @@ -4297,18 +4504,20 @@ interactions: grain: - id: product_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:products + dataSourceTablePath: + - demo + - products areRelationsValid: true type: NORMAL relationships: attributes: data: - - id: product_name + - id: products.category type: attribute - id: product_id type: attribute - - id: products.category + - id: product_name type: attribute links: self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/products @@ -4316,112 +4525,6 @@ interactions: origin: originType: NATIVE originId: demo - - id: date - type: dataset - attributes: - title: Date - description: '' - tags: - - Date - areRelationsValid: true - type: DATE - relationships: - attributes: - data: - - id: date.quarterOfYear - type: attribute - - id: date.weekOfYear - type: attribute - - id: date.dayOfMonth - type: attribute - - id: date.monthOfYear - type: attribute - - id: date.minuteOfHour - type: attribute - - id: date.hour - type: attribute - - id: date.year - type: attribute - - id: date.week - type: attribute - - id: date.quarter - type: attribute - - id: date.dayOfYear - type: attribute - - id: date.dayOfWeek - type: attribute - - id: date.minute - type: attribute - - id: date.day - type: attribute - - id: date.month - type: attribute - - id: date.hourOfDay - type: attribute - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date - meta: - origin: - originType: NATIVE - originId: demo - - id: campaigns - type: dataset - attributes: - title: Campaigns - description: Campaigns - tags: - - Campaigns - grain: - - id: campaign_id - type: attribute - order: 0 - dataSourceTableId: demo-test-ds:campaigns - areRelationsValid: true - type: NORMAL - relationships: - attributes: - data: - - id: campaign_id - type: attribute - - id: campaign_name - type: attribute - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns - meta: - origin: - originType: NATIVE - originId: demo - - id: customers - type: dataset - attributes: - title: Customers - description: Customers - tags: - - Customers - grain: - - id: customer_id - type: attribute - order: 0 - dataSourceTableId: demo-test-ds:customers - areRelationsValid: true - type: NORMAL - relationships: - attributes: - data: - - id: region - type: attribute - - id: state - type: attribute - - id: customer_id - type: attribute - - id: customer_name - type: attribute - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers - meta: - origin: - originType: NATIVE - originId: demo included: - id: product_id type: attribute @@ -4431,6 +4534,7 @@ interactions: tags: - Products sourceColumn: product_id + sourceColumnDataType: INT links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id - id: budget @@ -4441,6 +4545,7 @@ interactions: tags: - Campaign channels sourceColumn: budget + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/budget - id: date.year @@ -4461,6 +4566,7 @@ interactions: tags: - Products sourceColumn: product_name + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name - id: date.month @@ -4481,6 +4587,7 @@ interactions: tags: - Products sourceColumn: category + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category - id: date.dayOfMonth @@ -4521,6 +4628,7 @@ interactions: tags: - Campaign channels sourceColumn: category + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category - id: date.minute @@ -4541,6 +4649,7 @@ interactions: tags: - Customers sourceColumn: state + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state - id: date.week @@ -4561,6 +4670,7 @@ interactions: tags: - Order lines sourceColumn: order_id + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id - id: date.hour @@ -4581,6 +4691,7 @@ interactions: tags: - Campaigns sourceColumn: campaign_name + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name - id: price @@ -4591,6 +4702,7 @@ interactions: tags: - Order lines sourceColumn: price + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/price - id: date.dayOfWeek @@ -4621,6 +4733,7 @@ interactions: tags: - Customers sourceColumn: region + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region - id: campaign_channel_id @@ -4631,6 +4744,7 @@ interactions: tags: - Campaign channels sourceColumn: campaign_channel_id + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id - id: customer_id @@ -4641,6 +4755,7 @@ interactions: tags: - Customers sourceColumn: customer_id + sourceColumnDataType: INT links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id - id: date.hourOfDay @@ -4661,6 +4776,7 @@ interactions: tags: - Order lines sourceColumn: quantity + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity - id: campaign_id @@ -4671,6 +4787,7 @@ interactions: tags: - Campaigns sourceColumn: campaign_id + sourceColumnDataType: INT links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id - id: type @@ -4681,6 +4798,7 @@ interactions: tags: - Campaign channels sourceColumn: type + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type - id: spend @@ -4691,6 +4809,7 @@ interactions: tags: - Campaign channels sourceColumn: spend + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/spend - id: date.dayOfYear @@ -4731,6 +4850,7 @@ interactions: tags: - Order lines sourceColumn: order_status + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status - id: date.monthOfYear @@ -4751,6 +4871,7 @@ interactions: tags: - Customers sourceColumn: customer_name + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name - id: order_line_id @@ -4761,11 +4882,12 @@ interactions: tags: - Order lines sourceColumn: order_line_id + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=0&size=500 - next: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=1&size=500 + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=1&size=500 - request: method: GET uri: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500 @@ -4793,7 +4915,7 @@ interactions: Connection: - keep-alive Content-Length: - - '9799' + - '10543' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -4845,6 +4967,7 @@ interactions: attributes: title: '# of Active Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0' maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) @@ -4859,6 +4982,7 @@ interactions: attributes: title: '# of Orders' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0' maql: SELECT COUNT({attribute/order_id}) @@ -4873,6 +4997,7 @@ interactions: attributes: title: '# of Top Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0' maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT @@ -4889,6 +5014,7 @@ interactions: title: '# of Valid Orders' description: '' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.00' maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} @@ -4904,6 +5030,7 @@ interactions: attributes: title: Campaign Spend areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT SUM({fact/spend}) @@ -4918,6 +5045,7 @@ interactions: attributes: title: Order Amount areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT SUM({fact/price}*{fact/quantity}) @@ -4932,6 +5060,7 @@ interactions: attributes: title: '% Revenue' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / {metric/total_revenue} @@ -4946,6 +5075,7 @@ interactions: attributes: title: '% Revenue from Top 10 Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ @@ -4961,6 +5091,7 @@ interactions: attributes: title: '% Revenue from Top 10% Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ @@ -4976,6 +5107,7 @@ interactions: attributes: title: '% Revenue from Top 10% Products' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ @@ -4991,6 +5123,7 @@ interactions: attributes: title: '% Revenue from Top 10 Products' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ @@ -5006,6 +5139,7 @@ interactions: attributes: title: '% Revenue in Category' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, @@ -5021,6 +5155,7 @@ interactions: attributes: title: '% Revenue per Product' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL @@ -5037,6 +5172,7 @@ interactions: title: Revenue description: '' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} @@ -5052,6 +5188,7 @@ interactions: attributes: title: Revenue (Clothing) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -5067,6 +5204,7 @@ interactions: attributes: title: Revenue (Electronic) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -5082,6 +5220,7 @@ interactions: attributes: title: Revenue (Home) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -5097,6 +5236,7 @@ interactions: attributes: title: Revenue (Outdoor) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -5112,6 +5252,7 @@ interactions: attributes: title: Revenue per Customer areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0.0 maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) @@ -5126,6 +5267,7 @@ interactions: attributes: title: Revenue per Dollar Spent areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0.0 maql: SELECT {metric/revenue} / {metric/campaign_spend} @@ -5140,6 +5282,7 @@ interactions: attributes: title: Revenue / Top 10 areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) @@ -5154,6 +5297,7 @@ interactions: attributes: title: Revenue / Top 10% areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) @@ -5168,6 +5312,7 @@ interactions: attributes: title: Total Revenue areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} BY ALL OTHER @@ -5182,6 +5327,7 @@ interactions: attributes: title: Total Revenue (No Filters) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER @@ -5196,7 +5342,7 @@ interactions: next: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=1&size=500 - request: method: GET - uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/46e8f219dcb6488071ab8385c04eabe4ebaecf12?offset=0&limit=1 + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/b0dd7e3be2da99d9cd8214f6730860a032a4a013?offset=0&limit=1 body: null headers: Accept: diff --git a/gooddata-pandas/tests/series/fixtures/not_indexed_label_series.yaml b/gooddata-pandas/tests/series/fixtures/not_indexed_label_series.yaml index 7450c0639..11d681dd3 100644 --- a/gooddata-pandas/tests/series/fixtures/not_indexed_label_series.yaml +++ b/gooddata-pandas/tests/series/fixtures/not_indexed_label_series.yaml @@ -112,7 +112,7 @@ interactions: type: label localIdentifier: dim_0 links: - executionResult: 02e72524533be442b57ef4e0c223d3bcbe23a15d + executionResult: ddf23ea306987c64464fde942eb96e9e82ccc64a - request: method: GET uri: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&page=0&size=500 @@ -140,7 +140,7 @@ interactions: Connection: - keep-alive Content-Length: - - '27018' + - '27121' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -187,743 +187,743 @@ interactions: body: string: data: - - id: campaign_channels.category + - id: date.minute type: attribute attributes: - title: Category - description: Category + title: Date - Minute + description: Minute tags: - - Campaign channels + - Date + granularity: MINUTE areRelationsValid: true - sourceColumn: category - sourceColumnDataType: STRING relationships: dataset: data: - id: campaign_channels + id: date type: dataset labels: data: - - id: campaign_channels.category + - id: date.minute type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute meta: origin: originType: NATIVE originId: demo - - id: campaign_channel_id + - id: date.hour type: attribute attributes: - title: Campaign channel id - description: Campaign channel id + title: Date - Hour + description: Hour tags: - - Campaign channels + - Date + granularity: HOUR areRelationsValid: true - sourceColumn: campaign_channel_id - sourceColumnDataType: STRING relationships: dataset: data: - id: campaign_channels + id: date type: dataset labels: data: - - id: campaign_channel_id + - id: date.hour type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour meta: origin: originType: NATIVE originId: demo - - id: type + - id: date.day type: attribute attributes: - title: Type - description: Type + title: Date - Date + description: Date tags: - - Campaign channels + - Date + granularity: DAY areRelationsValid: true - sourceColumn: type - sourceColumnDataType: STRING relationships: dataset: data: - id: campaign_channels + id: date type: dataset labels: data: - - id: type + - id: date.day type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day meta: origin: originType: NATIVE originId: demo - - id: campaign_name + - id: date.week type: attribute attributes: - title: Campaign name - description: Campaign name + title: Date - Week/Year + description: Week and Year (W52/2020) tags: - - Campaigns + - Date + granularity: WEEK areRelationsValid: true - sourceColumn: campaign_name - sourceColumnDataType: STRING relationships: dataset: data: - id: campaigns + id: date type: dataset labels: data: - - id: campaign_name + - id: date.week type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week meta: origin: originType: NATIVE originId: demo - - id: campaign_id + - id: date.month type: attribute attributes: - title: Campaign id - description: Campaign id + title: Date - Month/Year + description: Month and Year (12/2020) tags: - - Campaigns + - Date + granularity: MONTH areRelationsValid: true - sourceColumn: campaign_id - sourceColumnDataType: INT relationships: dataset: data: - id: campaigns + id: date type: dataset labels: data: - - id: campaign_id + - id: date.month type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month meta: origin: originType: NATIVE originId: demo - - id: state + - id: date.quarter type: attribute attributes: - title: State - description: State + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) tags: - - Customers + - Date + granularity: QUARTER areRelationsValid: true - sourceColumn: state - sourceColumnDataType: STRING relationships: - defaultView: - data: - id: state - type: label dataset: data: - id: customers + id: date type: dataset labels: data: - - id: state - type: label - - id: geo__state__location + - id: date.quarter type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter meta: origin: originType: NATIVE originId: demo - - id: region + - id: date.year type: attribute attributes: - title: Region - description: Region + title: Date - Year + description: Year tags: - - Customers + - Date + granularity: YEAR areRelationsValid: true - sourceColumn: region - sourceColumnDataType: STRING relationships: dataset: data: - id: customers + id: date type: dataset labels: data: - - id: region + - id: date.year type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year meta: origin: originType: NATIVE originId: demo - - id: customer_name + - id: date.minuteOfHour type: attribute attributes: - title: Customer name - description: Customer name + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) tags: - - Customers + - Date + granularity: MINUTE_OF_HOUR areRelationsValid: true - sourceColumn: customer_name - sourceColumnDataType: STRING relationships: dataset: data: - id: customers + id: date type: dataset labels: data: - - id: customer_name + - id: date.minuteOfHour type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour meta: origin: originType: NATIVE originId: demo - - id: customer_id + - id: date.hourOfDay type: attribute attributes: - title: Customer id - description: Customer id + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) tags: - - Customers + - Date + granularity: HOUR_OF_DAY areRelationsValid: true - sourceColumn: customer_id - sourceColumnDataType: INT relationships: dataset: data: - id: customers + id: date type: dataset labels: data: - - id: customer_id + - id: date.hourOfDay type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay meta: origin: originType: NATIVE originId: demo - - id: order_status + - id: date.dayOfWeek type: attribute attributes: - title: Order status - description: Order status + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) tags: - - Order lines + - Date + granularity: DAY_OF_WEEK areRelationsValid: true - sourceColumn: order_status - sourceColumnDataType: STRING relationships: dataset: data: - id: order_lines + id: date type: dataset labels: data: - - id: order_status + - id: date.dayOfWeek type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek meta: origin: originType: NATIVE originId: demo - - id: order_line_id + - id: date.dayOfMonth type: attribute attributes: - title: Order line id - description: Order line id + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) tags: - - Order lines + - Date + granularity: DAY_OF_MONTH areRelationsValid: true - sourceColumn: order_line_id - sourceColumnDataType: STRING relationships: dataset: data: - id: order_lines + id: date type: dataset labels: data: - - id: order_line_id + - id: date.dayOfMonth type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth meta: origin: originType: NATIVE originId: demo - - id: order_id + - id: date.dayOfYear type: attribute attributes: - title: Order id - description: Order id + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) tags: - - Order lines + - Date + granularity: DAY_OF_YEAR areRelationsValid: true - sourceColumn: order_id - sourceColumnDataType: STRING relationships: dataset: data: - id: order_lines + id: date type: dataset labels: data: - - id: order_id + - id: date.dayOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear meta: origin: originType: NATIVE originId: demo - - id: product_name + - id: date.weekOfYear type: attribute attributes: - title: Product name - description: Product name + title: Date - Week of Year + description: Generic Week (W1-W53) tags: - - Products + - Date + granularity: WEEK_OF_YEAR areRelationsValid: true - sourceColumn: product_name - sourceColumnDataType: STRING relationships: dataset: data: - id: products + id: date type: dataset labels: data: - - id: product_name + - id: date.weekOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear meta: origin: originType: NATIVE originId: demo - - id: product_id + - id: date.monthOfYear type: attribute attributes: - title: Product id - description: Product id + title: Date - Month of Year + description: Generic Month (M1-M12) tags: - - Products + - Date + granularity: MONTH_OF_YEAR areRelationsValid: true - sourceColumn: product_id - sourceColumnDataType: INT relationships: dataset: data: - id: products + id: date type: dataset labels: data: - - id: product_id + - id: date.monthOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear meta: origin: originType: NATIVE originId: demo - - id: products.category + - id: date.quarterOfYear type: attribute attributes: - title: Category - description: Category + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) tags: - - Products + - Date + granularity: QUARTER_OF_YEAR areRelationsValid: true - sourceColumn: category - sourceColumnDataType: STRING relationships: dataset: data: - id: products + id: date type: dataset labels: data: - - id: products.category + - id: date.quarterOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear meta: origin: originType: NATIVE originId: demo - - id: date.quarterOfYear + - id: campaign_channel_id type: attribute attributes: - title: Date - Quarter of Year - description: Generic Quarter (Q1-Q4) + title: Campaign channel id + description: Campaign channel id tags: - - Date - granularity: QUARTER_OF_YEAR + - Campaign channels areRelationsValid: true + sourceColumn: campaign_channel_id + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaign_channels type: dataset labels: data: - - id: date.quarterOfYear + - id: campaign_channel_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id meta: origin: originType: NATIVE originId: demo - - id: date.monthOfYear + - id: campaign_channels.category type: attribute attributes: - title: Date - Month of Year - description: Generic Month (M1-M12) + title: Category + description: Category tags: - - Date - granularity: MONTH_OF_YEAR + - Campaign channels areRelationsValid: true + sourceColumn: category + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaign_channels type: dataset labels: data: - - id: date.monthOfYear + - id: campaign_channels.category type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category meta: origin: originType: NATIVE originId: demo - - id: date.weekOfYear + - id: type type: attribute attributes: - title: Date - Week of Year - description: Generic Week (W1-W53) + title: Type + description: Type tags: - - Date - granularity: WEEK_OF_YEAR + - Campaign channels areRelationsValid: true + sourceColumn: type + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaign_channels type: dataset labels: data: - - id: date.weekOfYear + - id: type type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type meta: origin: originType: NATIVE originId: demo - - id: date.dayOfYear + - id: campaign_id type: attribute attributes: - title: Date - Day of Year - description: Generic Day of the Year (D1-D366) + title: Campaign id + description: Campaign id tags: - - Date - granularity: DAY_OF_YEAR + - Campaigns areRelationsValid: true + sourceColumn: campaign_id + sourceColumnDataType: INT relationships: dataset: data: - id: date + id: campaigns type: dataset labels: data: - - id: date.dayOfYear + - id: campaign_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id meta: origin: originType: NATIVE originId: demo - - id: date.dayOfMonth + - id: campaign_name type: attribute attributes: - title: Date - Day of Month - description: Generic Day of the Month (D1-D31) + title: Campaign name + description: Campaign name tags: - - Date - granularity: DAY_OF_MONTH + - Campaigns areRelationsValid: true + sourceColumn: campaign_name + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaigns type: dataset labels: data: - - id: date.dayOfMonth + - id: campaign_name type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name meta: origin: originType: NATIVE originId: demo - - id: date.dayOfWeek + - id: customer_id type: attribute attributes: - title: Date - Day of Week - description: Generic Day of the Week (D1-D7) + title: Customer id + description: Customer id tags: - - Date - granularity: DAY_OF_WEEK + - Customers areRelationsValid: true + sourceColumn: customer_id + sourceColumnDataType: INT relationships: dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.dayOfWeek + - id: customer_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id meta: origin: originType: NATIVE originId: demo - - id: date.hourOfDay + - id: customer_name type: attribute attributes: - title: Date - Hour of Day - description: Generic Hour of the Day(H1-H24) + title: Customer name + description: Customer name tags: - - Date - granularity: HOUR_OF_DAY + - Customers areRelationsValid: true + sourceColumn: customer_name + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.hourOfDay + - id: customer_name type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name meta: origin: originType: NATIVE originId: demo - - id: date.minuteOfHour + - id: region type: attribute attributes: - title: Date - Minute of Hour - description: Generic Minute of the Hour(MI1-MI60) + title: Region + description: Region tags: - - Date - granularity: MINUTE_OF_HOUR + - Customers areRelationsValid: true + sourceColumn: region + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.minuteOfHour + - id: region type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region meta: origin: originType: NATIVE originId: demo - - id: date.year + - id: state type: attribute attributes: - title: Date - Year - description: Year + title: State + description: State tags: - - Date - granularity: YEAR + - Customers areRelationsValid: true + sourceColumn: state + sourceColumnDataType: STRING relationships: + defaultView: + data: + id: state + type: label dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.year + - id: geo__state__location + type: label + - id: state type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state meta: origin: originType: NATIVE originId: demo - - id: date.quarter + - id: order_id type: attribute attributes: - title: Date - Quarter/Year - description: Quarter and Year (Q1/2020) + title: Order id + description: Order id tags: - - Date - granularity: QUARTER + - Order lines areRelationsValid: true + sourceColumn: order_id + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: order_lines type: dataset labels: data: - - id: date.quarter + - id: order_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id meta: origin: originType: NATIVE originId: demo - - id: date.month + - id: order_line_id type: attribute attributes: - title: Date - Month/Year - description: Month and Year (12/2020) + title: Order line id + description: Order line id tags: - - Date - granularity: MONTH + - Order lines areRelationsValid: true + sourceColumn: order_line_id + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: order_lines type: dataset labels: data: - - id: date.month + - id: order_line_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id meta: origin: originType: NATIVE originId: demo - - id: date.week + - id: order_status type: attribute attributes: - title: Date - Week/Year - description: Week and Year (W52/2020) + title: Order status + description: Order status tags: - - Date - granularity: WEEK + - Order lines areRelationsValid: true + sourceColumn: order_status + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: order_lines type: dataset labels: data: - - id: date.week + - id: order_status type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status meta: origin: originType: NATIVE originId: demo - - id: date.day + - id: product_id type: attribute attributes: - title: Date - Date - description: Date + title: Product id + description: Product id tags: - - Date - granularity: DAY + - Products areRelationsValid: true + sourceColumn: product_id + sourceColumnDataType: INT relationships: dataset: data: - id: date + id: products type: dataset labels: data: - - id: date.day + - id: product_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id meta: origin: originType: NATIVE originId: demo - - id: date.hour + - id: product_name type: attribute attributes: - title: Date - Hour - description: Hour + title: Product name + description: Product name tags: - - Date - granularity: HOUR + - Products areRelationsValid: true + sourceColumn: product_name + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: products type: dataset labels: data: - - id: date.hour + - id: product_name type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name meta: origin: originType: NATIVE originId: demo - - id: date.minute + - id: products.category type: attribute attributes: - title: Date - Minute - description: Minute + title: Category + description: Category tags: - - Date - granularity: MINUTE + - Products areRelationsValid: true + sourceColumn: category + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: products type: dataset labels: data: - - id: date.minute + - id: products.category type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category meta: origin: originType: NATIVE @@ -987,51 +987,59 @@ interactions: grain: - id: order_line_id type: attribute - order: 0 referenceProperties: - identifier: - id: products + id: date type: dataset multivalue: false + sources: null sourceColumns: - - product_id + - date sourceColumnDataTypes: - - INT + - DATE - identifier: id: customers type: dataset multivalue: false + sources: null sourceColumns: - customer_id sourceColumnDataTypes: - INT - identifier: - id: date + id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - - date + - campaign_id sourceColumnDataTypes: - - DATE + - INT - identifier: - id: campaigns + id: products type: dataset multivalue: false + sources: null sourceColumns: - - campaign_id + - product_id sourceColumnDataTypes: - INT dataSourceTableId: demo-test-ds:order_lines dataSourceTablePath: - demo - order_lines - workspaceDataFilterProperties: - - workspaceDataFilterIdentifier: + workspaceDataFilterColumns: + - name: wdf__state + dataType: STRING + - name: wdf__region + dataType: STRING + workspaceDataFilterReferences: + - filterId: id: wdf__state type: workspaceDataFilter filterColumn: wdf__state filterColumnDataType: STRING - - workspaceDataFilterIdentifier: + - filterId: id: wdf__region type: workspaceDataFilter filterColumn: wdf__region @@ -1073,12 +1081,12 @@ interactions: grain: - id: campaign_channel_id type: attribute - order: 0 referenceProperties: - identifier: id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - campaign_id sourceColumnDataTypes: @@ -1168,7 +1176,6 @@ interactions: grain: - id: campaign_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:campaigns dataSourceTablePath: - demo @@ -1225,7 +1232,6 @@ interactions: grain: - id: customer_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:customers dataSourceTablePath: - demo @@ -1351,7 +1357,6 @@ interactions: grain: - id: product_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:products dataSourceTablePath: - demo @@ -1455,8 +1460,8 @@ interactions: links: self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_id links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels,datasets&page=0&size=500 - next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels,datasets&page=1&size=500 + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&page=1&size=500 - request: method: GET uri: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500 @@ -1484,7 +1489,7 @@ interactions: Connection: - keep-alive Content-Length: - - '13953' + - '14899' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -1531,6 +1536,54 @@ interactions: body: string: data: + - id: date + type: dataset + attributes: + title: Date + description: '' + tags: + - Date + areRelationsValid: true + type: DATE + relationships: + attributes: + data: + - id: date.quarter + type: attribute + - id: date.minute + type: attribute + - id: date.hourOfDay + type: attribute + - id: date.minuteOfHour + type: attribute + - id: date.dayOfYear + type: attribute + - id: date.monthOfYear + type: attribute + - id: date.weekOfYear + type: attribute + - id: date.week + type: attribute + - id: date.year + type: attribute + - id: date.dayOfWeek + type: attribute + - id: date.hour + type: attribute + - id: date.dayOfMonth + type: attribute + - id: date.month + type: attribute + - id: date.quarterOfYear + type: attribute + - id: date.day + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date + meta: + origin: + originType: NATIVE + originId: demo - id: campaign_channels type: dataset attributes: @@ -1541,16 +1594,20 @@ interactions: grain: - id: campaign_channel_id type: attribute - order: 0 referenceProperties: - identifier: id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - campaign_id - sourceColumnDataTypes: null + sourceColumnDataTypes: + - INT dataSourceTableId: demo-test-ds:campaign_channels + dataSourceTablePath: + - demo + - campaign_channels areRelationsValid: true type: NORMAL relationships: @@ -1558,10 +1615,10 @@ interactions: data: - id: campaign_channel_id type: attribute - - id: type - type: attribute - id: campaign_channels.category type: attribute + - id: type + type: attribute facts: data: - id: budget @@ -1574,6 +1631,68 @@ interactions: origin: originType: NATIVE originId: demo + - id: campaigns + 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 + relationships: + attributes: + data: + - id: campaign_id + type: attribute + - id: campaign_name + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns + meta: + origin: + originType: NATIVE + originId: demo + - id: customers + 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 + relationships: + attributes: + data: + - id: customer_id + type: attribute + - id: state + type: attribute + - id: customer_name + type: attribute + - id: region + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers + meta: + origin: + originType: NATIVE + originId: demo - id: order_lines type: dataset attributes: @@ -1584,59 +1703,74 @@ interactions: grain: - id: order_line_id type: attribute - order: 0 referenceProperties: - identifier: - id: products + id: date type: dataset multivalue: false + sources: null sourceColumns: - - product_id - sourceColumnDataTypes: null + - date + sourceColumnDataTypes: + - DATE - identifier: id: customers type: dataset multivalue: false + sources: null sourceColumns: - customer_id - sourceColumnDataTypes: null + sourceColumnDataTypes: + - INT - identifier: - id: date + id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - - date - sourceColumnDataTypes: null + - campaign_id + sourceColumnDataTypes: + - INT - identifier: - id: campaigns + id: products type: dataset multivalue: false + sources: null sourceColumns: - - campaign_id - sourceColumnDataTypes: null + - product_id + sourceColumnDataTypes: + - INT dataSourceTableId: demo-test-ds:order_lines + dataSourceTablePath: + - demo + - order_lines areRelationsValid: true - workspaceDataFilterProperties: - - workspaceDataFilterIdentifier: - id: wdf__state - type: workspaceDataFilter - filterColumn: wdf__state - filterColumnDataType: STRING - - workspaceDataFilterIdentifier: + workspaceDataFilterColumns: + - name: wdf__state + dataType: STRING + - name: wdf__region + 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 relationships: attributes: data: - - id: order_status - type: attribute - id: order_id type: attribute - id: order_line_id type: attribute + - id: order_status + type: attribute facts: data: - id: price @@ -1659,18 +1793,20 @@ interactions: grain: - id: product_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:products + dataSourceTablePath: + - demo + - products areRelationsValid: true type: NORMAL relationships: attributes: data: - - id: product_name + - id: products.category type: attribute - id: product_id type: attribute - - id: products.category + - id: product_name type: attribute links: self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/products @@ -1678,112 +1814,6 @@ interactions: origin: originType: NATIVE originId: demo - - id: date - type: dataset - attributes: - title: Date - description: '' - tags: - - Date - areRelationsValid: true - type: DATE - relationships: - attributes: - data: - - id: date.quarterOfYear - type: attribute - - id: date.weekOfYear - type: attribute - - id: date.dayOfMonth - type: attribute - - id: date.monthOfYear - type: attribute - - id: date.minuteOfHour - type: attribute - - id: date.hour - type: attribute - - id: date.year - type: attribute - - id: date.week - type: attribute - - id: date.quarter - type: attribute - - id: date.dayOfYear - type: attribute - - id: date.dayOfWeek - type: attribute - - id: date.minute - type: attribute - - id: date.day - type: attribute - - id: date.month - type: attribute - - id: date.hourOfDay - type: attribute - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date - meta: - origin: - originType: NATIVE - originId: demo - - id: campaigns - type: dataset - attributes: - title: Campaigns - description: Campaigns - tags: - - Campaigns - grain: - - id: campaign_id - type: attribute - order: 0 - dataSourceTableId: demo-test-ds:campaigns - areRelationsValid: true - type: NORMAL - relationships: - attributes: - data: - - id: campaign_id - type: attribute - - id: campaign_name - type: attribute - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns - meta: - origin: - originType: NATIVE - originId: demo - - id: customers - type: dataset - attributes: - title: Customers - description: Customers - tags: - - Customers - grain: - - id: customer_id - type: attribute - order: 0 - dataSourceTableId: demo-test-ds:customers - areRelationsValid: true - type: NORMAL - relationships: - attributes: - data: - - id: region - type: attribute - - id: state - type: attribute - - id: customer_id - type: attribute - - id: customer_name - type: attribute - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers - meta: - origin: - originType: NATIVE - originId: demo included: - id: product_id type: attribute @@ -1793,6 +1823,7 @@ interactions: tags: - Products sourceColumn: product_id + sourceColumnDataType: INT links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id - id: budget @@ -1803,6 +1834,7 @@ interactions: tags: - Campaign channels sourceColumn: budget + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/budget - id: date.year @@ -1823,6 +1855,7 @@ interactions: tags: - Products sourceColumn: product_name + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name - id: date.month @@ -1843,6 +1876,7 @@ interactions: tags: - Products sourceColumn: category + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category - id: date.dayOfMonth @@ -1883,6 +1917,7 @@ interactions: tags: - Campaign channels sourceColumn: category + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category - id: date.minute @@ -1903,6 +1938,7 @@ interactions: tags: - Customers sourceColumn: state + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state - id: date.week @@ -1923,6 +1959,7 @@ interactions: tags: - Order lines sourceColumn: order_id + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id - id: date.hour @@ -1943,6 +1980,7 @@ interactions: tags: - Campaigns sourceColumn: campaign_name + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name - id: price @@ -1953,6 +1991,7 @@ interactions: tags: - Order lines sourceColumn: price + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/price - id: date.dayOfWeek @@ -1983,6 +2022,7 @@ interactions: tags: - Customers sourceColumn: region + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region - id: campaign_channel_id @@ -1993,6 +2033,7 @@ interactions: tags: - Campaign channels sourceColumn: campaign_channel_id + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id - id: customer_id @@ -2003,6 +2044,7 @@ interactions: tags: - Customers sourceColumn: customer_id + sourceColumnDataType: INT links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id - id: date.hourOfDay @@ -2023,6 +2065,7 @@ interactions: tags: - Order lines sourceColumn: quantity + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity - id: campaign_id @@ -2033,6 +2076,7 @@ interactions: tags: - Campaigns sourceColumn: campaign_id + sourceColumnDataType: INT links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id - id: type @@ -2043,6 +2087,7 @@ interactions: tags: - Campaign channels sourceColumn: type + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type - id: spend @@ -2053,6 +2098,7 @@ interactions: tags: - Campaign channels sourceColumn: spend + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/spend - id: date.dayOfYear @@ -2093,6 +2139,7 @@ interactions: tags: - Order lines sourceColumn: order_status + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status - id: date.monthOfYear @@ -2113,6 +2160,7 @@ interactions: tags: - Customers sourceColumn: customer_name + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name - id: order_line_id @@ -2123,11 +2171,12 @@ interactions: tags: - Order lines sourceColumn: order_line_id + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=0&size=500 - next: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=1&size=500 + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=1&size=500 - request: method: GET uri: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500 @@ -2155,7 +2204,7 @@ interactions: Connection: - keep-alive Content-Length: - - '9799' + - '10543' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -2207,6 +2256,7 @@ interactions: attributes: title: '# of Active Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0' maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) @@ -2221,6 +2271,7 @@ interactions: attributes: title: '# of Orders' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0' maql: SELECT COUNT({attribute/order_id}) @@ -2235,6 +2286,7 @@ interactions: attributes: title: '# of Top Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0' maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT @@ -2251,6 +2303,7 @@ interactions: title: '# of Valid Orders' description: '' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.00' maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} @@ -2266,6 +2319,7 @@ interactions: attributes: title: Campaign Spend areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT SUM({fact/spend}) @@ -2280,6 +2334,7 @@ interactions: attributes: title: Order Amount areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT SUM({fact/price}*{fact/quantity}) @@ -2294,6 +2349,7 @@ interactions: attributes: title: '% Revenue' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / {metric/total_revenue} @@ -2308,6 +2364,7 @@ interactions: attributes: title: '% Revenue from Top 10 Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ @@ -2323,6 +2380,7 @@ interactions: attributes: title: '% Revenue from Top 10% Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ @@ -2338,6 +2396,7 @@ interactions: attributes: title: '% Revenue from Top 10% Products' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ @@ -2353,6 +2412,7 @@ interactions: attributes: title: '% Revenue from Top 10 Products' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ @@ -2368,6 +2428,7 @@ interactions: attributes: title: '% Revenue in Category' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, @@ -2383,6 +2444,7 @@ interactions: attributes: title: '% Revenue per Product' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL @@ -2399,6 +2461,7 @@ interactions: title: Revenue description: '' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} @@ -2414,6 +2477,7 @@ interactions: attributes: title: Revenue (Clothing) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2429,6 +2493,7 @@ interactions: attributes: title: Revenue (Electronic) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2444,6 +2509,7 @@ interactions: attributes: title: Revenue (Home) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2459,6 +2525,7 @@ interactions: attributes: title: Revenue (Outdoor) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2474,6 +2541,7 @@ interactions: attributes: title: Revenue per Customer areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0.0 maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) @@ -2488,6 +2556,7 @@ interactions: attributes: title: Revenue per Dollar Spent areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0.0 maql: SELECT {metric/revenue} / {metric/campaign_spend} @@ -2502,6 +2571,7 @@ interactions: attributes: title: Revenue / Top 10 areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) @@ -2516,6 +2586,7 @@ interactions: attributes: title: Revenue / Top 10% areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) @@ -2530,6 +2601,7 @@ interactions: attributes: title: Total Revenue areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} BY ALL OTHER @@ -2544,6 +2616,7 @@ interactions: attributes: title: Total Revenue (No Filters) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER @@ -2558,7 +2631,7 @@ interactions: next: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=1&size=500 - request: method: GET - uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/02e72524533be442b57ef4e0c223d3bcbe23a15d?offset=0&limit=1000 + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/ddf23ea306987c64464fde942eb96e9e82ccc64a?offset=0&limit=1000 body: null headers: Accept: diff --git a/gooddata-pandas/tests/series/fixtures/not_indexed_label_series_with_granularity.yaml b/gooddata-pandas/tests/series/fixtures/not_indexed_label_series_with_granularity.yaml index 35150c52f..90491e57a 100644 --- a/gooddata-pandas/tests/series/fixtures/not_indexed_label_series_with_granularity.yaml +++ b/gooddata-pandas/tests/series/fixtures/not_indexed_label_series_with_granularity.yaml @@ -132,7 +132,7 @@ interactions: type: label localIdentifier: dim_0 links: - executionResult: 2b8222c2b4b5906d81685c1c574fa383232e1a3b + executionResult: ba725887f3c47d49ab254689b91086f0a865a2ce - request: method: GET uri: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&page=0&size=500 @@ -160,7 +160,7 @@ interactions: Connection: - keep-alive Content-Length: - - '27018' + - '27121' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -207,743 +207,743 @@ interactions: body: string: data: - - id: campaign_channels.category + - id: date.minute type: attribute attributes: - title: Category - description: Category + title: Date - Minute + description: Minute tags: - - Campaign channels + - Date + granularity: MINUTE areRelationsValid: true - sourceColumn: category - sourceColumnDataType: STRING relationships: dataset: data: - id: campaign_channels + id: date type: dataset labels: data: - - id: campaign_channels.category + - id: date.minute type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute meta: origin: originType: NATIVE originId: demo - - id: campaign_channel_id + - id: date.hour type: attribute attributes: - title: Campaign channel id - description: Campaign channel id + title: Date - Hour + description: Hour tags: - - Campaign channels + - Date + granularity: HOUR areRelationsValid: true - sourceColumn: campaign_channel_id - sourceColumnDataType: STRING relationships: dataset: data: - id: campaign_channels + id: date type: dataset labels: data: - - id: campaign_channel_id + - id: date.hour type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour meta: origin: originType: NATIVE originId: demo - - id: type + - id: date.day type: attribute attributes: - title: Type - description: Type + title: Date - Date + description: Date tags: - - Campaign channels + - Date + granularity: DAY areRelationsValid: true - sourceColumn: type - sourceColumnDataType: STRING relationships: dataset: data: - id: campaign_channels + id: date type: dataset labels: data: - - id: type + - id: date.day type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day meta: origin: originType: NATIVE originId: demo - - id: campaign_name + - id: date.week type: attribute attributes: - title: Campaign name - description: Campaign name + title: Date - Week/Year + description: Week and Year (W52/2020) tags: - - Campaigns + - Date + granularity: WEEK areRelationsValid: true - sourceColumn: campaign_name - sourceColumnDataType: STRING relationships: dataset: data: - id: campaigns + id: date type: dataset labels: data: - - id: campaign_name + - id: date.week type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week meta: origin: originType: NATIVE originId: demo - - id: campaign_id + - id: date.month type: attribute attributes: - title: Campaign id - description: Campaign id + title: Date - Month/Year + description: Month and Year (12/2020) tags: - - Campaigns + - Date + granularity: MONTH areRelationsValid: true - sourceColumn: campaign_id - sourceColumnDataType: INT relationships: dataset: data: - id: campaigns + id: date type: dataset labels: data: - - id: campaign_id + - id: date.month type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month meta: origin: originType: NATIVE originId: demo - - id: state + - id: date.quarter type: attribute attributes: - title: State - description: State + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) tags: - - Customers + - Date + granularity: QUARTER areRelationsValid: true - sourceColumn: state - sourceColumnDataType: STRING relationships: - defaultView: - data: - id: state - type: label dataset: data: - id: customers + id: date type: dataset labels: data: - - id: state - type: label - - id: geo__state__location + - id: date.quarter type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter meta: origin: originType: NATIVE originId: demo - - id: region + - id: date.year type: attribute attributes: - title: Region - description: Region + title: Date - Year + description: Year tags: - - Customers + - Date + granularity: YEAR areRelationsValid: true - sourceColumn: region - sourceColumnDataType: STRING relationships: dataset: data: - id: customers + id: date type: dataset labels: data: - - id: region + - id: date.year type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year meta: origin: originType: NATIVE originId: demo - - id: customer_name + - id: date.minuteOfHour type: attribute attributes: - title: Customer name - description: Customer name + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) tags: - - Customers + - Date + granularity: MINUTE_OF_HOUR areRelationsValid: true - sourceColumn: customer_name - sourceColumnDataType: STRING relationships: dataset: data: - id: customers + id: date type: dataset labels: data: - - id: customer_name + - id: date.minuteOfHour type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour meta: origin: originType: NATIVE originId: demo - - id: customer_id + - id: date.hourOfDay type: attribute attributes: - title: Customer id - description: Customer id + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) tags: - - Customers + - Date + granularity: HOUR_OF_DAY areRelationsValid: true - sourceColumn: customer_id - sourceColumnDataType: INT relationships: dataset: data: - id: customers + id: date type: dataset labels: data: - - id: customer_id + - id: date.hourOfDay type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay meta: origin: originType: NATIVE originId: demo - - id: order_status + - id: date.dayOfWeek type: attribute attributes: - title: Order status - description: Order status + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) tags: - - Order lines + - Date + granularity: DAY_OF_WEEK areRelationsValid: true - sourceColumn: order_status - sourceColumnDataType: STRING relationships: dataset: data: - id: order_lines + id: date type: dataset labels: data: - - id: order_status + - id: date.dayOfWeek type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek meta: origin: originType: NATIVE originId: demo - - id: order_line_id + - id: date.dayOfMonth type: attribute attributes: - title: Order line id - description: Order line id + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) tags: - - Order lines + - Date + granularity: DAY_OF_MONTH areRelationsValid: true - sourceColumn: order_line_id - sourceColumnDataType: STRING relationships: dataset: data: - id: order_lines + id: date type: dataset labels: data: - - id: order_line_id + - id: date.dayOfMonth type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth meta: origin: originType: NATIVE originId: demo - - id: order_id + - id: date.dayOfYear type: attribute attributes: - title: Order id - description: Order id + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) tags: - - Order lines + - Date + granularity: DAY_OF_YEAR areRelationsValid: true - sourceColumn: order_id - sourceColumnDataType: STRING relationships: dataset: data: - id: order_lines + id: date type: dataset labels: data: - - id: order_id + - id: date.dayOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear meta: origin: originType: NATIVE originId: demo - - id: product_name + - id: date.weekOfYear type: attribute attributes: - title: Product name - description: Product name + title: Date - Week of Year + description: Generic Week (W1-W53) tags: - - Products + - Date + granularity: WEEK_OF_YEAR areRelationsValid: true - sourceColumn: product_name - sourceColumnDataType: STRING relationships: dataset: data: - id: products + id: date type: dataset labels: data: - - id: product_name + - id: date.weekOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear meta: origin: originType: NATIVE originId: demo - - id: product_id + - id: date.monthOfYear type: attribute attributes: - title: Product id - description: Product id + title: Date - Month of Year + description: Generic Month (M1-M12) tags: - - Products + - Date + granularity: MONTH_OF_YEAR areRelationsValid: true - sourceColumn: product_id - sourceColumnDataType: INT relationships: dataset: data: - id: products + id: date type: dataset labels: data: - - id: product_id + - id: date.monthOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear meta: origin: originType: NATIVE originId: demo - - id: products.category + - id: date.quarterOfYear type: attribute attributes: - title: Category - description: Category + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) tags: - - Products + - Date + granularity: QUARTER_OF_YEAR areRelationsValid: true - sourceColumn: category - sourceColumnDataType: STRING relationships: dataset: data: - id: products + id: date type: dataset labels: data: - - id: products.category + - id: date.quarterOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear meta: origin: originType: NATIVE originId: demo - - id: date.quarterOfYear + - id: campaign_channel_id type: attribute attributes: - title: Date - Quarter of Year - description: Generic Quarter (Q1-Q4) + title: Campaign channel id + description: Campaign channel id tags: - - Date - granularity: QUARTER_OF_YEAR + - Campaign channels areRelationsValid: true + sourceColumn: campaign_channel_id + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaign_channels type: dataset labels: data: - - id: date.quarterOfYear + - id: campaign_channel_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id meta: origin: originType: NATIVE originId: demo - - id: date.monthOfYear + - id: campaign_channels.category type: attribute attributes: - title: Date - Month of Year - description: Generic Month (M1-M12) + title: Category + description: Category tags: - - Date - granularity: MONTH_OF_YEAR + - Campaign channels areRelationsValid: true + sourceColumn: category + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaign_channels type: dataset labels: data: - - id: date.monthOfYear + - id: campaign_channels.category type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category meta: origin: originType: NATIVE originId: demo - - id: date.weekOfYear + - id: type type: attribute attributes: - title: Date - Week of Year - description: Generic Week (W1-W53) + title: Type + description: Type tags: - - Date - granularity: WEEK_OF_YEAR + - Campaign channels areRelationsValid: true + sourceColumn: type + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaign_channels type: dataset labels: data: - - id: date.weekOfYear + - id: type type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type meta: origin: originType: NATIVE originId: demo - - id: date.dayOfYear + - id: campaign_id type: attribute attributes: - title: Date - Day of Year - description: Generic Day of the Year (D1-D366) + title: Campaign id + description: Campaign id tags: - - Date - granularity: DAY_OF_YEAR + - Campaigns areRelationsValid: true + sourceColumn: campaign_id + sourceColumnDataType: INT relationships: dataset: data: - id: date + id: campaigns type: dataset labels: data: - - id: date.dayOfYear + - id: campaign_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id meta: origin: originType: NATIVE originId: demo - - id: date.dayOfMonth + - id: campaign_name type: attribute attributes: - title: Date - Day of Month - description: Generic Day of the Month (D1-D31) + title: Campaign name + description: Campaign name tags: - - Date - granularity: DAY_OF_MONTH + - Campaigns areRelationsValid: true + sourceColumn: campaign_name + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaigns type: dataset labels: data: - - id: date.dayOfMonth + - id: campaign_name type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name meta: origin: originType: NATIVE originId: demo - - id: date.dayOfWeek + - id: customer_id type: attribute attributes: - title: Date - Day of Week - description: Generic Day of the Week (D1-D7) + title: Customer id + description: Customer id tags: - - Date - granularity: DAY_OF_WEEK + - Customers areRelationsValid: true + sourceColumn: customer_id + sourceColumnDataType: INT relationships: dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.dayOfWeek + - id: customer_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id meta: origin: originType: NATIVE originId: demo - - id: date.hourOfDay + - id: customer_name type: attribute attributes: - title: Date - Hour of Day - description: Generic Hour of the Day(H1-H24) + title: Customer name + description: Customer name tags: - - Date - granularity: HOUR_OF_DAY + - Customers areRelationsValid: true + sourceColumn: customer_name + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.hourOfDay + - id: customer_name type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name meta: origin: originType: NATIVE originId: demo - - id: date.minuteOfHour + - id: region type: attribute attributes: - title: Date - Minute of Hour - description: Generic Minute of the Hour(MI1-MI60) + title: Region + description: Region tags: - - Date - granularity: MINUTE_OF_HOUR + - Customers areRelationsValid: true + sourceColumn: region + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.minuteOfHour + - id: region type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region meta: origin: originType: NATIVE originId: demo - - id: date.year + - id: state type: attribute attributes: - title: Date - Year - description: Year + title: State + description: State tags: - - Date - granularity: YEAR + - Customers areRelationsValid: true + sourceColumn: state + sourceColumnDataType: STRING relationships: + defaultView: + data: + id: state + type: label dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.year + - id: geo__state__location + type: label + - id: state type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state meta: origin: originType: NATIVE originId: demo - - id: date.quarter + - id: order_id type: attribute attributes: - title: Date - Quarter/Year - description: Quarter and Year (Q1/2020) + title: Order id + description: Order id tags: - - Date - granularity: QUARTER + - Order lines areRelationsValid: true + sourceColumn: order_id + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: order_lines type: dataset labels: data: - - id: date.quarter + - id: order_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id meta: origin: originType: NATIVE originId: demo - - id: date.month + - id: order_line_id type: attribute attributes: - title: Date - Month/Year - description: Month and Year (12/2020) + title: Order line id + description: Order line id tags: - - Date - granularity: MONTH + - Order lines areRelationsValid: true + sourceColumn: order_line_id + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: order_lines type: dataset labels: data: - - id: date.month + - id: order_line_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id meta: origin: originType: NATIVE originId: demo - - id: date.week + - id: order_status type: attribute attributes: - title: Date - Week/Year - description: Week and Year (W52/2020) + title: Order status + description: Order status tags: - - Date - granularity: WEEK + - Order lines areRelationsValid: true + sourceColumn: order_status + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: order_lines type: dataset labels: data: - - id: date.week + - id: order_status type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status meta: origin: originType: NATIVE originId: demo - - id: date.day + - id: product_id type: attribute attributes: - title: Date - Date - description: Date + title: Product id + description: Product id tags: - - Date - granularity: DAY + - Products areRelationsValid: true + sourceColumn: product_id + sourceColumnDataType: INT relationships: dataset: data: - id: date + id: products type: dataset labels: data: - - id: date.day + - id: product_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id meta: origin: originType: NATIVE originId: demo - - id: date.hour + - id: product_name type: attribute attributes: - title: Date - Hour - description: Hour + title: Product name + description: Product name tags: - - Date - granularity: HOUR + - Products areRelationsValid: true + sourceColumn: product_name + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: products type: dataset labels: data: - - id: date.hour + - id: product_name type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name meta: origin: originType: NATIVE originId: demo - - id: date.minute + - id: products.category type: attribute attributes: - title: Date - Minute - description: Minute + title: Category + description: Category tags: - - Date - granularity: MINUTE + - Products areRelationsValid: true + sourceColumn: category + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: products type: dataset labels: data: - - id: date.minute + - id: products.category type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category meta: origin: originType: NATIVE @@ -1007,51 +1007,59 @@ interactions: grain: - id: order_line_id type: attribute - order: 0 referenceProperties: - identifier: - id: products + id: date type: dataset multivalue: false + sources: null sourceColumns: - - product_id + - date sourceColumnDataTypes: - - INT + - DATE - identifier: id: customers type: dataset multivalue: false + sources: null sourceColumns: - customer_id sourceColumnDataTypes: - INT - identifier: - id: date + id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - - date + - campaign_id sourceColumnDataTypes: - - DATE + - INT - identifier: - id: campaigns + id: products type: dataset multivalue: false + sources: null sourceColumns: - - campaign_id + - product_id sourceColumnDataTypes: - INT dataSourceTableId: demo-test-ds:order_lines dataSourceTablePath: - demo - order_lines - workspaceDataFilterProperties: - - workspaceDataFilterIdentifier: + workspaceDataFilterColumns: + - name: wdf__state + dataType: STRING + - name: wdf__region + dataType: STRING + workspaceDataFilterReferences: + - filterId: id: wdf__state type: workspaceDataFilter filterColumn: wdf__state filterColumnDataType: STRING - - workspaceDataFilterIdentifier: + - filterId: id: wdf__region type: workspaceDataFilter filterColumn: wdf__region @@ -1093,12 +1101,12 @@ interactions: grain: - id: campaign_channel_id type: attribute - order: 0 referenceProperties: - identifier: id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - campaign_id sourceColumnDataTypes: @@ -1188,7 +1196,6 @@ interactions: grain: - id: campaign_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:campaigns dataSourceTablePath: - demo @@ -1245,7 +1252,6 @@ interactions: grain: - id: customer_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:customers dataSourceTablePath: - demo @@ -1371,7 +1377,6 @@ interactions: grain: - id: product_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:products dataSourceTablePath: - demo @@ -1475,8 +1480,8 @@ interactions: links: self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_id links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels,datasets&page=0&size=500 - next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels,datasets&page=1&size=500 + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&page=1&size=500 - request: method: GET uri: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500 @@ -1504,7 +1509,7 @@ interactions: Connection: - keep-alive Content-Length: - - '13953' + - '14899' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -1551,6 +1556,54 @@ interactions: body: string: data: + - id: date + type: dataset + attributes: + title: Date + description: '' + tags: + - Date + areRelationsValid: true + type: DATE + relationships: + attributes: + data: + - id: date.quarter + type: attribute + - id: date.minute + type: attribute + - id: date.hourOfDay + type: attribute + - id: date.minuteOfHour + type: attribute + - id: date.dayOfYear + type: attribute + - id: date.monthOfYear + type: attribute + - id: date.weekOfYear + type: attribute + - id: date.week + type: attribute + - id: date.year + type: attribute + - id: date.dayOfWeek + type: attribute + - id: date.hour + type: attribute + - id: date.dayOfMonth + type: attribute + - id: date.month + type: attribute + - id: date.quarterOfYear + type: attribute + - id: date.day + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date + meta: + origin: + originType: NATIVE + originId: demo - id: campaign_channels type: dataset attributes: @@ -1561,16 +1614,20 @@ interactions: grain: - id: campaign_channel_id type: attribute - order: 0 referenceProperties: - identifier: id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - campaign_id - sourceColumnDataTypes: null + sourceColumnDataTypes: + - INT dataSourceTableId: demo-test-ds:campaign_channels + dataSourceTablePath: + - demo + - campaign_channels areRelationsValid: true type: NORMAL relationships: @@ -1578,10 +1635,10 @@ interactions: data: - id: campaign_channel_id type: attribute - - id: type - type: attribute - id: campaign_channels.category type: attribute + - id: type + type: attribute facts: data: - id: budget @@ -1594,6 +1651,68 @@ interactions: origin: originType: NATIVE originId: demo + - id: campaigns + 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 + relationships: + attributes: + data: + - id: campaign_id + type: attribute + - id: campaign_name + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns + meta: + origin: + originType: NATIVE + originId: demo + - id: customers + 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 + relationships: + attributes: + data: + - id: customer_id + type: attribute + - id: state + type: attribute + - id: customer_name + type: attribute + - id: region + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers + meta: + origin: + originType: NATIVE + originId: demo - id: order_lines type: dataset attributes: @@ -1604,59 +1723,74 @@ interactions: grain: - id: order_line_id type: attribute - order: 0 referenceProperties: - identifier: - id: products + id: date type: dataset multivalue: false + sources: null sourceColumns: - - product_id - sourceColumnDataTypes: null + - date + sourceColumnDataTypes: + - DATE - identifier: id: customers type: dataset multivalue: false + sources: null sourceColumns: - customer_id - sourceColumnDataTypes: null + sourceColumnDataTypes: + - INT - identifier: - id: date + id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - - date - sourceColumnDataTypes: null + - campaign_id + sourceColumnDataTypes: + - INT - identifier: - id: campaigns + id: products type: dataset multivalue: false + sources: null sourceColumns: - - campaign_id - sourceColumnDataTypes: null + - product_id + sourceColumnDataTypes: + - INT dataSourceTableId: demo-test-ds:order_lines + dataSourceTablePath: + - demo + - order_lines areRelationsValid: true - workspaceDataFilterProperties: - - workspaceDataFilterIdentifier: - id: wdf__state - type: workspaceDataFilter - filterColumn: wdf__state - filterColumnDataType: STRING - - workspaceDataFilterIdentifier: + workspaceDataFilterColumns: + - name: wdf__state + dataType: STRING + - name: wdf__region + 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 relationships: attributes: data: - - id: order_status - type: attribute - id: order_id type: attribute - id: order_line_id type: attribute + - id: order_status + type: attribute facts: data: - id: price @@ -1679,18 +1813,20 @@ interactions: grain: - id: product_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:products + dataSourceTablePath: + - demo + - products areRelationsValid: true type: NORMAL relationships: attributes: data: - - id: product_name + - id: products.category type: attribute - id: product_id type: attribute - - id: products.category + - id: product_name type: attribute links: self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/products @@ -1698,112 +1834,6 @@ interactions: origin: originType: NATIVE originId: demo - - id: date - type: dataset - attributes: - title: Date - description: '' - tags: - - Date - areRelationsValid: true - type: DATE - relationships: - attributes: - data: - - id: date.quarterOfYear - type: attribute - - id: date.weekOfYear - type: attribute - - id: date.dayOfMonth - type: attribute - - id: date.monthOfYear - type: attribute - - id: date.minuteOfHour - type: attribute - - id: date.hour - type: attribute - - id: date.year - type: attribute - - id: date.week - type: attribute - - id: date.quarter - type: attribute - - id: date.dayOfYear - type: attribute - - id: date.dayOfWeek - type: attribute - - id: date.minute - type: attribute - - id: date.day - type: attribute - - id: date.month - type: attribute - - id: date.hourOfDay - type: attribute - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date - meta: - origin: - originType: NATIVE - originId: demo - - id: campaigns - type: dataset - attributes: - title: Campaigns - description: Campaigns - tags: - - Campaigns - grain: - - id: campaign_id - type: attribute - order: 0 - dataSourceTableId: demo-test-ds:campaigns - areRelationsValid: true - type: NORMAL - relationships: - attributes: - data: - - id: campaign_id - type: attribute - - id: campaign_name - type: attribute - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns - meta: - origin: - originType: NATIVE - originId: demo - - id: customers - type: dataset - attributes: - title: Customers - description: Customers - tags: - - Customers - grain: - - id: customer_id - type: attribute - order: 0 - dataSourceTableId: demo-test-ds:customers - areRelationsValid: true - type: NORMAL - relationships: - attributes: - data: - - id: region - type: attribute - - id: state - type: attribute - - id: customer_id - type: attribute - - id: customer_name - type: attribute - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers - meta: - origin: - originType: NATIVE - originId: demo included: - id: product_id type: attribute @@ -1813,6 +1843,7 @@ interactions: tags: - Products sourceColumn: product_id + sourceColumnDataType: INT links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id - id: budget @@ -1823,6 +1854,7 @@ interactions: tags: - Campaign channels sourceColumn: budget + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/budget - id: date.year @@ -1843,6 +1875,7 @@ interactions: tags: - Products sourceColumn: product_name + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name - id: date.month @@ -1863,6 +1896,7 @@ interactions: tags: - Products sourceColumn: category + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category - id: date.dayOfMonth @@ -1903,6 +1937,7 @@ interactions: tags: - Campaign channels sourceColumn: category + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category - id: date.minute @@ -1923,6 +1958,7 @@ interactions: tags: - Customers sourceColumn: state + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state - id: date.week @@ -1943,6 +1979,7 @@ interactions: tags: - Order lines sourceColumn: order_id + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id - id: date.hour @@ -1963,6 +2000,7 @@ interactions: tags: - Campaigns sourceColumn: campaign_name + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name - id: price @@ -1973,6 +2011,7 @@ interactions: tags: - Order lines sourceColumn: price + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/price - id: date.dayOfWeek @@ -2003,6 +2042,7 @@ interactions: tags: - Customers sourceColumn: region + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region - id: campaign_channel_id @@ -2013,6 +2053,7 @@ interactions: tags: - Campaign channels sourceColumn: campaign_channel_id + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id - id: customer_id @@ -2023,6 +2064,7 @@ interactions: tags: - Customers sourceColumn: customer_id + sourceColumnDataType: INT links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id - id: date.hourOfDay @@ -2043,6 +2085,7 @@ interactions: tags: - Order lines sourceColumn: quantity + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity - id: campaign_id @@ -2053,6 +2096,7 @@ interactions: tags: - Campaigns sourceColumn: campaign_id + sourceColumnDataType: INT links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id - id: type @@ -2063,6 +2107,7 @@ interactions: tags: - Campaign channels sourceColumn: type + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type - id: spend @@ -2073,6 +2118,7 @@ interactions: tags: - Campaign channels sourceColumn: spend + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/spend - id: date.dayOfYear @@ -2113,6 +2159,7 @@ interactions: tags: - Order lines sourceColumn: order_status + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status - id: date.monthOfYear @@ -2133,6 +2180,7 @@ interactions: tags: - Customers sourceColumn: customer_name + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name - id: order_line_id @@ -2143,11 +2191,12 @@ interactions: tags: - Order lines sourceColumn: order_line_id + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=0&size=500 - next: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=1&size=500 + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=1&size=500 - request: method: GET uri: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500 @@ -2175,7 +2224,7 @@ interactions: Connection: - keep-alive Content-Length: - - '9799' + - '10543' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -2227,6 +2276,7 @@ interactions: attributes: title: '# of Active Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0' maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) @@ -2241,6 +2291,7 @@ interactions: attributes: title: '# of Orders' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0' maql: SELECT COUNT({attribute/order_id}) @@ -2255,6 +2306,7 @@ interactions: attributes: title: '# of Top Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0' maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT @@ -2271,6 +2323,7 @@ interactions: title: '# of Valid Orders' description: '' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.00' maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} @@ -2286,6 +2339,7 @@ interactions: attributes: title: Campaign Spend areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT SUM({fact/spend}) @@ -2300,6 +2354,7 @@ interactions: attributes: title: Order Amount areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT SUM({fact/price}*{fact/quantity}) @@ -2314,6 +2369,7 @@ interactions: attributes: title: '% Revenue' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / {metric/total_revenue} @@ -2328,6 +2384,7 @@ interactions: attributes: title: '% Revenue from Top 10 Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ @@ -2343,6 +2400,7 @@ interactions: attributes: title: '% Revenue from Top 10% Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ @@ -2358,6 +2416,7 @@ interactions: attributes: title: '% Revenue from Top 10% Products' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ @@ -2373,6 +2432,7 @@ interactions: attributes: title: '% Revenue from Top 10 Products' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ @@ -2388,6 +2448,7 @@ interactions: attributes: title: '% Revenue in Category' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, @@ -2403,6 +2464,7 @@ interactions: attributes: title: '% Revenue per Product' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL @@ -2419,6 +2481,7 @@ interactions: title: Revenue description: '' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} @@ -2434,6 +2497,7 @@ interactions: attributes: title: Revenue (Clothing) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2449,6 +2513,7 @@ interactions: attributes: title: Revenue (Electronic) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2464,6 +2529,7 @@ interactions: attributes: title: Revenue (Home) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2479,6 +2545,7 @@ interactions: attributes: title: Revenue (Outdoor) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2494,6 +2561,7 @@ interactions: attributes: title: Revenue per Customer areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0.0 maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) @@ -2508,6 +2576,7 @@ interactions: attributes: title: Revenue per Dollar Spent areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0.0 maql: SELECT {metric/revenue} / {metric/campaign_spend} @@ -2522,6 +2591,7 @@ interactions: attributes: title: Revenue / Top 10 areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) @@ -2536,6 +2606,7 @@ interactions: attributes: title: Revenue / Top 10% areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) @@ -2550,6 +2621,7 @@ interactions: attributes: title: Total Revenue areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} BY ALL OTHER @@ -2564,6 +2636,7 @@ interactions: attributes: title: Total Revenue (No Filters) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER @@ -2578,7 +2651,7 @@ interactions: next: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=1&size=500 - request: method: GET - uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/2b8222c2b4b5906d81685c1c574fa383232e1a3b?offset=0&limit=1000 + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/ba725887f3c47d49ab254689b91086f0a865a2ce?offset=0&limit=1000 body: null headers: Accept: diff --git a/gooddata-pandas/tests/series/fixtures/not_indexed_metric_series.yaml b/gooddata-pandas/tests/series/fixtures/not_indexed_metric_series.yaml index eb1478d20..e0da27adb 100644 --- a/gooddata-pandas/tests/series/fixtures/not_indexed_metric_series.yaml +++ b/gooddata-pandas/tests/series/fixtures/not_indexed_metric_series.yaml @@ -105,7 +105,7 @@ interactions: - localIdentifier: 27c4b665b9d047b1a66a149714f1c596 localIdentifier: dim_0 links: - executionResult: 8d358a942a2a5294ead287237ae76b3ea0b8cf2c + executionResult: 51a3ee3938e1b5a98728506df8d8cf6805fff13c - request: method: GET uri: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&page=0&size=500 @@ -133,7 +133,7 @@ interactions: Connection: - keep-alive Content-Length: - - '27018' + - '27121' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -180,743 +180,743 @@ interactions: body: string: data: - - id: campaign_channels.category + - id: date.minute type: attribute attributes: - title: Category - description: Category + title: Date - Minute + description: Minute tags: - - Campaign channels + - Date + granularity: MINUTE areRelationsValid: true - sourceColumn: category - sourceColumnDataType: STRING relationships: dataset: data: - id: campaign_channels + id: date type: dataset labels: data: - - id: campaign_channels.category + - id: date.minute type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute meta: origin: originType: NATIVE originId: demo - - id: campaign_channel_id + - id: date.hour type: attribute attributes: - title: Campaign channel id - description: Campaign channel id + title: Date - Hour + description: Hour tags: - - Campaign channels + - Date + granularity: HOUR areRelationsValid: true - sourceColumn: campaign_channel_id - sourceColumnDataType: STRING relationships: dataset: data: - id: campaign_channels + id: date type: dataset labels: data: - - id: campaign_channel_id + - id: date.hour type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour meta: origin: originType: NATIVE originId: demo - - id: type + - id: date.day type: attribute attributes: - title: Type - description: Type + title: Date - Date + description: Date tags: - - Campaign channels + - Date + granularity: DAY areRelationsValid: true - sourceColumn: type - sourceColumnDataType: STRING relationships: dataset: data: - id: campaign_channels + id: date type: dataset labels: data: - - id: type + - id: date.day type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day meta: origin: originType: NATIVE originId: demo - - id: campaign_name + - id: date.week type: attribute attributes: - title: Campaign name - description: Campaign name + title: Date - Week/Year + description: Week and Year (W52/2020) tags: - - Campaigns + - Date + granularity: WEEK areRelationsValid: true - sourceColumn: campaign_name - sourceColumnDataType: STRING relationships: dataset: data: - id: campaigns + id: date type: dataset labels: data: - - id: campaign_name + - id: date.week type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week meta: origin: originType: NATIVE originId: demo - - id: campaign_id + - id: date.month type: attribute attributes: - title: Campaign id - description: Campaign id + title: Date - Month/Year + description: Month and Year (12/2020) tags: - - Campaigns + - Date + granularity: MONTH areRelationsValid: true - sourceColumn: campaign_id - sourceColumnDataType: INT relationships: dataset: data: - id: campaigns + id: date type: dataset labels: data: - - id: campaign_id + - id: date.month type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month meta: origin: originType: NATIVE originId: demo - - id: state + - id: date.quarter type: attribute attributes: - title: State - description: State + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) tags: - - Customers + - Date + granularity: QUARTER areRelationsValid: true - sourceColumn: state - sourceColumnDataType: STRING relationships: - defaultView: - data: - id: state - type: label dataset: data: - id: customers + id: date type: dataset labels: data: - - id: state - type: label - - id: geo__state__location + - id: date.quarter type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter meta: origin: originType: NATIVE originId: demo - - id: region + - id: date.year type: attribute attributes: - title: Region - description: Region + title: Date - Year + description: Year tags: - - Customers + - Date + granularity: YEAR areRelationsValid: true - sourceColumn: region - sourceColumnDataType: STRING relationships: dataset: data: - id: customers + id: date type: dataset labels: data: - - id: region + - id: date.year type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year meta: origin: originType: NATIVE originId: demo - - id: customer_name + - id: date.minuteOfHour type: attribute attributes: - title: Customer name - description: Customer name + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) tags: - - Customers + - Date + granularity: MINUTE_OF_HOUR areRelationsValid: true - sourceColumn: customer_name - sourceColumnDataType: STRING relationships: dataset: data: - id: customers + id: date type: dataset labels: data: - - id: customer_name + - id: date.minuteOfHour type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour meta: origin: originType: NATIVE originId: demo - - id: customer_id + - id: date.hourOfDay type: attribute attributes: - title: Customer id - description: Customer id + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) tags: - - Customers + - Date + granularity: HOUR_OF_DAY areRelationsValid: true - sourceColumn: customer_id - sourceColumnDataType: INT relationships: dataset: data: - id: customers + id: date type: dataset labels: data: - - id: customer_id + - id: date.hourOfDay type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay meta: origin: originType: NATIVE originId: demo - - id: order_status + - id: date.dayOfWeek type: attribute attributes: - title: Order status - description: Order status + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) tags: - - Order lines + - Date + granularity: DAY_OF_WEEK areRelationsValid: true - sourceColumn: order_status - sourceColumnDataType: STRING relationships: dataset: data: - id: order_lines + id: date type: dataset labels: data: - - id: order_status + - id: date.dayOfWeek type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek meta: origin: originType: NATIVE originId: demo - - id: order_line_id + - id: date.dayOfMonth type: attribute attributes: - title: Order line id - description: Order line id + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) tags: - - Order lines + - Date + granularity: DAY_OF_MONTH areRelationsValid: true - sourceColumn: order_line_id - sourceColumnDataType: STRING relationships: dataset: data: - id: order_lines + id: date type: dataset labels: data: - - id: order_line_id + - id: date.dayOfMonth type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth meta: origin: originType: NATIVE originId: demo - - id: order_id + - id: date.dayOfYear type: attribute attributes: - title: Order id - description: Order id + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) tags: - - Order lines + - Date + granularity: DAY_OF_YEAR areRelationsValid: true - sourceColumn: order_id - sourceColumnDataType: STRING relationships: dataset: data: - id: order_lines + id: date type: dataset labels: data: - - id: order_id + - id: date.dayOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear meta: origin: originType: NATIVE originId: demo - - id: product_name + - id: date.weekOfYear type: attribute attributes: - title: Product name - description: Product name + title: Date - Week of Year + description: Generic Week (W1-W53) tags: - - Products + - Date + granularity: WEEK_OF_YEAR areRelationsValid: true - sourceColumn: product_name - sourceColumnDataType: STRING relationships: dataset: data: - id: products + id: date type: dataset labels: data: - - id: product_name + - id: date.weekOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear meta: origin: originType: NATIVE originId: demo - - id: product_id + - id: date.monthOfYear type: attribute attributes: - title: Product id - description: Product id + title: Date - Month of Year + description: Generic Month (M1-M12) tags: - - Products + - Date + granularity: MONTH_OF_YEAR areRelationsValid: true - sourceColumn: product_id - sourceColumnDataType: INT relationships: dataset: data: - id: products + id: date type: dataset labels: data: - - id: product_id + - id: date.monthOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear meta: origin: originType: NATIVE originId: demo - - id: products.category + - id: date.quarterOfYear type: attribute attributes: - title: Category - description: Category + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) tags: - - Products + - Date + granularity: QUARTER_OF_YEAR areRelationsValid: true - sourceColumn: category - sourceColumnDataType: STRING relationships: dataset: data: - id: products + id: date type: dataset labels: data: - - id: products.category + - id: date.quarterOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear meta: origin: originType: NATIVE originId: demo - - id: date.quarterOfYear + - id: campaign_channel_id type: attribute attributes: - title: Date - Quarter of Year - description: Generic Quarter (Q1-Q4) + title: Campaign channel id + description: Campaign channel id tags: - - Date - granularity: QUARTER_OF_YEAR + - Campaign channels areRelationsValid: true + sourceColumn: campaign_channel_id + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaign_channels type: dataset labels: data: - - id: date.quarterOfYear + - id: campaign_channel_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id meta: origin: originType: NATIVE originId: demo - - id: date.monthOfYear + - id: campaign_channels.category type: attribute attributes: - title: Date - Month of Year - description: Generic Month (M1-M12) + title: Category + description: Category tags: - - Date - granularity: MONTH_OF_YEAR + - Campaign channels areRelationsValid: true + sourceColumn: category + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaign_channels type: dataset labels: data: - - id: date.monthOfYear + - id: campaign_channels.category type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category meta: origin: originType: NATIVE originId: demo - - id: date.weekOfYear + - id: type type: attribute attributes: - title: Date - Week of Year - description: Generic Week (W1-W53) + title: Type + description: Type tags: - - Date - granularity: WEEK_OF_YEAR + - Campaign channels areRelationsValid: true + sourceColumn: type + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaign_channels type: dataset labels: data: - - id: date.weekOfYear + - id: type type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type meta: origin: originType: NATIVE originId: demo - - id: date.dayOfYear + - id: campaign_id type: attribute attributes: - title: Date - Day of Year - description: Generic Day of the Year (D1-D366) + title: Campaign id + description: Campaign id tags: - - Date - granularity: DAY_OF_YEAR + - Campaigns areRelationsValid: true + sourceColumn: campaign_id + sourceColumnDataType: INT relationships: dataset: data: - id: date + id: campaigns type: dataset labels: data: - - id: date.dayOfYear + - id: campaign_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id meta: origin: originType: NATIVE originId: demo - - id: date.dayOfMonth + - id: campaign_name type: attribute attributes: - title: Date - Day of Month - description: Generic Day of the Month (D1-D31) + title: Campaign name + description: Campaign name tags: - - Date - granularity: DAY_OF_MONTH + - Campaigns areRelationsValid: true + sourceColumn: campaign_name + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaigns type: dataset labels: data: - - id: date.dayOfMonth + - id: campaign_name type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name meta: origin: originType: NATIVE originId: demo - - id: date.dayOfWeek + - id: customer_id type: attribute attributes: - title: Date - Day of Week - description: Generic Day of the Week (D1-D7) + title: Customer id + description: Customer id tags: - - Date - granularity: DAY_OF_WEEK + - Customers areRelationsValid: true + sourceColumn: customer_id + sourceColumnDataType: INT relationships: dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.dayOfWeek + - id: customer_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id meta: origin: originType: NATIVE originId: demo - - id: date.hourOfDay + - id: customer_name type: attribute attributes: - title: Date - Hour of Day - description: Generic Hour of the Day(H1-H24) + title: Customer name + description: Customer name tags: - - Date - granularity: HOUR_OF_DAY + - Customers areRelationsValid: true + sourceColumn: customer_name + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.hourOfDay + - id: customer_name type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name meta: origin: originType: NATIVE originId: demo - - id: date.minuteOfHour + - id: region type: attribute attributes: - title: Date - Minute of Hour - description: Generic Minute of the Hour(MI1-MI60) + title: Region + description: Region tags: - - Date - granularity: MINUTE_OF_HOUR + - Customers areRelationsValid: true + sourceColumn: region + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.minuteOfHour + - id: region type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region meta: origin: originType: NATIVE originId: demo - - id: date.year + - id: state type: attribute attributes: - title: Date - Year - description: Year + title: State + description: State tags: - - Date - granularity: YEAR + - Customers areRelationsValid: true + sourceColumn: state + sourceColumnDataType: STRING relationships: + defaultView: + data: + id: state + type: label dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.year + - id: geo__state__location + type: label + - id: state type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state meta: origin: originType: NATIVE originId: demo - - id: date.quarter + - id: order_id type: attribute attributes: - title: Date - Quarter/Year - description: Quarter and Year (Q1/2020) + title: Order id + description: Order id tags: - - Date - granularity: QUARTER + - Order lines areRelationsValid: true + sourceColumn: order_id + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: order_lines type: dataset labels: data: - - id: date.quarter + - id: order_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id meta: origin: originType: NATIVE originId: demo - - id: date.month + - id: order_line_id type: attribute attributes: - title: Date - Month/Year - description: Month and Year (12/2020) + title: Order line id + description: Order line id tags: - - Date - granularity: MONTH + - Order lines areRelationsValid: true + sourceColumn: order_line_id + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: order_lines type: dataset labels: data: - - id: date.month + - id: order_line_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id meta: origin: originType: NATIVE originId: demo - - id: date.week + - id: order_status type: attribute attributes: - title: Date - Week/Year - description: Week and Year (W52/2020) + title: Order status + description: Order status tags: - - Date - granularity: WEEK + - Order lines areRelationsValid: true + sourceColumn: order_status + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: order_lines type: dataset labels: data: - - id: date.week + - id: order_status type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status meta: origin: originType: NATIVE originId: demo - - id: date.day + - id: product_id type: attribute attributes: - title: Date - Date - description: Date + title: Product id + description: Product id tags: - - Date - granularity: DAY + - Products areRelationsValid: true + sourceColumn: product_id + sourceColumnDataType: INT relationships: dataset: data: - id: date + id: products type: dataset labels: data: - - id: date.day + - id: product_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id meta: origin: originType: NATIVE originId: demo - - id: date.hour + - id: product_name type: attribute attributes: - title: Date - Hour - description: Hour + title: Product name + description: Product name tags: - - Date - granularity: HOUR + - Products areRelationsValid: true + sourceColumn: product_name + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: products type: dataset labels: data: - - id: date.hour + - id: product_name type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name meta: origin: originType: NATIVE originId: demo - - id: date.minute + - id: products.category type: attribute attributes: - title: Date - Minute - description: Minute + title: Category + description: Category tags: - - Date - granularity: MINUTE + - Products areRelationsValid: true + sourceColumn: category + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: products type: dataset labels: data: - - id: date.minute + - id: products.category type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category meta: origin: originType: NATIVE @@ -980,51 +980,59 @@ interactions: grain: - id: order_line_id type: attribute - order: 0 referenceProperties: - identifier: - id: products + id: date type: dataset multivalue: false + sources: null sourceColumns: - - product_id + - date sourceColumnDataTypes: - - INT + - DATE - identifier: id: customers type: dataset multivalue: false + sources: null sourceColumns: - customer_id sourceColumnDataTypes: - INT - identifier: - id: date + id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - - date + - campaign_id sourceColumnDataTypes: - - DATE + - INT - identifier: - id: campaigns + id: products type: dataset multivalue: false + sources: null sourceColumns: - - campaign_id + - product_id sourceColumnDataTypes: - INT dataSourceTableId: demo-test-ds:order_lines dataSourceTablePath: - demo - order_lines - workspaceDataFilterProperties: - - workspaceDataFilterIdentifier: + workspaceDataFilterColumns: + - name: wdf__state + dataType: STRING + - name: wdf__region + dataType: STRING + workspaceDataFilterReferences: + - filterId: id: wdf__state type: workspaceDataFilter filterColumn: wdf__state filterColumnDataType: STRING - - workspaceDataFilterIdentifier: + - filterId: id: wdf__region type: workspaceDataFilter filterColumn: wdf__region @@ -1066,12 +1074,12 @@ interactions: grain: - id: campaign_channel_id type: attribute - order: 0 referenceProperties: - identifier: id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - campaign_id sourceColumnDataTypes: @@ -1161,7 +1169,6 @@ interactions: grain: - id: campaign_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:campaigns dataSourceTablePath: - demo @@ -1218,7 +1225,6 @@ interactions: grain: - id: customer_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:customers dataSourceTablePath: - demo @@ -1344,7 +1350,6 @@ interactions: grain: - id: product_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:products dataSourceTablePath: - demo @@ -1448,8 +1453,8 @@ interactions: links: self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_id links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels,datasets&page=0&size=500 - next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels,datasets&page=1&size=500 + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&page=1&size=500 - request: method: GET uri: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500 @@ -1477,7 +1482,7 @@ interactions: Connection: - keep-alive Content-Length: - - '13953' + - '14899' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -1524,6 +1529,54 @@ interactions: body: string: data: + - id: date + type: dataset + attributes: + title: Date + description: '' + tags: + - Date + areRelationsValid: true + type: DATE + relationships: + attributes: + data: + - id: date.quarter + type: attribute + - id: date.minute + type: attribute + - id: date.hourOfDay + type: attribute + - id: date.minuteOfHour + type: attribute + - id: date.dayOfYear + type: attribute + - id: date.monthOfYear + type: attribute + - id: date.weekOfYear + type: attribute + - id: date.week + type: attribute + - id: date.year + type: attribute + - id: date.dayOfWeek + type: attribute + - id: date.hour + type: attribute + - id: date.dayOfMonth + type: attribute + - id: date.month + type: attribute + - id: date.quarterOfYear + type: attribute + - id: date.day + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date + meta: + origin: + originType: NATIVE + originId: demo - id: campaign_channels type: dataset attributes: @@ -1534,16 +1587,20 @@ interactions: grain: - id: campaign_channel_id type: attribute - order: 0 referenceProperties: - identifier: id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - campaign_id - sourceColumnDataTypes: null + sourceColumnDataTypes: + - INT dataSourceTableId: demo-test-ds:campaign_channels + dataSourceTablePath: + - demo + - campaign_channels areRelationsValid: true type: NORMAL relationships: @@ -1551,10 +1608,10 @@ interactions: data: - id: campaign_channel_id type: attribute - - id: type - type: attribute - id: campaign_channels.category type: attribute + - id: type + type: attribute facts: data: - id: budget @@ -1567,6 +1624,68 @@ interactions: origin: originType: NATIVE originId: demo + - id: campaigns + 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 + relationships: + attributes: + data: + - id: campaign_id + type: attribute + - id: campaign_name + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns + meta: + origin: + originType: NATIVE + originId: demo + - id: customers + 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 + relationships: + attributes: + data: + - id: customer_id + type: attribute + - id: state + type: attribute + - id: customer_name + type: attribute + - id: region + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers + meta: + origin: + originType: NATIVE + originId: demo - id: order_lines type: dataset attributes: @@ -1577,59 +1696,74 @@ interactions: grain: - id: order_line_id type: attribute - order: 0 referenceProperties: - identifier: - id: products + id: date type: dataset multivalue: false + sources: null sourceColumns: - - product_id - sourceColumnDataTypes: null + - date + sourceColumnDataTypes: + - DATE - identifier: id: customers type: dataset multivalue: false + sources: null sourceColumns: - customer_id - sourceColumnDataTypes: null + sourceColumnDataTypes: + - INT - identifier: - id: date + id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - - date - sourceColumnDataTypes: null + - campaign_id + sourceColumnDataTypes: + - INT - identifier: - id: campaigns + id: products type: dataset multivalue: false + sources: null sourceColumns: - - campaign_id - sourceColumnDataTypes: null + - product_id + sourceColumnDataTypes: + - INT dataSourceTableId: demo-test-ds:order_lines + dataSourceTablePath: + - demo + - order_lines areRelationsValid: true - workspaceDataFilterProperties: - - workspaceDataFilterIdentifier: - id: wdf__state - type: workspaceDataFilter - filterColumn: wdf__state - filterColumnDataType: STRING - - workspaceDataFilterIdentifier: + workspaceDataFilterColumns: + - name: wdf__state + dataType: STRING + - name: wdf__region + 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 relationships: attributes: data: - - id: order_status - type: attribute - id: order_id type: attribute - id: order_line_id type: attribute + - id: order_status + type: attribute facts: data: - id: price @@ -1652,18 +1786,20 @@ interactions: grain: - id: product_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:products + dataSourceTablePath: + - demo + - products areRelationsValid: true type: NORMAL relationships: attributes: data: - - id: product_name + - id: products.category type: attribute - id: product_id type: attribute - - id: products.category + - id: product_name type: attribute links: self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/products @@ -1671,112 +1807,6 @@ interactions: origin: originType: NATIVE originId: demo - - id: date - type: dataset - attributes: - title: Date - description: '' - tags: - - Date - areRelationsValid: true - type: DATE - relationships: - attributes: - data: - - id: date.quarterOfYear - type: attribute - - id: date.weekOfYear - type: attribute - - id: date.dayOfMonth - type: attribute - - id: date.monthOfYear - type: attribute - - id: date.minuteOfHour - type: attribute - - id: date.hour - type: attribute - - id: date.year - type: attribute - - id: date.week - type: attribute - - id: date.quarter - type: attribute - - id: date.dayOfYear - type: attribute - - id: date.dayOfWeek - type: attribute - - id: date.minute - type: attribute - - id: date.day - type: attribute - - id: date.month - type: attribute - - id: date.hourOfDay - type: attribute - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date - meta: - origin: - originType: NATIVE - originId: demo - - id: campaigns - type: dataset - attributes: - title: Campaigns - description: Campaigns - tags: - - Campaigns - grain: - - id: campaign_id - type: attribute - order: 0 - dataSourceTableId: demo-test-ds:campaigns - areRelationsValid: true - type: NORMAL - relationships: - attributes: - data: - - id: campaign_id - type: attribute - - id: campaign_name - type: attribute - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns - meta: - origin: - originType: NATIVE - originId: demo - - id: customers - type: dataset - attributes: - title: Customers - description: Customers - tags: - - Customers - grain: - - id: customer_id - type: attribute - order: 0 - dataSourceTableId: demo-test-ds:customers - areRelationsValid: true - type: NORMAL - relationships: - attributes: - data: - - id: region - type: attribute - - id: state - type: attribute - - id: customer_id - type: attribute - - id: customer_name - type: attribute - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers - meta: - origin: - originType: NATIVE - originId: demo included: - id: product_id type: attribute @@ -1786,6 +1816,7 @@ interactions: tags: - Products sourceColumn: product_id + sourceColumnDataType: INT links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id - id: budget @@ -1796,6 +1827,7 @@ interactions: tags: - Campaign channels sourceColumn: budget + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/budget - id: date.year @@ -1816,6 +1848,7 @@ interactions: tags: - Products sourceColumn: product_name + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name - id: date.month @@ -1836,6 +1869,7 @@ interactions: tags: - Products sourceColumn: category + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category - id: date.dayOfMonth @@ -1876,6 +1910,7 @@ interactions: tags: - Campaign channels sourceColumn: category + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category - id: date.minute @@ -1896,6 +1931,7 @@ interactions: tags: - Customers sourceColumn: state + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state - id: date.week @@ -1916,6 +1952,7 @@ interactions: tags: - Order lines sourceColumn: order_id + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id - id: date.hour @@ -1936,6 +1973,7 @@ interactions: tags: - Campaigns sourceColumn: campaign_name + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name - id: price @@ -1946,6 +1984,7 @@ interactions: tags: - Order lines sourceColumn: price + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/price - id: date.dayOfWeek @@ -1976,6 +2015,7 @@ interactions: tags: - Customers sourceColumn: region + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region - id: campaign_channel_id @@ -1986,6 +2026,7 @@ interactions: tags: - Campaign channels sourceColumn: campaign_channel_id + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id - id: customer_id @@ -1996,6 +2037,7 @@ interactions: tags: - Customers sourceColumn: customer_id + sourceColumnDataType: INT links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id - id: date.hourOfDay @@ -2016,6 +2058,7 @@ interactions: tags: - Order lines sourceColumn: quantity + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity - id: campaign_id @@ -2026,6 +2069,7 @@ interactions: tags: - Campaigns sourceColumn: campaign_id + sourceColumnDataType: INT links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id - id: type @@ -2036,6 +2080,7 @@ interactions: tags: - Campaign channels sourceColumn: type + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type - id: spend @@ -2046,6 +2091,7 @@ interactions: tags: - Campaign channels sourceColumn: spend + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/spend - id: date.dayOfYear @@ -2086,6 +2132,7 @@ interactions: tags: - Order lines sourceColumn: order_status + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status - id: date.monthOfYear @@ -2106,6 +2153,7 @@ interactions: tags: - Customers sourceColumn: customer_name + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name - id: order_line_id @@ -2116,11 +2164,12 @@ interactions: tags: - Order lines sourceColumn: order_line_id + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=0&size=500 - next: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=1&size=500 + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=1&size=500 - request: method: GET uri: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500 @@ -2148,7 +2197,7 @@ interactions: Connection: - keep-alive Content-Length: - - '9799' + - '10543' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -2200,6 +2249,7 @@ interactions: attributes: title: '# of Active Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0' maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) @@ -2214,6 +2264,7 @@ interactions: attributes: title: '# of Orders' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0' maql: SELECT COUNT({attribute/order_id}) @@ -2228,6 +2279,7 @@ interactions: attributes: title: '# of Top Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0' maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT @@ -2244,6 +2296,7 @@ interactions: title: '# of Valid Orders' description: '' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.00' maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} @@ -2259,6 +2312,7 @@ interactions: attributes: title: Campaign Spend areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT SUM({fact/spend}) @@ -2273,6 +2327,7 @@ interactions: attributes: title: Order Amount areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT SUM({fact/price}*{fact/quantity}) @@ -2287,6 +2342,7 @@ interactions: attributes: title: '% Revenue' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / {metric/total_revenue} @@ -2301,6 +2357,7 @@ interactions: attributes: title: '% Revenue from Top 10 Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ @@ -2316,6 +2373,7 @@ interactions: attributes: title: '% Revenue from Top 10% Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ @@ -2331,6 +2389,7 @@ interactions: attributes: title: '% Revenue from Top 10% Products' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ @@ -2346,6 +2405,7 @@ interactions: attributes: title: '% Revenue from Top 10 Products' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ @@ -2361,6 +2421,7 @@ interactions: attributes: title: '% Revenue in Category' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, @@ -2376,6 +2437,7 @@ interactions: attributes: title: '% Revenue per Product' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL @@ -2392,6 +2454,7 @@ interactions: title: Revenue description: '' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} @@ -2407,6 +2470,7 @@ interactions: attributes: title: Revenue (Clothing) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2422,6 +2486,7 @@ interactions: attributes: title: Revenue (Electronic) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2437,6 +2502,7 @@ interactions: attributes: title: Revenue (Home) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2452,6 +2518,7 @@ interactions: attributes: title: Revenue (Outdoor) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2467,6 +2534,7 @@ interactions: attributes: title: Revenue per Customer areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0.0 maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) @@ -2481,6 +2549,7 @@ interactions: attributes: title: Revenue per Dollar Spent areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0.0 maql: SELECT {metric/revenue} / {metric/campaign_spend} @@ -2495,6 +2564,7 @@ interactions: attributes: title: Revenue / Top 10 areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) @@ -2509,6 +2579,7 @@ interactions: attributes: title: Revenue / Top 10% areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) @@ -2523,6 +2594,7 @@ interactions: attributes: title: Total Revenue areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} BY ALL OTHER @@ -2537,6 +2609,7 @@ interactions: attributes: title: Total Revenue (No Filters) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER @@ -2551,7 +2624,7 @@ interactions: next: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=1&size=500 - request: method: GET - uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/8d358a942a2a5294ead287237ae76b3ea0b8cf2c?offset=0&limit=1 + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/51a3ee3938e1b5a98728506df8d8cf6805fff13c?offset=0&limit=1 body: null headers: Accept: diff --git a/gooddata-pandas/tests/series/fixtures/not_indexed_metric_series_with_granularity.yaml b/gooddata-pandas/tests/series/fixtures/not_indexed_metric_series_with_granularity.yaml index ebc93616d..a9ebaa9c3 100644 --- a/gooddata-pandas/tests/series/fixtures/not_indexed_metric_series_with_granularity.yaml +++ b/gooddata-pandas/tests/series/fixtures/not_indexed_metric_series_with_granularity.yaml @@ -129,7 +129,7 @@ interactions: type: label localIdentifier: dim_1 links: - executionResult: 05b3a1d494592c445362b3ef57be390e1a77d1c7 + executionResult: a144c0bff8045a57ad136b06edfe88676d8b5b04 - request: method: GET uri: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&page=0&size=500 @@ -157,7 +157,7 @@ interactions: Connection: - keep-alive Content-Length: - - '27018' + - '27121' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -204,743 +204,743 @@ interactions: body: string: data: - - id: campaign_channels.category + - id: date.minute type: attribute attributes: - title: Category - description: Category + title: Date - Minute + description: Minute tags: - - Campaign channels + - Date + granularity: MINUTE areRelationsValid: true - sourceColumn: category - sourceColumnDataType: STRING relationships: dataset: data: - id: campaign_channels + id: date type: dataset labels: data: - - id: campaign_channels.category + - id: date.minute type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute meta: origin: originType: NATIVE originId: demo - - id: campaign_channel_id + - id: date.hour type: attribute attributes: - title: Campaign channel id - description: Campaign channel id + title: Date - Hour + description: Hour tags: - - Campaign channels + - Date + granularity: HOUR areRelationsValid: true - sourceColumn: campaign_channel_id - sourceColumnDataType: STRING relationships: dataset: data: - id: campaign_channels + id: date type: dataset labels: data: - - id: campaign_channel_id + - id: date.hour type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour meta: origin: originType: NATIVE originId: demo - - id: type + - id: date.day type: attribute attributes: - title: Type - description: Type + title: Date - Date + description: Date tags: - - Campaign channels + - Date + granularity: DAY areRelationsValid: true - sourceColumn: type - sourceColumnDataType: STRING relationships: dataset: data: - id: campaign_channels + id: date type: dataset labels: data: - - id: type + - id: date.day type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day meta: origin: originType: NATIVE originId: demo - - id: campaign_name + - id: date.week type: attribute attributes: - title: Campaign name - description: Campaign name + title: Date - Week/Year + description: Week and Year (W52/2020) tags: - - Campaigns + - Date + granularity: WEEK areRelationsValid: true - sourceColumn: campaign_name - sourceColumnDataType: STRING relationships: dataset: data: - id: campaigns + id: date type: dataset labels: data: - - id: campaign_name + - id: date.week type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week meta: origin: originType: NATIVE originId: demo - - id: campaign_id + - id: date.month type: attribute attributes: - title: Campaign id - description: Campaign id + title: Date - Month/Year + description: Month and Year (12/2020) tags: - - Campaigns + - Date + granularity: MONTH areRelationsValid: true - sourceColumn: campaign_id - sourceColumnDataType: INT relationships: dataset: data: - id: campaigns + id: date type: dataset labels: data: - - id: campaign_id + - id: date.month type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month meta: origin: originType: NATIVE originId: demo - - id: state + - id: date.quarter type: attribute attributes: - title: State - description: State + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) tags: - - Customers + - Date + granularity: QUARTER areRelationsValid: true - sourceColumn: state - sourceColumnDataType: STRING relationships: - defaultView: - data: - id: state - type: label dataset: data: - id: customers + id: date type: dataset labels: data: - - id: state - type: label - - id: geo__state__location + - id: date.quarter type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter meta: origin: originType: NATIVE originId: demo - - id: region + - id: date.year type: attribute attributes: - title: Region - description: Region + title: Date - Year + description: Year tags: - - Customers + - Date + granularity: YEAR areRelationsValid: true - sourceColumn: region - sourceColumnDataType: STRING relationships: dataset: data: - id: customers + id: date type: dataset labels: data: - - id: region + - id: date.year type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year meta: origin: originType: NATIVE originId: demo - - id: customer_name + - id: date.minuteOfHour type: attribute attributes: - title: Customer name - description: Customer name + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) tags: - - Customers + - Date + granularity: MINUTE_OF_HOUR areRelationsValid: true - sourceColumn: customer_name - sourceColumnDataType: STRING relationships: dataset: data: - id: customers + id: date type: dataset labels: data: - - id: customer_name + - id: date.minuteOfHour type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour meta: origin: originType: NATIVE originId: demo - - id: customer_id + - id: date.hourOfDay type: attribute attributes: - title: Customer id - description: Customer id + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) tags: - - Customers + - Date + granularity: HOUR_OF_DAY areRelationsValid: true - sourceColumn: customer_id - sourceColumnDataType: INT relationships: dataset: data: - id: customers + id: date type: dataset labels: data: - - id: customer_id + - id: date.hourOfDay type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay meta: origin: originType: NATIVE originId: demo - - id: order_status + - id: date.dayOfWeek type: attribute attributes: - title: Order status - description: Order status + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) tags: - - Order lines + - Date + granularity: DAY_OF_WEEK areRelationsValid: true - sourceColumn: order_status - sourceColumnDataType: STRING relationships: dataset: data: - id: order_lines + id: date type: dataset labels: data: - - id: order_status + - id: date.dayOfWeek type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek meta: origin: originType: NATIVE originId: demo - - id: order_line_id + - id: date.dayOfMonth type: attribute attributes: - title: Order line id - description: Order line id + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) tags: - - Order lines + - Date + granularity: DAY_OF_MONTH areRelationsValid: true - sourceColumn: order_line_id - sourceColumnDataType: STRING relationships: dataset: data: - id: order_lines + id: date type: dataset labels: data: - - id: order_line_id + - id: date.dayOfMonth type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth meta: origin: originType: NATIVE originId: demo - - id: order_id + - id: date.dayOfYear type: attribute attributes: - title: Order id - description: Order id + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) tags: - - Order lines + - Date + granularity: DAY_OF_YEAR areRelationsValid: true - sourceColumn: order_id - sourceColumnDataType: STRING relationships: dataset: data: - id: order_lines + id: date type: dataset labels: data: - - id: order_id + - id: date.dayOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear meta: origin: originType: NATIVE originId: demo - - id: product_name + - id: date.weekOfYear type: attribute attributes: - title: Product name - description: Product name + title: Date - Week of Year + description: Generic Week (W1-W53) tags: - - Products + - Date + granularity: WEEK_OF_YEAR areRelationsValid: true - sourceColumn: product_name - sourceColumnDataType: STRING relationships: dataset: data: - id: products + id: date type: dataset labels: data: - - id: product_name + - id: date.weekOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear meta: origin: originType: NATIVE originId: demo - - id: product_id + - id: date.monthOfYear type: attribute attributes: - title: Product id - description: Product id + title: Date - Month of Year + description: Generic Month (M1-M12) tags: - - Products + - Date + granularity: MONTH_OF_YEAR areRelationsValid: true - sourceColumn: product_id - sourceColumnDataType: INT relationships: dataset: data: - id: products + id: date type: dataset labels: data: - - id: product_id + - id: date.monthOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear meta: origin: originType: NATIVE originId: demo - - id: products.category + - id: date.quarterOfYear type: attribute attributes: - title: Category - description: Category + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) tags: - - Products + - Date + granularity: QUARTER_OF_YEAR areRelationsValid: true - sourceColumn: category - sourceColumnDataType: STRING relationships: dataset: data: - id: products + id: date type: dataset labels: data: - - id: products.category + - id: date.quarterOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear meta: origin: originType: NATIVE originId: demo - - id: date.quarterOfYear + - id: campaign_channel_id type: attribute attributes: - title: Date - Quarter of Year - description: Generic Quarter (Q1-Q4) + title: Campaign channel id + description: Campaign channel id tags: - - Date - granularity: QUARTER_OF_YEAR + - Campaign channels areRelationsValid: true + sourceColumn: campaign_channel_id + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaign_channels type: dataset labels: data: - - id: date.quarterOfYear + - id: campaign_channel_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id meta: origin: originType: NATIVE originId: demo - - id: date.monthOfYear + - id: campaign_channels.category type: attribute attributes: - title: Date - Month of Year - description: Generic Month (M1-M12) + title: Category + description: Category tags: - - Date - granularity: MONTH_OF_YEAR + - Campaign channels areRelationsValid: true + sourceColumn: category + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaign_channels type: dataset labels: data: - - id: date.monthOfYear + - id: campaign_channels.category type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category meta: origin: originType: NATIVE originId: demo - - id: date.weekOfYear + - id: type type: attribute attributes: - title: Date - Week of Year - description: Generic Week (W1-W53) + title: Type + description: Type tags: - - Date - granularity: WEEK_OF_YEAR + - Campaign channels areRelationsValid: true + sourceColumn: type + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaign_channels type: dataset labels: data: - - id: date.weekOfYear + - id: type type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type meta: origin: originType: NATIVE originId: demo - - id: date.dayOfYear + - id: campaign_id type: attribute attributes: - title: Date - Day of Year - description: Generic Day of the Year (D1-D366) + title: Campaign id + description: Campaign id tags: - - Date - granularity: DAY_OF_YEAR + - Campaigns areRelationsValid: true + sourceColumn: campaign_id + sourceColumnDataType: INT relationships: dataset: data: - id: date + id: campaigns type: dataset labels: data: - - id: date.dayOfYear + - id: campaign_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id meta: origin: originType: NATIVE originId: demo - - id: date.dayOfMonth + - id: campaign_name type: attribute attributes: - title: Date - Day of Month - description: Generic Day of the Month (D1-D31) + title: Campaign name + description: Campaign name tags: - - Date - granularity: DAY_OF_MONTH + - Campaigns areRelationsValid: true + sourceColumn: campaign_name + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaigns type: dataset labels: data: - - id: date.dayOfMonth + - id: campaign_name type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name meta: origin: originType: NATIVE originId: demo - - id: date.dayOfWeek + - id: customer_id type: attribute attributes: - title: Date - Day of Week - description: Generic Day of the Week (D1-D7) + title: Customer id + description: Customer id tags: - - Date - granularity: DAY_OF_WEEK + - Customers areRelationsValid: true + sourceColumn: customer_id + sourceColumnDataType: INT relationships: dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.dayOfWeek + - id: customer_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id meta: origin: originType: NATIVE originId: demo - - id: date.hourOfDay + - id: customer_name type: attribute attributes: - title: Date - Hour of Day - description: Generic Hour of the Day(H1-H24) + title: Customer name + description: Customer name tags: - - Date - granularity: HOUR_OF_DAY + - Customers areRelationsValid: true + sourceColumn: customer_name + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.hourOfDay + - id: customer_name type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name meta: origin: originType: NATIVE originId: demo - - id: date.minuteOfHour + - id: region type: attribute attributes: - title: Date - Minute of Hour - description: Generic Minute of the Hour(MI1-MI60) + title: Region + description: Region tags: - - Date - granularity: MINUTE_OF_HOUR + - Customers areRelationsValid: true + sourceColumn: region + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.minuteOfHour + - id: region type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region meta: origin: originType: NATIVE originId: demo - - id: date.year + - id: state type: attribute attributes: - title: Date - Year - description: Year + title: State + description: State tags: - - Date - granularity: YEAR + - Customers areRelationsValid: true + sourceColumn: state + sourceColumnDataType: STRING relationships: + defaultView: + data: + id: state + type: label dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.year + - id: geo__state__location + type: label + - id: state type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state meta: origin: originType: NATIVE originId: demo - - id: date.quarter + - id: order_id type: attribute attributes: - title: Date - Quarter/Year - description: Quarter and Year (Q1/2020) + title: Order id + description: Order id tags: - - Date - granularity: QUARTER + - Order lines areRelationsValid: true + sourceColumn: order_id + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: order_lines type: dataset labels: data: - - id: date.quarter + - id: order_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id meta: origin: originType: NATIVE originId: demo - - id: date.month + - id: order_line_id type: attribute attributes: - title: Date - Month/Year - description: Month and Year (12/2020) + title: Order line id + description: Order line id tags: - - Date - granularity: MONTH + - Order lines areRelationsValid: true + sourceColumn: order_line_id + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: order_lines type: dataset labels: data: - - id: date.month + - id: order_line_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id meta: origin: originType: NATIVE originId: demo - - id: date.week + - id: order_status type: attribute attributes: - title: Date - Week/Year - description: Week and Year (W52/2020) + title: Order status + description: Order status tags: - - Date - granularity: WEEK + - Order lines areRelationsValid: true + sourceColumn: order_status + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: order_lines type: dataset labels: data: - - id: date.week + - id: order_status type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status meta: origin: originType: NATIVE originId: demo - - id: date.day + - id: product_id type: attribute attributes: - title: Date - Date - description: Date + title: Product id + description: Product id tags: - - Date - granularity: DAY + - Products areRelationsValid: true + sourceColumn: product_id + sourceColumnDataType: INT relationships: dataset: data: - id: date + id: products type: dataset labels: data: - - id: date.day + - id: product_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id meta: origin: originType: NATIVE originId: demo - - id: date.hour + - id: product_name type: attribute attributes: - title: Date - Hour - description: Hour + title: Product name + description: Product name tags: - - Date - granularity: HOUR + - Products areRelationsValid: true + sourceColumn: product_name + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: products type: dataset labels: data: - - id: date.hour + - id: product_name type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name meta: origin: originType: NATIVE originId: demo - - id: date.minute + - id: products.category type: attribute attributes: - title: Date - Minute - description: Minute + title: Category + description: Category tags: - - Date - granularity: MINUTE + - Products areRelationsValid: true + sourceColumn: category + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: products type: dataset labels: data: - - id: date.minute + - id: products.category type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category meta: origin: originType: NATIVE @@ -1004,51 +1004,59 @@ interactions: grain: - id: order_line_id type: attribute - order: 0 referenceProperties: - identifier: - id: products + id: date type: dataset multivalue: false + sources: null sourceColumns: - - product_id + - date sourceColumnDataTypes: - - INT + - DATE - identifier: id: customers type: dataset multivalue: false + sources: null sourceColumns: - customer_id sourceColumnDataTypes: - INT - identifier: - id: date + id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - - date + - campaign_id sourceColumnDataTypes: - - DATE + - INT - identifier: - id: campaigns + id: products type: dataset multivalue: false + sources: null sourceColumns: - - campaign_id + - product_id sourceColumnDataTypes: - INT dataSourceTableId: demo-test-ds:order_lines dataSourceTablePath: - demo - order_lines - workspaceDataFilterProperties: - - workspaceDataFilterIdentifier: + workspaceDataFilterColumns: + - name: wdf__state + dataType: STRING + - name: wdf__region + dataType: STRING + workspaceDataFilterReferences: + - filterId: id: wdf__state type: workspaceDataFilter filterColumn: wdf__state filterColumnDataType: STRING - - workspaceDataFilterIdentifier: + - filterId: id: wdf__region type: workspaceDataFilter filterColumn: wdf__region @@ -1090,12 +1098,12 @@ interactions: grain: - id: campaign_channel_id type: attribute - order: 0 referenceProperties: - identifier: id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - campaign_id sourceColumnDataTypes: @@ -1185,7 +1193,6 @@ interactions: grain: - id: campaign_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:campaigns dataSourceTablePath: - demo @@ -1242,7 +1249,6 @@ interactions: grain: - id: customer_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:customers dataSourceTablePath: - demo @@ -1368,7 +1374,6 @@ interactions: grain: - id: product_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:products dataSourceTablePath: - demo @@ -1472,8 +1477,8 @@ interactions: links: self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_id links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels,datasets&page=0&size=500 - next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels,datasets&page=1&size=500 + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&page=1&size=500 - request: method: GET uri: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500 @@ -1501,7 +1506,7 @@ interactions: Connection: - keep-alive Content-Length: - - '13953' + - '14899' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -1548,6 +1553,54 @@ interactions: body: string: data: + - id: date + type: dataset + attributes: + title: Date + description: '' + tags: + - Date + areRelationsValid: true + type: DATE + relationships: + attributes: + data: + - id: date.quarter + type: attribute + - id: date.minute + type: attribute + - id: date.hourOfDay + type: attribute + - id: date.minuteOfHour + type: attribute + - id: date.dayOfYear + type: attribute + - id: date.monthOfYear + type: attribute + - id: date.weekOfYear + type: attribute + - id: date.week + type: attribute + - id: date.year + type: attribute + - id: date.dayOfWeek + type: attribute + - id: date.hour + type: attribute + - id: date.dayOfMonth + type: attribute + - id: date.month + type: attribute + - id: date.quarterOfYear + type: attribute + - id: date.day + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date + meta: + origin: + originType: NATIVE + originId: demo - id: campaign_channels type: dataset attributes: @@ -1558,16 +1611,20 @@ interactions: grain: - id: campaign_channel_id type: attribute - order: 0 referenceProperties: - identifier: id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - campaign_id - sourceColumnDataTypes: null + sourceColumnDataTypes: + - INT dataSourceTableId: demo-test-ds:campaign_channels + dataSourceTablePath: + - demo + - campaign_channels areRelationsValid: true type: NORMAL relationships: @@ -1575,10 +1632,10 @@ interactions: data: - id: campaign_channel_id type: attribute - - id: type - type: attribute - id: campaign_channels.category type: attribute + - id: type + type: attribute facts: data: - id: budget @@ -1591,6 +1648,68 @@ interactions: origin: originType: NATIVE originId: demo + - id: campaigns + 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 + relationships: + attributes: + data: + - id: campaign_id + type: attribute + - id: campaign_name + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns + meta: + origin: + originType: NATIVE + originId: demo + - id: customers + 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 + relationships: + attributes: + data: + - id: customer_id + type: attribute + - id: state + type: attribute + - id: customer_name + type: attribute + - id: region + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers + meta: + origin: + originType: NATIVE + originId: demo - id: order_lines type: dataset attributes: @@ -1601,59 +1720,74 @@ interactions: grain: - id: order_line_id type: attribute - order: 0 referenceProperties: - identifier: - id: products + id: date type: dataset multivalue: false + sources: null sourceColumns: - - product_id - sourceColumnDataTypes: null + - date + sourceColumnDataTypes: + - DATE - identifier: id: customers type: dataset multivalue: false + sources: null sourceColumns: - customer_id - sourceColumnDataTypes: null + sourceColumnDataTypes: + - INT - identifier: - id: date + id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - - date - sourceColumnDataTypes: null + - campaign_id + sourceColumnDataTypes: + - INT - identifier: - id: campaigns + id: products type: dataset multivalue: false + sources: null sourceColumns: - - campaign_id - sourceColumnDataTypes: null + - product_id + sourceColumnDataTypes: + - INT dataSourceTableId: demo-test-ds:order_lines + dataSourceTablePath: + - demo + - order_lines areRelationsValid: true - workspaceDataFilterProperties: - - workspaceDataFilterIdentifier: - id: wdf__state - type: workspaceDataFilter - filterColumn: wdf__state - filterColumnDataType: STRING - - workspaceDataFilterIdentifier: + workspaceDataFilterColumns: + - name: wdf__state + dataType: STRING + - name: wdf__region + 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 relationships: attributes: data: - - id: order_status - type: attribute - id: order_id type: attribute - id: order_line_id type: attribute + - id: order_status + type: attribute facts: data: - id: price @@ -1676,18 +1810,20 @@ interactions: grain: - id: product_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:products + dataSourceTablePath: + - demo + - products areRelationsValid: true type: NORMAL relationships: attributes: data: - - id: product_name + - id: products.category type: attribute - id: product_id type: attribute - - id: products.category + - id: product_name type: attribute links: self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/products @@ -1695,112 +1831,6 @@ interactions: origin: originType: NATIVE originId: demo - - id: date - type: dataset - attributes: - title: Date - description: '' - tags: - - Date - areRelationsValid: true - type: DATE - relationships: - attributes: - data: - - id: date.quarterOfYear - type: attribute - - id: date.weekOfYear - type: attribute - - id: date.dayOfMonth - type: attribute - - id: date.monthOfYear - type: attribute - - id: date.minuteOfHour - type: attribute - - id: date.hour - type: attribute - - id: date.year - type: attribute - - id: date.week - type: attribute - - id: date.quarter - type: attribute - - id: date.dayOfYear - type: attribute - - id: date.dayOfWeek - type: attribute - - id: date.minute - type: attribute - - id: date.day - type: attribute - - id: date.month - type: attribute - - id: date.hourOfDay - type: attribute - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date - meta: - origin: - originType: NATIVE - originId: demo - - id: campaigns - type: dataset - attributes: - title: Campaigns - description: Campaigns - tags: - - Campaigns - grain: - - id: campaign_id - type: attribute - order: 0 - dataSourceTableId: demo-test-ds:campaigns - areRelationsValid: true - type: NORMAL - relationships: - attributes: - data: - - id: campaign_id - type: attribute - - id: campaign_name - type: attribute - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns - meta: - origin: - originType: NATIVE - originId: demo - - id: customers - type: dataset - attributes: - title: Customers - description: Customers - tags: - - Customers - grain: - - id: customer_id - type: attribute - order: 0 - dataSourceTableId: demo-test-ds:customers - areRelationsValid: true - type: NORMAL - relationships: - attributes: - data: - - id: region - type: attribute - - id: state - type: attribute - - id: customer_id - type: attribute - - id: customer_name - type: attribute - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers - meta: - origin: - originType: NATIVE - originId: demo included: - id: product_id type: attribute @@ -1810,6 +1840,7 @@ interactions: tags: - Products sourceColumn: product_id + sourceColumnDataType: INT links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id - id: budget @@ -1820,6 +1851,7 @@ interactions: tags: - Campaign channels sourceColumn: budget + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/budget - id: date.year @@ -1840,6 +1872,7 @@ interactions: tags: - Products sourceColumn: product_name + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name - id: date.month @@ -1860,6 +1893,7 @@ interactions: tags: - Products sourceColumn: category + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category - id: date.dayOfMonth @@ -1900,6 +1934,7 @@ interactions: tags: - Campaign channels sourceColumn: category + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category - id: date.minute @@ -1920,6 +1955,7 @@ interactions: tags: - Customers sourceColumn: state + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state - id: date.week @@ -1940,6 +1976,7 @@ interactions: tags: - Order lines sourceColumn: order_id + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id - id: date.hour @@ -1960,6 +1997,7 @@ interactions: tags: - Campaigns sourceColumn: campaign_name + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name - id: price @@ -1970,6 +2008,7 @@ interactions: tags: - Order lines sourceColumn: price + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/price - id: date.dayOfWeek @@ -2000,6 +2039,7 @@ interactions: tags: - Customers sourceColumn: region + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region - id: campaign_channel_id @@ -2010,6 +2050,7 @@ interactions: tags: - Campaign channels sourceColumn: campaign_channel_id + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id - id: customer_id @@ -2020,6 +2061,7 @@ interactions: tags: - Customers sourceColumn: customer_id + sourceColumnDataType: INT links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id - id: date.hourOfDay @@ -2040,6 +2082,7 @@ interactions: tags: - Order lines sourceColumn: quantity + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity - id: campaign_id @@ -2050,6 +2093,7 @@ interactions: tags: - Campaigns sourceColumn: campaign_id + sourceColumnDataType: INT links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id - id: type @@ -2060,6 +2104,7 @@ interactions: tags: - Campaign channels sourceColumn: type + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type - id: spend @@ -2070,6 +2115,7 @@ interactions: tags: - Campaign channels sourceColumn: spend + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/spend - id: date.dayOfYear @@ -2110,6 +2156,7 @@ interactions: tags: - Order lines sourceColumn: order_status + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status - id: date.monthOfYear @@ -2130,6 +2177,7 @@ interactions: tags: - Customers sourceColumn: customer_name + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name - id: order_line_id @@ -2140,11 +2188,12 @@ interactions: tags: - Order lines sourceColumn: order_line_id + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=0&size=500 - next: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=1&size=500 + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=1&size=500 - request: method: GET uri: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500 @@ -2172,7 +2221,7 @@ interactions: Connection: - keep-alive Content-Length: - - '9799' + - '10543' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -2224,6 +2273,7 @@ interactions: attributes: title: '# of Active Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0' maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) @@ -2238,6 +2288,7 @@ interactions: attributes: title: '# of Orders' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0' maql: SELECT COUNT({attribute/order_id}) @@ -2252,6 +2303,7 @@ interactions: attributes: title: '# of Top Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0' maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT @@ -2268,6 +2320,7 @@ interactions: title: '# of Valid Orders' description: '' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.00' maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} @@ -2283,6 +2336,7 @@ interactions: attributes: title: Campaign Spend areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT SUM({fact/spend}) @@ -2297,6 +2351,7 @@ interactions: attributes: title: Order Amount areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT SUM({fact/price}*{fact/quantity}) @@ -2311,6 +2366,7 @@ interactions: attributes: title: '% Revenue' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / {metric/total_revenue} @@ -2325,6 +2381,7 @@ interactions: attributes: title: '% Revenue from Top 10 Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ @@ -2340,6 +2397,7 @@ interactions: attributes: title: '% Revenue from Top 10% Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ @@ -2355,6 +2413,7 @@ interactions: attributes: title: '% Revenue from Top 10% Products' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ @@ -2370,6 +2429,7 @@ interactions: attributes: title: '% Revenue from Top 10 Products' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ @@ -2385,6 +2445,7 @@ interactions: attributes: title: '% Revenue in Category' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, @@ -2400,6 +2461,7 @@ interactions: attributes: title: '% Revenue per Product' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL @@ -2416,6 +2478,7 @@ interactions: title: Revenue description: '' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} @@ -2431,6 +2494,7 @@ interactions: attributes: title: Revenue (Clothing) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2446,6 +2510,7 @@ interactions: attributes: title: Revenue (Electronic) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2461,6 +2526,7 @@ interactions: attributes: title: Revenue (Home) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2476,6 +2542,7 @@ interactions: attributes: title: Revenue (Outdoor) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2491,6 +2558,7 @@ interactions: attributes: title: Revenue per Customer areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0.0 maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) @@ -2505,6 +2573,7 @@ interactions: attributes: title: Revenue per Dollar Spent areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0.0 maql: SELECT {metric/revenue} / {metric/campaign_spend} @@ -2519,6 +2588,7 @@ interactions: attributes: title: Revenue / Top 10 areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) @@ -2533,6 +2603,7 @@ interactions: attributes: title: Revenue / Top 10% areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) @@ -2547,6 +2618,7 @@ interactions: attributes: title: Total Revenue areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} BY ALL OTHER @@ -2561,6 +2633,7 @@ interactions: attributes: title: Total Revenue (No Filters) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER @@ -2575,7 +2648,7 @@ interactions: next: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=1&size=500 - request: method: GET - uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/05b3a1d494592c445362b3ef57be390e1a77d1c7?offset=0%2C0&limit=1%2C1000 + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/a144c0bff8045a57ad136b06edfe88676d8b5b04?offset=0%2C0&limit=1%2C1000 body: null headers: Accept: diff --git a/gooddata-pandas/tests/series/fixtures/simple_index_filtered_series.yaml b/gooddata-pandas/tests/series/fixtures/simple_index_filtered_series.yaml index 9dc385487..24d4a46a4 100644 --- a/gooddata-pandas/tests/series/fixtures/simple_index_filtered_series.yaml +++ b/gooddata-pandas/tests/series/fixtures/simple_index_filtered_series.yaml @@ -148,7 +148,7 @@ interactions: type: label localIdentifier: dim_0 links: - executionResult: f198093adacd66253d07c44c5e94cd4fb2da7ec5 + executionResult: e0509b761e06565fa9e6e83aee7c1b24108666d1 - request: method: GET uri: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&page=0&size=500 @@ -176,7 +176,7 @@ interactions: Connection: - keep-alive Content-Length: - - '27018' + - '27121' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -223,743 +223,743 @@ interactions: body: string: data: - - id: campaign_channels.category + - id: date.minute type: attribute attributes: - title: Category - description: Category + title: Date - Minute + description: Minute tags: - - Campaign channels + - Date + granularity: MINUTE areRelationsValid: true - sourceColumn: category - sourceColumnDataType: STRING relationships: dataset: data: - id: campaign_channels + id: date type: dataset labels: data: - - id: campaign_channels.category + - id: date.minute type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute meta: origin: originType: NATIVE originId: demo - - id: campaign_channel_id + - id: date.hour type: attribute attributes: - title: Campaign channel id - description: Campaign channel id + title: Date - Hour + description: Hour tags: - - Campaign channels + - Date + granularity: HOUR areRelationsValid: true - sourceColumn: campaign_channel_id - sourceColumnDataType: STRING relationships: dataset: data: - id: campaign_channels + id: date type: dataset labels: data: - - id: campaign_channel_id + - id: date.hour type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour meta: origin: originType: NATIVE originId: demo - - id: type + - id: date.day type: attribute attributes: - title: Type - description: Type + title: Date - Date + description: Date tags: - - Campaign channels + - Date + granularity: DAY areRelationsValid: true - sourceColumn: type - sourceColumnDataType: STRING relationships: dataset: data: - id: campaign_channels + id: date type: dataset labels: data: - - id: type + - id: date.day type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day meta: origin: originType: NATIVE originId: demo - - id: campaign_name + - id: date.week type: attribute attributes: - title: Campaign name - description: Campaign name + title: Date - Week/Year + description: Week and Year (W52/2020) tags: - - Campaigns + - Date + granularity: WEEK areRelationsValid: true - sourceColumn: campaign_name - sourceColumnDataType: STRING relationships: dataset: data: - id: campaigns + id: date type: dataset labels: data: - - id: campaign_name + - id: date.week type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week meta: origin: originType: NATIVE originId: demo - - id: campaign_id + - id: date.month type: attribute attributes: - title: Campaign id - description: Campaign id + title: Date - Month/Year + description: Month and Year (12/2020) tags: - - Campaigns + - Date + granularity: MONTH areRelationsValid: true - sourceColumn: campaign_id - sourceColumnDataType: INT relationships: dataset: data: - id: campaigns + id: date type: dataset labels: data: - - id: campaign_id + - id: date.month type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month meta: origin: originType: NATIVE originId: demo - - id: state + - id: date.quarter type: attribute attributes: - title: State - description: State + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) tags: - - Customers + - Date + granularity: QUARTER areRelationsValid: true - sourceColumn: state - sourceColumnDataType: STRING relationships: - defaultView: - data: - id: state - type: label dataset: data: - id: customers + id: date type: dataset labels: data: - - id: state - type: label - - id: geo__state__location + - id: date.quarter type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter meta: origin: originType: NATIVE originId: demo - - id: region + - id: date.year type: attribute attributes: - title: Region - description: Region + title: Date - Year + description: Year tags: - - Customers + - Date + granularity: YEAR areRelationsValid: true - sourceColumn: region - sourceColumnDataType: STRING relationships: dataset: data: - id: customers + id: date type: dataset labels: data: - - id: region + - id: date.year type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year meta: origin: originType: NATIVE originId: demo - - id: customer_name + - id: date.minuteOfHour type: attribute attributes: - title: Customer name - description: Customer name + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) tags: - - Customers + - Date + granularity: MINUTE_OF_HOUR areRelationsValid: true - sourceColumn: customer_name - sourceColumnDataType: STRING relationships: dataset: data: - id: customers + id: date type: dataset labels: data: - - id: customer_name + - id: date.minuteOfHour type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour meta: origin: originType: NATIVE originId: demo - - id: customer_id + - id: date.hourOfDay type: attribute attributes: - title: Customer id - description: Customer id + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) tags: - - Customers + - Date + granularity: HOUR_OF_DAY areRelationsValid: true - sourceColumn: customer_id - sourceColumnDataType: INT relationships: dataset: data: - id: customers + id: date type: dataset labels: data: - - id: customer_id + - id: date.hourOfDay type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay meta: origin: originType: NATIVE originId: demo - - id: order_status + - id: date.dayOfWeek type: attribute attributes: - title: Order status - description: Order status + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) tags: - - Order lines + - Date + granularity: DAY_OF_WEEK areRelationsValid: true - sourceColumn: order_status - sourceColumnDataType: STRING relationships: dataset: data: - id: order_lines + id: date type: dataset labels: data: - - id: order_status + - id: date.dayOfWeek type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek meta: origin: originType: NATIVE originId: demo - - id: order_line_id + - id: date.dayOfMonth type: attribute attributes: - title: Order line id - description: Order line id + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) tags: - - Order lines + - Date + granularity: DAY_OF_MONTH areRelationsValid: true - sourceColumn: order_line_id - sourceColumnDataType: STRING relationships: dataset: data: - id: order_lines + id: date type: dataset labels: data: - - id: order_line_id + - id: date.dayOfMonth type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth meta: origin: originType: NATIVE originId: demo - - id: order_id + - id: date.dayOfYear type: attribute attributes: - title: Order id - description: Order id + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) tags: - - Order lines + - Date + granularity: DAY_OF_YEAR areRelationsValid: true - sourceColumn: order_id - sourceColumnDataType: STRING relationships: dataset: data: - id: order_lines + id: date type: dataset labels: data: - - id: order_id + - id: date.dayOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear meta: origin: originType: NATIVE originId: demo - - id: product_name + - id: date.weekOfYear type: attribute attributes: - title: Product name - description: Product name + title: Date - Week of Year + description: Generic Week (W1-W53) tags: - - Products + - Date + granularity: WEEK_OF_YEAR areRelationsValid: true - sourceColumn: product_name - sourceColumnDataType: STRING relationships: dataset: data: - id: products + id: date type: dataset labels: data: - - id: product_name + - id: date.weekOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear meta: origin: originType: NATIVE originId: demo - - id: product_id + - id: date.monthOfYear type: attribute attributes: - title: Product id - description: Product id + title: Date - Month of Year + description: Generic Month (M1-M12) tags: - - Products + - Date + granularity: MONTH_OF_YEAR areRelationsValid: true - sourceColumn: product_id - sourceColumnDataType: INT relationships: dataset: data: - id: products + id: date type: dataset labels: data: - - id: product_id + - id: date.monthOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear meta: origin: originType: NATIVE originId: demo - - id: products.category + - id: date.quarterOfYear type: attribute attributes: - title: Category - description: Category + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) tags: - - Products + - Date + granularity: QUARTER_OF_YEAR areRelationsValid: true - sourceColumn: category - sourceColumnDataType: STRING relationships: dataset: data: - id: products + id: date type: dataset labels: data: - - id: products.category + - id: date.quarterOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear meta: origin: originType: NATIVE originId: demo - - id: date.quarterOfYear + - id: campaign_channel_id type: attribute attributes: - title: Date - Quarter of Year - description: Generic Quarter (Q1-Q4) + title: Campaign channel id + description: Campaign channel id tags: - - Date - granularity: QUARTER_OF_YEAR + - Campaign channels areRelationsValid: true + sourceColumn: campaign_channel_id + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaign_channels type: dataset labels: data: - - id: date.quarterOfYear + - id: campaign_channel_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id meta: origin: originType: NATIVE originId: demo - - id: date.monthOfYear + - id: campaign_channels.category type: attribute attributes: - title: Date - Month of Year - description: Generic Month (M1-M12) + title: Category + description: Category tags: - - Date - granularity: MONTH_OF_YEAR + - Campaign channels areRelationsValid: true + sourceColumn: category + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaign_channels type: dataset labels: data: - - id: date.monthOfYear + - id: campaign_channels.category type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category meta: origin: originType: NATIVE originId: demo - - id: date.weekOfYear + - id: type type: attribute attributes: - title: Date - Week of Year - description: Generic Week (W1-W53) + title: Type + description: Type tags: - - Date - granularity: WEEK_OF_YEAR + - Campaign channels areRelationsValid: true + sourceColumn: type + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaign_channels type: dataset labels: data: - - id: date.weekOfYear + - id: type type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type meta: origin: originType: NATIVE originId: demo - - id: date.dayOfYear + - id: campaign_id type: attribute attributes: - title: Date - Day of Year - description: Generic Day of the Year (D1-D366) + title: Campaign id + description: Campaign id tags: - - Date - granularity: DAY_OF_YEAR + - Campaigns areRelationsValid: true + sourceColumn: campaign_id + sourceColumnDataType: INT relationships: dataset: data: - id: date + id: campaigns type: dataset labels: data: - - id: date.dayOfYear + - id: campaign_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id meta: origin: originType: NATIVE originId: demo - - id: date.dayOfMonth + - id: campaign_name type: attribute attributes: - title: Date - Day of Month - description: Generic Day of the Month (D1-D31) + title: Campaign name + description: Campaign name tags: - - Date - granularity: DAY_OF_MONTH + - Campaigns areRelationsValid: true + sourceColumn: campaign_name + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaigns type: dataset labels: data: - - id: date.dayOfMonth + - id: campaign_name type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name meta: origin: originType: NATIVE originId: demo - - id: date.dayOfWeek + - id: customer_id type: attribute attributes: - title: Date - Day of Week - description: Generic Day of the Week (D1-D7) + title: Customer id + description: Customer id tags: - - Date - granularity: DAY_OF_WEEK + - Customers areRelationsValid: true + sourceColumn: customer_id + sourceColumnDataType: INT relationships: dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.dayOfWeek + - id: customer_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id meta: origin: originType: NATIVE originId: demo - - id: date.hourOfDay + - id: customer_name type: attribute attributes: - title: Date - Hour of Day - description: Generic Hour of the Day(H1-H24) + title: Customer name + description: Customer name tags: - - Date - granularity: HOUR_OF_DAY + - Customers areRelationsValid: true + sourceColumn: customer_name + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.hourOfDay + - id: customer_name type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name meta: origin: originType: NATIVE originId: demo - - id: date.minuteOfHour + - id: region type: attribute attributes: - title: Date - Minute of Hour - description: Generic Minute of the Hour(MI1-MI60) + title: Region + description: Region tags: - - Date - granularity: MINUTE_OF_HOUR + - Customers areRelationsValid: true + sourceColumn: region + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.minuteOfHour + - id: region type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region meta: origin: originType: NATIVE originId: demo - - id: date.year + - id: state type: attribute attributes: - title: Date - Year - description: Year + title: State + description: State tags: - - Date - granularity: YEAR + - Customers areRelationsValid: true + sourceColumn: state + sourceColumnDataType: STRING relationships: + defaultView: + data: + id: state + type: label dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.year + - id: geo__state__location + type: label + - id: state type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state meta: origin: originType: NATIVE originId: demo - - id: date.quarter + - id: order_id type: attribute attributes: - title: Date - Quarter/Year - description: Quarter and Year (Q1/2020) + title: Order id + description: Order id tags: - - Date - granularity: QUARTER + - Order lines areRelationsValid: true + sourceColumn: order_id + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: order_lines type: dataset labels: data: - - id: date.quarter + - id: order_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id meta: origin: originType: NATIVE originId: demo - - id: date.month + - id: order_line_id type: attribute attributes: - title: Date - Month/Year - description: Month and Year (12/2020) + title: Order line id + description: Order line id tags: - - Date - granularity: MONTH + - Order lines areRelationsValid: true + sourceColumn: order_line_id + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: order_lines type: dataset labels: data: - - id: date.month + - id: order_line_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id meta: origin: originType: NATIVE originId: demo - - id: date.week + - id: order_status type: attribute attributes: - title: Date - Week/Year - description: Week and Year (W52/2020) + title: Order status + description: Order status tags: - - Date - granularity: WEEK + - Order lines areRelationsValid: true + sourceColumn: order_status + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: order_lines type: dataset labels: data: - - id: date.week + - id: order_status type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status meta: origin: originType: NATIVE originId: demo - - id: date.day + - id: product_id type: attribute attributes: - title: Date - Date - description: Date + title: Product id + description: Product id tags: - - Date - granularity: DAY + - Products areRelationsValid: true + sourceColumn: product_id + sourceColumnDataType: INT relationships: dataset: data: - id: date + id: products type: dataset labels: data: - - id: date.day + - id: product_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id meta: origin: originType: NATIVE originId: demo - - id: date.hour + - id: product_name type: attribute attributes: - title: Date - Hour - description: Hour + title: Product name + description: Product name tags: - - Date - granularity: HOUR + - Products areRelationsValid: true + sourceColumn: product_name + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: products type: dataset labels: data: - - id: date.hour + - id: product_name type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name meta: origin: originType: NATIVE originId: demo - - id: date.minute + - id: products.category type: attribute attributes: - title: Date - Minute - description: Minute + title: Category + description: Category tags: - - Date - granularity: MINUTE + - Products areRelationsValid: true + sourceColumn: category + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: products type: dataset labels: data: - - id: date.minute + - id: products.category type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category meta: origin: originType: NATIVE @@ -1023,51 +1023,59 @@ interactions: grain: - id: order_line_id type: attribute - order: 0 referenceProperties: - identifier: - id: products + id: date type: dataset multivalue: false + sources: null sourceColumns: - - product_id + - date sourceColumnDataTypes: - - INT + - DATE - identifier: id: customers type: dataset multivalue: false + sources: null sourceColumns: - customer_id sourceColumnDataTypes: - INT - identifier: - id: date + id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - - date + - campaign_id sourceColumnDataTypes: - - DATE + - INT - identifier: - id: campaigns + id: products type: dataset multivalue: false + sources: null sourceColumns: - - campaign_id + - product_id sourceColumnDataTypes: - INT dataSourceTableId: demo-test-ds:order_lines dataSourceTablePath: - demo - order_lines - workspaceDataFilterProperties: - - workspaceDataFilterIdentifier: + workspaceDataFilterColumns: + - name: wdf__state + dataType: STRING + - name: wdf__region + dataType: STRING + workspaceDataFilterReferences: + - filterId: id: wdf__state type: workspaceDataFilter filterColumn: wdf__state filterColumnDataType: STRING - - workspaceDataFilterIdentifier: + - filterId: id: wdf__region type: workspaceDataFilter filterColumn: wdf__region @@ -1109,12 +1117,12 @@ interactions: grain: - id: campaign_channel_id type: attribute - order: 0 referenceProperties: - identifier: id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - campaign_id sourceColumnDataTypes: @@ -1204,7 +1212,6 @@ interactions: grain: - id: campaign_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:campaigns dataSourceTablePath: - demo @@ -1261,7 +1268,6 @@ interactions: grain: - id: customer_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:customers dataSourceTablePath: - demo @@ -1387,7 +1393,6 @@ interactions: grain: - id: product_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:products dataSourceTablePath: - demo @@ -1491,8 +1496,8 @@ interactions: links: self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_id links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels,datasets&page=0&size=500 - next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels,datasets&page=1&size=500 + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&page=1&size=500 - request: method: GET uri: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500 @@ -1520,7 +1525,7 @@ interactions: Connection: - keep-alive Content-Length: - - '13953' + - '14899' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -1567,6 +1572,54 @@ interactions: body: string: data: + - id: date + type: dataset + attributes: + title: Date + description: '' + tags: + - Date + areRelationsValid: true + type: DATE + relationships: + attributes: + data: + - id: date.quarter + type: attribute + - id: date.minute + type: attribute + - id: date.hourOfDay + type: attribute + - id: date.minuteOfHour + type: attribute + - id: date.dayOfYear + type: attribute + - id: date.monthOfYear + type: attribute + - id: date.weekOfYear + type: attribute + - id: date.week + type: attribute + - id: date.year + type: attribute + - id: date.dayOfWeek + type: attribute + - id: date.hour + type: attribute + - id: date.dayOfMonth + type: attribute + - id: date.month + type: attribute + - id: date.quarterOfYear + type: attribute + - id: date.day + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date + meta: + origin: + originType: NATIVE + originId: demo - id: campaign_channels type: dataset attributes: @@ -1577,16 +1630,20 @@ interactions: grain: - id: campaign_channel_id type: attribute - order: 0 referenceProperties: - identifier: id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - campaign_id - sourceColumnDataTypes: null + sourceColumnDataTypes: + - INT dataSourceTableId: demo-test-ds:campaign_channels + dataSourceTablePath: + - demo + - campaign_channels areRelationsValid: true type: NORMAL relationships: @@ -1594,10 +1651,10 @@ interactions: data: - id: campaign_channel_id type: attribute - - id: type - type: attribute - id: campaign_channels.category type: attribute + - id: type + type: attribute facts: data: - id: budget @@ -1610,6 +1667,68 @@ interactions: origin: originType: NATIVE originId: demo + - id: campaigns + 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 + relationships: + attributes: + data: + - id: campaign_id + type: attribute + - id: campaign_name + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns + meta: + origin: + originType: NATIVE + originId: demo + - id: customers + 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 + relationships: + attributes: + data: + - id: customer_id + type: attribute + - id: state + type: attribute + - id: customer_name + type: attribute + - id: region + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers + meta: + origin: + originType: NATIVE + originId: demo - id: order_lines type: dataset attributes: @@ -1620,59 +1739,74 @@ interactions: grain: - id: order_line_id type: attribute - order: 0 referenceProperties: - identifier: - id: products + id: date type: dataset multivalue: false + sources: null sourceColumns: - - product_id - sourceColumnDataTypes: null + - date + sourceColumnDataTypes: + - DATE - identifier: id: customers type: dataset multivalue: false + sources: null sourceColumns: - customer_id - sourceColumnDataTypes: null + sourceColumnDataTypes: + - INT - identifier: - id: date + id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - - date - sourceColumnDataTypes: null + - campaign_id + sourceColumnDataTypes: + - INT - identifier: - id: campaigns + id: products type: dataset multivalue: false + sources: null sourceColumns: - - campaign_id - sourceColumnDataTypes: null + - product_id + sourceColumnDataTypes: + - INT dataSourceTableId: demo-test-ds:order_lines + dataSourceTablePath: + - demo + - order_lines areRelationsValid: true - workspaceDataFilterProperties: - - workspaceDataFilterIdentifier: - id: wdf__state - type: workspaceDataFilter - filterColumn: wdf__state - filterColumnDataType: STRING - - workspaceDataFilterIdentifier: + workspaceDataFilterColumns: + - name: wdf__state + dataType: STRING + - name: wdf__region + 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 relationships: attributes: data: - - id: order_status - type: attribute - id: order_id type: attribute - id: order_line_id type: attribute + - id: order_status + type: attribute facts: data: - id: price @@ -1695,18 +1829,20 @@ interactions: grain: - id: product_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:products + dataSourceTablePath: + - demo + - products areRelationsValid: true type: NORMAL relationships: attributes: data: - - id: product_name + - id: products.category type: attribute - id: product_id type: attribute - - id: products.category + - id: product_name type: attribute links: self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/products @@ -1714,112 +1850,6 @@ interactions: origin: originType: NATIVE originId: demo - - id: date - type: dataset - attributes: - title: Date - description: '' - tags: - - Date - areRelationsValid: true - type: DATE - relationships: - attributes: - data: - - id: date.quarterOfYear - type: attribute - - id: date.weekOfYear - type: attribute - - id: date.dayOfMonth - type: attribute - - id: date.monthOfYear - type: attribute - - id: date.minuteOfHour - type: attribute - - id: date.hour - type: attribute - - id: date.year - type: attribute - - id: date.week - type: attribute - - id: date.quarter - type: attribute - - id: date.dayOfYear - type: attribute - - id: date.dayOfWeek - type: attribute - - id: date.minute - type: attribute - - id: date.day - type: attribute - - id: date.month - type: attribute - - id: date.hourOfDay - type: attribute - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date - meta: - origin: - originType: NATIVE - originId: demo - - id: campaigns - type: dataset - attributes: - title: Campaigns - description: Campaigns - tags: - - Campaigns - grain: - - id: campaign_id - type: attribute - order: 0 - dataSourceTableId: demo-test-ds:campaigns - areRelationsValid: true - type: NORMAL - relationships: - attributes: - data: - - id: campaign_id - type: attribute - - id: campaign_name - type: attribute - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns - meta: - origin: - originType: NATIVE - originId: demo - - id: customers - type: dataset - attributes: - title: Customers - description: Customers - tags: - - Customers - grain: - - id: customer_id - type: attribute - order: 0 - dataSourceTableId: demo-test-ds:customers - areRelationsValid: true - type: NORMAL - relationships: - attributes: - data: - - id: region - type: attribute - - id: state - type: attribute - - id: customer_id - type: attribute - - id: customer_name - type: attribute - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers - meta: - origin: - originType: NATIVE - originId: demo included: - id: product_id type: attribute @@ -1829,6 +1859,7 @@ interactions: tags: - Products sourceColumn: product_id + sourceColumnDataType: INT links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id - id: budget @@ -1839,6 +1870,7 @@ interactions: tags: - Campaign channels sourceColumn: budget + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/budget - id: date.year @@ -1859,6 +1891,7 @@ interactions: tags: - Products sourceColumn: product_name + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name - id: date.month @@ -1879,6 +1912,7 @@ interactions: tags: - Products sourceColumn: category + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category - id: date.dayOfMonth @@ -1919,6 +1953,7 @@ interactions: tags: - Campaign channels sourceColumn: category + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category - id: date.minute @@ -1939,6 +1974,7 @@ interactions: tags: - Customers sourceColumn: state + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state - id: date.week @@ -1959,6 +1995,7 @@ interactions: tags: - Order lines sourceColumn: order_id + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id - id: date.hour @@ -1979,6 +2016,7 @@ interactions: tags: - Campaigns sourceColumn: campaign_name + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name - id: price @@ -1989,6 +2027,7 @@ interactions: tags: - Order lines sourceColumn: price + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/price - id: date.dayOfWeek @@ -2019,6 +2058,7 @@ interactions: tags: - Customers sourceColumn: region + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region - id: campaign_channel_id @@ -2029,6 +2069,7 @@ interactions: tags: - Campaign channels sourceColumn: campaign_channel_id + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id - id: customer_id @@ -2039,6 +2080,7 @@ interactions: tags: - Customers sourceColumn: customer_id + sourceColumnDataType: INT links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id - id: date.hourOfDay @@ -2059,6 +2101,7 @@ interactions: tags: - Order lines sourceColumn: quantity + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity - id: campaign_id @@ -2069,6 +2112,7 @@ interactions: tags: - Campaigns sourceColumn: campaign_id + sourceColumnDataType: INT links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id - id: type @@ -2079,6 +2123,7 @@ interactions: tags: - Campaign channels sourceColumn: type + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type - id: spend @@ -2089,6 +2134,7 @@ interactions: tags: - Campaign channels sourceColumn: spend + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/spend - id: date.dayOfYear @@ -2129,6 +2175,7 @@ interactions: tags: - Order lines sourceColumn: order_status + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status - id: date.monthOfYear @@ -2149,6 +2196,7 @@ interactions: tags: - Customers sourceColumn: customer_name + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name - id: order_line_id @@ -2159,11 +2207,12 @@ interactions: tags: - Order lines sourceColumn: order_line_id + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=0&size=500 - next: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=1&size=500 + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=1&size=500 - request: method: GET uri: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500 @@ -2191,7 +2240,7 @@ interactions: Connection: - keep-alive Content-Length: - - '9799' + - '10543' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -2243,6 +2292,7 @@ interactions: attributes: title: '# of Active Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0' maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) @@ -2257,6 +2307,7 @@ interactions: attributes: title: '# of Orders' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0' maql: SELECT COUNT({attribute/order_id}) @@ -2271,6 +2322,7 @@ interactions: attributes: title: '# of Top Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0' maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT @@ -2287,6 +2339,7 @@ interactions: title: '# of Valid Orders' description: '' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.00' maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} @@ -2302,6 +2355,7 @@ interactions: attributes: title: Campaign Spend areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT SUM({fact/spend}) @@ -2316,6 +2370,7 @@ interactions: attributes: title: Order Amount areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT SUM({fact/price}*{fact/quantity}) @@ -2330,6 +2385,7 @@ interactions: attributes: title: '% Revenue' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / {metric/total_revenue} @@ -2344,6 +2400,7 @@ interactions: attributes: title: '% Revenue from Top 10 Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ @@ -2359,6 +2416,7 @@ interactions: attributes: title: '% Revenue from Top 10% Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ @@ -2374,6 +2432,7 @@ interactions: attributes: title: '% Revenue from Top 10% Products' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ @@ -2389,6 +2448,7 @@ interactions: attributes: title: '% Revenue from Top 10 Products' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ @@ -2404,6 +2464,7 @@ interactions: attributes: title: '% Revenue in Category' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, @@ -2419,6 +2480,7 @@ interactions: attributes: title: '% Revenue per Product' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL @@ -2435,6 +2497,7 @@ interactions: title: Revenue description: '' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} @@ -2450,6 +2513,7 @@ interactions: attributes: title: Revenue (Clothing) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2465,6 +2529,7 @@ interactions: attributes: title: Revenue (Electronic) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2480,6 +2545,7 @@ interactions: attributes: title: Revenue (Home) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2495,6 +2561,7 @@ interactions: attributes: title: Revenue (Outdoor) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2510,6 +2577,7 @@ interactions: attributes: title: Revenue per Customer areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0.0 maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) @@ -2524,6 +2592,7 @@ interactions: attributes: title: Revenue per Dollar Spent areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0.0 maql: SELECT {metric/revenue} / {metric/campaign_spend} @@ -2538,6 +2607,7 @@ interactions: attributes: title: Revenue / Top 10 areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) @@ -2552,6 +2622,7 @@ interactions: attributes: title: Revenue / Top 10% areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) @@ -2566,6 +2637,7 @@ interactions: attributes: title: Total Revenue areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} BY ALL OTHER @@ -2580,6 +2652,7 @@ interactions: attributes: title: Total Revenue (No Filters) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER @@ -2594,7 +2667,7 @@ interactions: next: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=1&size=500 - request: method: GET - uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/f198093adacd66253d07c44c5e94cd4fb2da7ec5?offset=0&limit=1000 + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/e0509b761e06565fa9e6e83aee7c1b24108666d1?offset=0&limit=1000 body: null headers: Accept: diff --git a/gooddata-pandas/tests/series/fixtures/simple_index_label_series.yaml b/gooddata-pandas/tests/series/fixtures/simple_index_label_series.yaml index 7450c0639..11d681dd3 100644 --- a/gooddata-pandas/tests/series/fixtures/simple_index_label_series.yaml +++ b/gooddata-pandas/tests/series/fixtures/simple_index_label_series.yaml @@ -112,7 +112,7 @@ interactions: type: label localIdentifier: dim_0 links: - executionResult: 02e72524533be442b57ef4e0c223d3bcbe23a15d + executionResult: ddf23ea306987c64464fde942eb96e9e82ccc64a - request: method: GET uri: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&page=0&size=500 @@ -140,7 +140,7 @@ interactions: Connection: - keep-alive Content-Length: - - '27018' + - '27121' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -187,743 +187,743 @@ interactions: body: string: data: - - id: campaign_channels.category + - id: date.minute type: attribute attributes: - title: Category - description: Category + title: Date - Minute + description: Minute tags: - - Campaign channels + - Date + granularity: MINUTE areRelationsValid: true - sourceColumn: category - sourceColumnDataType: STRING relationships: dataset: data: - id: campaign_channels + id: date type: dataset labels: data: - - id: campaign_channels.category + - id: date.minute type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute meta: origin: originType: NATIVE originId: demo - - id: campaign_channel_id + - id: date.hour type: attribute attributes: - title: Campaign channel id - description: Campaign channel id + title: Date - Hour + description: Hour tags: - - Campaign channels + - Date + granularity: HOUR areRelationsValid: true - sourceColumn: campaign_channel_id - sourceColumnDataType: STRING relationships: dataset: data: - id: campaign_channels + id: date type: dataset labels: data: - - id: campaign_channel_id + - id: date.hour type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour meta: origin: originType: NATIVE originId: demo - - id: type + - id: date.day type: attribute attributes: - title: Type - description: Type + title: Date - Date + description: Date tags: - - Campaign channels + - Date + granularity: DAY areRelationsValid: true - sourceColumn: type - sourceColumnDataType: STRING relationships: dataset: data: - id: campaign_channels + id: date type: dataset labels: data: - - id: type + - id: date.day type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day meta: origin: originType: NATIVE originId: demo - - id: campaign_name + - id: date.week type: attribute attributes: - title: Campaign name - description: Campaign name + title: Date - Week/Year + description: Week and Year (W52/2020) tags: - - Campaigns + - Date + granularity: WEEK areRelationsValid: true - sourceColumn: campaign_name - sourceColumnDataType: STRING relationships: dataset: data: - id: campaigns + id: date type: dataset labels: data: - - id: campaign_name + - id: date.week type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week meta: origin: originType: NATIVE originId: demo - - id: campaign_id + - id: date.month type: attribute attributes: - title: Campaign id - description: Campaign id + title: Date - Month/Year + description: Month and Year (12/2020) tags: - - Campaigns + - Date + granularity: MONTH areRelationsValid: true - sourceColumn: campaign_id - sourceColumnDataType: INT relationships: dataset: data: - id: campaigns + id: date type: dataset labels: data: - - id: campaign_id + - id: date.month type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month meta: origin: originType: NATIVE originId: demo - - id: state + - id: date.quarter type: attribute attributes: - title: State - description: State + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) tags: - - Customers + - Date + granularity: QUARTER areRelationsValid: true - sourceColumn: state - sourceColumnDataType: STRING relationships: - defaultView: - data: - id: state - type: label dataset: data: - id: customers + id: date type: dataset labels: data: - - id: state - type: label - - id: geo__state__location + - id: date.quarter type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter meta: origin: originType: NATIVE originId: demo - - id: region + - id: date.year type: attribute attributes: - title: Region - description: Region + title: Date - Year + description: Year tags: - - Customers + - Date + granularity: YEAR areRelationsValid: true - sourceColumn: region - sourceColumnDataType: STRING relationships: dataset: data: - id: customers + id: date type: dataset labels: data: - - id: region + - id: date.year type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year meta: origin: originType: NATIVE originId: demo - - id: customer_name + - id: date.minuteOfHour type: attribute attributes: - title: Customer name - description: Customer name + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) tags: - - Customers + - Date + granularity: MINUTE_OF_HOUR areRelationsValid: true - sourceColumn: customer_name - sourceColumnDataType: STRING relationships: dataset: data: - id: customers + id: date type: dataset labels: data: - - id: customer_name + - id: date.minuteOfHour type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour meta: origin: originType: NATIVE originId: demo - - id: customer_id + - id: date.hourOfDay type: attribute attributes: - title: Customer id - description: Customer id + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) tags: - - Customers + - Date + granularity: HOUR_OF_DAY areRelationsValid: true - sourceColumn: customer_id - sourceColumnDataType: INT relationships: dataset: data: - id: customers + id: date type: dataset labels: data: - - id: customer_id + - id: date.hourOfDay type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay meta: origin: originType: NATIVE originId: demo - - id: order_status + - id: date.dayOfWeek type: attribute attributes: - title: Order status - description: Order status + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) tags: - - Order lines + - Date + granularity: DAY_OF_WEEK areRelationsValid: true - sourceColumn: order_status - sourceColumnDataType: STRING relationships: dataset: data: - id: order_lines + id: date type: dataset labels: data: - - id: order_status + - id: date.dayOfWeek type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek meta: origin: originType: NATIVE originId: demo - - id: order_line_id + - id: date.dayOfMonth type: attribute attributes: - title: Order line id - description: Order line id + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) tags: - - Order lines + - Date + granularity: DAY_OF_MONTH areRelationsValid: true - sourceColumn: order_line_id - sourceColumnDataType: STRING relationships: dataset: data: - id: order_lines + id: date type: dataset labels: data: - - id: order_line_id + - id: date.dayOfMonth type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth meta: origin: originType: NATIVE originId: demo - - id: order_id + - id: date.dayOfYear type: attribute attributes: - title: Order id - description: Order id + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) tags: - - Order lines + - Date + granularity: DAY_OF_YEAR areRelationsValid: true - sourceColumn: order_id - sourceColumnDataType: STRING relationships: dataset: data: - id: order_lines + id: date type: dataset labels: data: - - id: order_id + - id: date.dayOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear meta: origin: originType: NATIVE originId: demo - - id: product_name + - id: date.weekOfYear type: attribute attributes: - title: Product name - description: Product name + title: Date - Week of Year + description: Generic Week (W1-W53) tags: - - Products + - Date + granularity: WEEK_OF_YEAR areRelationsValid: true - sourceColumn: product_name - sourceColumnDataType: STRING relationships: dataset: data: - id: products + id: date type: dataset labels: data: - - id: product_name + - id: date.weekOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear meta: origin: originType: NATIVE originId: demo - - id: product_id + - id: date.monthOfYear type: attribute attributes: - title: Product id - description: Product id + title: Date - Month of Year + description: Generic Month (M1-M12) tags: - - Products + - Date + granularity: MONTH_OF_YEAR areRelationsValid: true - sourceColumn: product_id - sourceColumnDataType: INT relationships: dataset: data: - id: products + id: date type: dataset labels: data: - - id: product_id + - id: date.monthOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear meta: origin: originType: NATIVE originId: demo - - id: products.category + - id: date.quarterOfYear type: attribute attributes: - title: Category - description: Category + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) tags: - - Products + - Date + granularity: QUARTER_OF_YEAR areRelationsValid: true - sourceColumn: category - sourceColumnDataType: STRING relationships: dataset: data: - id: products + id: date type: dataset labels: data: - - id: products.category + - id: date.quarterOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear meta: origin: originType: NATIVE originId: demo - - id: date.quarterOfYear + - id: campaign_channel_id type: attribute attributes: - title: Date - Quarter of Year - description: Generic Quarter (Q1-Q4) + title: Campaign channel id + description: Campaign channel id tags: - - Date - granularity: QUARTER_OF_YEAR + - Campaign channels areRelationsValid: true + sourceColumn: campaign_channel_id + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaign_channels type: dataset labels: data: - - id: date.quarterOfYear + - id: campaign_channel_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id meta: origin: originType: NATIVE originId: demo - - id: date.monthOfYear + - id: campaign_channels.category type: attribute attributes: - title: Date - Month of Year - description: Generic Month (M1-M12) + title: Category + description: Category tags: - - Date - granularity: MONTH_OF_YEAR + - Campaign channels areRelationsValid: true + sourceColumn: category + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaign_channels type: dataset labels: data: - - id: date.monthOfYear + - id: campaign_channels.category type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category meta: origin: originType: NATIVE originId: demo - - id: date.weekOfYear + - id: type type: attribute attributes: - title: Date - Week of Year - description: Generic Week (W1-W53) + title: Type + description: Type tags: - - Date - granularity: WEEK_OF_YEAR + - Campaign channels areRelationsValid: true + sourceColumn: type + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaign_channels type: dataset labels: data: - - id: date.weekOfYear + - id: type type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type meta: origin: originType: NATIVE originId: demo - - id: date.dayOfYear + - id: campaign_id type: attribute attributes: - title: Date - Day of Year - description: Generic Day of the Year (D1-D366) + title: Campaign id + description: Campaign id tags: - - Date - granularity: DAY_OF_YEAR + - Campaigns areRelationsValid: true + sourceColumn: campaign_id + sourceColumnDataType: INT relationships: dataset: data: - id: date + id: campaigns type: dataset labels: data: - - id: date.dayOfYear + - id: campaign_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id meta: origin: originType: NATIVE originId: demo - - id: date.dayOfMonth + - id: campaign_name type: attribute attributes: - title: Date - Day of Month - description: Generic Day of the Month (D1-D31) + title: Campaign name + description: Campaign name tags: - - Date - granularity: DAY_OF_MONTH + - Campaigns areRelationsValid: true + sourceColumn: campaign_name + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaigns type: dataset labels: data: - - id: date.dayOfMonth + - id: campaign_name type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name meta: origin: originType: NATIVE originId: demo - - id: date.dayOfWeek + - id: customer_id type: attribute attributes: - title: Date - Day of Week - description: Generic Day of the Week (D1-D7) + title: Customer id + description: Customer id tags: - - Date - granularity: DAY_OF_WEEK + - Customers areRelationsValid: true + sourceColumn: customer_id + sourceColumnDataType: INT relationships: dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.dayOfWeek + - id: customer_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id meta: origin: originType: NATIVE originId: demo - - id: date.hourOfDay + - id: customer_name type: attribute attributes: - title: Date - Hour of Day - description: Generic Hour of the Day(H1-H24) + title: Customer name + description: Customer name tags: - - Date - granularity: HOUR_OF_DAY + - Customers areRelationsValid: true + sourceColumn: customer_name + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.hourOfDay + - id: customer_name type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name meta: origin: originType: NATIVE originId: demo - - id: date.minuteOfHour + - id: region type: attribute attributes: - title: Date - Minute of Hour - description: Generic Minute of the Hour(MI1-MI60) + title: Region + description: Region tags: - - Date - granularity: MINUTE_OF_HOUR + - Customers areRelationsValid: true + sourceColumn: region + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.minuteOfHour + - id: region type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region meta: origin: originType: NATIVE originId: demo - - id: date.year + - id: state type: attribute attributes: - title: Date - Year - description: Year + title: State + description: State tags: - - Date - granularity: YEAR + - Customers areRelationsValid: true + sourceColumn: state + sourceColumnDataType: STRING relationships: + defaultView: + data: + id: state + type: label dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.year + - id: geo__state__location + type: label + - id: state type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state meta: origin: originType: NATIVE originId: demo - - id: date.quarter + - id: order_id type: attribute attributes: - title: Date - Quarter/Year - description: Quarter and Year (Q1/2020) + title: Order id + description: Order id tags: - - Date - granularity: QUARTER + - Order lines areRelationsValid: true + sourceColumn: order_id + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: order_lines type: dataset labels: data: - - id: date.quarter + - id: order_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id meta: origin: originType: NATIVE originId: demo - - id: date.month + - id: order_line_id type: attribute attributes: - title: Date - Month/Year - description: Month and Year (12/2020) + title: Order line id + description: Order line id tags: - - Date - granularity: MONTH + - Order lines areRelationsValid: true + sourceColumn: order_line_id + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: order_lines type: dataset labels: data: - - id: date.month + - id: order_line_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id meta: origin: originType: NATIVE originId: demo - - id: date.week + - id: order_status type: attribute attributes: - title: Date - Week/Year - description: Week and Year (W52/2020) + title: Order status + description: Order status tags: - - Date - granularity: WEEK + - Order lines areRelationsValid: true + sourceColumn: order_status + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: order_lines type: dataset labels: data: - - id: date.week + - id: order_status type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status meta: origin: originType: NATIVE originId: demo - - id: date.day + - id: product_id type: attribute attributes: - title: Date - Date - description: Date + title: Product id + description: Product id tags: - - Date - granularity: DAY + - Products areRelationsValid: true + sourceColumn: product_id + sourceColumnDataType: INT relationships: dataset: data: - id: date + id: products type: dataset labels: data: - - id: date.day + - id: product_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id meta: origin: originType: NATIVE originId: demo - - id: date.hour + - id: product_name type: attribute attributes: - title: Date - Hour - description: Hour + title: Product name + description: Product name tags: - - Date - granularity: HOUR + - Products areRelationsValid: true + sourceColumn: product_name + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: products type: dataset labels: data: - - id: date.hour + - id: product_name type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name meta: origin: originType: NATIVE originId: demo - - id: date.minute + - id: products.category type: attribute attributes: - title: Date - Minute - description: Minute + title: Category + description: Category tags: - - Date - granularity: MINUTE + - Products areRelationsValid: true + sourceColumn: category + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: products type: dataset labels: data: - - id: date.minute + - id: products.category type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category meta: origin: originType: NATIVE @@ -987,51 +987,59 @@ interactions: grain: - id: order_line_id type: attribute - order: 0 referenceProperties: - identifier: - id: products + id: date type: dataset multivalue: false + sources: null sourceColumns: - - product_id + - date sourceColumnDataTypes: - - INT + - DATE - identifier: id: customers type: dataset multivalue: false + sources: null sourceColumns: - customer_id sourceColumnDataTypes: - INT - identifier: - id: date + id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - - date + - campaign_id sourceColumnDataTypes: - - DATE + - INT - identifier: - id: campaigns + id: products type: dataset multivalue: false + sources: null sourceColumns: - - campaign_id + - product_id sourceColumnDataTypes: - INT dataSourceTableId: demo-test-ds:order_lines dataSourceTablePath: - demo - order_lines - workspaceDataFilterProperties: - - workspaceDataFilterIdentifier: + workspaceDataFilterColumns: + - name: wdf__state + dataType: STRING + - name: wdf__region + dataType: STRING + workspaceDataFilterReferences: + - filterId: id: wdf__state type: workspaceDataFilter filterColumn: wdf__state filterColumnDataType: STRING - - workspaceDataFilterIdentifier: + - filterId: id: wdf__region type: workspaceDataFilter filterColumn: wdf__region @@ -1073,12 +1081,12 @@ interactions: grain: - id: campaign_channel_id type: attribute - order: 0 referenceProperties: - identifier: id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - campaign_id sourceColumnDataTypes: @@ -1168,7 +1176,6 @@ interactions: grain: - id: campaign_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:campaigns dataSourceTablePath: - demo @@ -1225,7 +1232,6 @@ interactions: grain: - id: customer_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:customers dataSourceTablePath: - demo @@ -1351,7 +1357,6 @@ interactions: grain: - id: product_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:products dataSourceTablePath: - demo @@ -1455,8 +1460,8 @@ interactions: links: self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_id links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels,datasets&page=0&size=500 - next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels,datasets&page=1&size=500 + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&page=1&size=500 - request: method: GET uri: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500 @@ -1484,7 +1489,7 @@ interactions: Connection: - keep-alive Content-Length: - - '13953' + - '14899' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -1531,6 +1536,54 @@ interactions: body: string: data: + - id: date + type: dataset + attributes: + title: Date + description: '' + tags: + - Date + areRelationsValid: true + type: DATE + relationships: + attributes: + data: + - id: date.quarter + type: attribute + - id: date.minute + type: attribute + - id: date.hourOfDay + type: attribute + - id: date.minuteOfHour + type: attribute + - id: date.dayOfYear + type: attribute + - id: date.monthOfYear + type: attribute + - id: date.weekOfYear + type: attribute + - id: date.week + type: attribute + - id: date.year + type: attribute + - id: date.dayOfWeek + type: attribute + - id: date.hour + type: attribute + - id: date.dayOfMonth + type: attribute + - id: date.month + type: attribute + - id: date.quarterOfYear + type: attribute + - id: date.day + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date + meta: + origin: + originType: NATIVE + originId: demo - id: campaign_channels type: dataset attributes: @@ -1541,16 +1594,20 @@ interactions: grain: - id: campaign_channel_id type: attribute - order: 0 referenceProperties: - identifier: id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - campaign_id - sourceColumnDataTypes: null + sourceColumnDataTypes: + - INT dataSourceTableId: demo-test-ds:campaign_channels + dataSourceTablePath: + - demo + - campaign_channels areRelationsValid: true type: NORMAL relationships: @@ -1558,10 +1615,10 @@ interactions: data: - id: campaign_channel_id type: attribute - - id: type - type: attribute - id: campaign_channels.category type: attribute + - id: type + type: attribute facts: data: - id: budget @@ -1574,6 +1631,68 @@ interactions: origin: originType: NATIVE originId: demo + - id: campaigns + 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 + relationships: + attributes: + data: + - id: campaign_id + type: attribute + - id: campaign_name + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns + meta: + origin: + originType: NATIVE + originId: demo + - id: customers + 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 + relationships: + attributes: + data: + - id: customer_id + type: attribute + - id: state + type: attribute + - id: customer_name + type: attribute + - id: region + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers + meta: + origin: + originType: NATIVE + originId: demo - id: order_lines type: dataset attributes: @@ -1584,59 +1703,74 @@ interactions: grain: - id: order_line_id type: attribute - order: 0 referenceProperties: - identifier: - id: products + id: date type: dataset multivalue: false + sources: null sourceColumns: - - product_id - sourceColumnDataTypes: null + - date + sourceColumnDataTypes: + - DATE - identifier: id: customers type: dataset multivalue: false + sources: null sourceColumns: - customer_id - sourceColumnDataTypes: null + sourceColumnDataTypes: + - INT - identifier: - id: date + id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - - date - sourceColumnDataTypes: null + - campaign_id + sourceColumnDataTypes: + - INT - identifier: - id: campaigns + id: products type: dataset multivalue: false + sources: null sourceColumns: - - campaign_id - sourceColumnDataTypes: null + - product_id + sourceColumnDataTypes: + - INT dataSourceTableId: demo-test-ds:order_lines + dataSourceTablePath: + - demo + - order_lines areRelationsValid: true - workspaceDataFilterProperties: - - workspaceDataFilterIdentifier: - id: wdf__state - type: workspaceDataFilter - filterColumn: wdf__state - filterColumnDataType: STRING - - workspaceDataFilterIdentifier: + workspaceDataFilterColumns: + - name: wdf__state + dataType: STRING + - name: wdf__region + 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 relationships: attributes: data: - - id: order_status - type: attribute - id: order_id type: attribute - id: order_line_id type: attribute + - id: order_status + type: attribute facts: data: - id: price @@ -1659,18 +1793,20 @@ interactions: grain: - id: product_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:products + dataSourceTablePath: + - demo + - products areRelationsValid: true type: NORMAL relationships: attributes: data: - - id: product_name + - id: products.category type: attribute - id: product_id type: attribute - - id: products.category + - id: product_name type: attribute links: self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/products @@ -1678,112 +1814,6 @@ interactions: origin: originType: NATIVE originId: demo - - id: date - type: dataset - attributes: - title: Date - description: '' - tags: - - Date - areRelationsValid: true - type: DATE - relationships: - attributes: - data: - - id: date.quarterOfYear - type: attribute - - id: date.weekOfYear - type: attribute - - id: date.dayOfMonth - type: attribute - - id: date.monthOfYear - type: attribute - - id: date.minuteOfHour - type: attribute - - id: date.hour - type: attribute - - id: date.year - type: attribute - - id: date.week - type: attribute - - id: date.quarter - type: attribute - - id: date.dayOfYear - type: attribute - - id: date.dayOfWeek - type: attribute - - id: date.minute - type: attribute - - id: date.day - type: attribute - - id: date.month - type: attribute - - id: date.hourOfDay - type: attribute - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date - meta: - origin: - originType: NATIVE - originId: demo - - id: campaigns - type: dataset - attributes: - title: Campaigns - description: Campaigns - tags: - - Campaigns - grain: - - id: campaign_id - type: attribute - order: 0 - dataSourceTableId: demo-test-ds:campaigns - areRelationsValid: true - type: NORMAL - relationships: - attributes: - data: - - id: campaign_id - type: attribute - - id: campaign_name - type: attribute - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns - meta: - origin: - originType: NATIVE - originId: demo - - id: customers - type: dataset - attributes: - title: Customers - description: Customers - tags: - - Customers - grain: - - id: customer_id - type: attribute - order: 0 - dataSourceTableId: demo-test-ds:customers - areRelationsValid: true - type: NORMAL - relationships: - attributes: - data: - - id: region - type: attribute - - id: state - type: attribute - - id: customer_id - type: attribute - - id: customer_name - type: attribute - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers - meta: - origin: - originType: NATIVE - originId: demo included: - id: product_id type: attribute @@ -1793,6 +1823,7 @@ interactions: tags: - Products sourceColumn: product_id + sourceColumnDataType: INT links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id - id: budget @@ -1803,6 +1834,7 @@ interactions: tags: - Campaign channels sourceColumn: budget + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/budget - id: date.year @@ -1823,6 +1855,7 @@ interactions: tags: - Products sourceColumn: product_name + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name - id: date.month @@ -1843,6 +1876,7 @@ interactions: tags: - Products sourceColumn: category + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category - id: date.dayOfMonth @@ -1883,6 +1917,7 @@ interactions: tags: - Campaign channels sourceColumn: category + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category - id: date.minute @@ -1903,6 +1938,7 @@ interactions: tags: - Customers sourceColumn: state + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state - id: date.week @@ -1923,6 +1959,7 @@ interactions: tags: - Order lines sourceColumn: order_id + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id - id: date.hour @@ -1943,6 +1980,7 @@ interactions: tags: - Campaigns sourceColumn: campaign_name + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name - id: price @@ -1953,6 +1991,7 @@ interactions: tags: - Order lines sourceColumn: price + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/price - id: date.dayOfWeek @@ -1983,6 +2022,7 @@ interactions: tags: - Customers sourceColumn: region + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region - id: campaign_channel_id @@ -1993,6 +2033,7 @@ interactions: tags: - Campaign channels sourceColumn: campaign_channel_id + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id - id: customer_id @@ -2003,6 +2044,7 @@ interactions: tags: - Customers sourceColumn: customer_id + sourceColumnDataType: INT links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id - id: date.hourOfDay @@ -2023,6 +2065,7 @@ interactions: tags: - Order lines sourceColumn: quantity + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity - id: campaign_id @@ -2033,6 +2076,7 @@ interactions: tags: - Campaigns sourceColumn: campaign_id + sourceColumnDataType: INT links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id - id: type @@ -2043,6 +2087,7 @@ interactions: tags: - Campaign channels sourceColumn: type + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type - id: spend @@ -2053,6 +2098,7 @@ interactions: tags: - Campaign channels sourceColumn: spend + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/spend - id: date.dayOfYear @@ -2093,6 +2139,7 @@ interactions: tags: - Order lines sourceColumn: order_status + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status - id: date.monthOfYear @@ -2113,6 +2160,7 @@ interactions: tags: - Customers sourceColumn: customer_name + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name - id: order_line_id @@ -2123,11 +2171,12 @@ interactions: tags: - Order lines sourceColumn: order_line_id + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=0&size=500 - next: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=1&size=500 + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=1&size=500 - request: method: GET uri: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500 @@ -2155,7 +2204,7 @@ interactions: Connection: - keep-alive Content-Length: - - '9799' + - '10543' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -2207,6 +2256,7 @@ interactions: attributes: title: '# of Active Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0' maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) @@ -2221,6 +2271,7 @@ interactions: attributes: title: '# of Orders' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0' maql: SELECT COUNT({attribute/order_id}) @@ -2235,6 +2286,7 @@ interactions: attributes: title: '# of Top Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0' maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT @@ -2251,6 +2303,7 @@ interactions: title: '# of Valid Orders' description: '' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.00' maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} @@ -2266,6 +2319,7 @@ interactions: attributes: title: Campaign Spend areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT SUM({fact/spend}) @@ -2280,6 +2334,7 @@ interactions: attributes: title: Order Amount areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT SUM({fact/price}*{fact/quantity}) @@ -2294,6 +2349,7 @@ interactions: attributes: title: '% Revenue' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / {metric/total_revenue} @@ -2308,6 +2364,7 @@ interactions: attributes: title: '% Revenue from Top 10 Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ @@ -2323,6 +2380,7 @@ interactions: attributes: title: '% Revenue from Top 10% Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ @@ -2338,6 +2396,7 @@ interactions: attributes: title: '% Revenue from Top 10% Products' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ @@ -2353,6 +2412,7 @@ interactions: attributes: title: '% Revenue from Top 10 Products' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ @@ -2368,6 +2428,7 @@ interactions: attributes: title: '% Revenue in Category' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, @@ -2383,6 +2444,7 @@ interactions: attributes: title: '% Revenue per Product' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL @@ -2399,6 +2461,7 @@ interactions: title: Revenue description: '' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} @@ -2414,6 +2477,7 @@ interactions: attributes: title: Revenue (Clothing) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2429,6 +2493,7 @@ interactions: attributes: title: Revenue (Electronic) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2444,6 +2509,7 @@ interactions: attributes: title: Revenue (Home) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2459,6 +2525,7 @@ interactions: attributes: title: Revenue (Outdoor) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2474,6 +2541,7 @@ interactions: attributes: title: Revenue per Customer areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0.0 maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) @@ -2488,6 +2556,7 @@ interactions: attributes: title: Revenue per Dollar Spent areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0.0 maql: SELECT {metric/revenue} / {metric/campaign_spend} @@ -2502,6 +2571,7 @@ interactions: attributes: title: Revenue / Top 10 areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) @@ -2516,6 +2586,7 @@ interactions: attributes: title: Revenue / Top 10% areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) @@ -2530,6 +2601,7 @@ interactions: attributes: title: Total Revenue areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} BY ALL OTHER @@ -2544,6 +2616,7 @@ interactions: attributes: title: Total Revenue (No Filters) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER @@ -2558,7 +2631,7 @@ interactions: next: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=1&size=500 - request: method: GET - uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/02e72524533be442b57ef4e0c223d3bcbe23a15d?offset=0&limit=1000 + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/ddf23ea306987c64464fde942eb96e9e82ccc64a?offset=0&limit=1000 body: null headers: Accept: diff --git a/gooddata-pandas/tests/series/fixtures/simple_index_metric_series.yaml b/gooddata-pandas/tests/series/fixtures/simple_index_metric_series.yaml index ebc93616d..308b672f9 100644 --- a/gooddata-pandas/tests/series/fixtures/simple_index_metric_series.yaml +++ b/gooddata-pandas/tests/series/fixtures/simple_index_metric_series.yaml @@ -129,7 +129,7 @@ interactions: type: label localIdentifier: dim_1 links: - executionResult: 05b3a1d494592c445362b3ef57be390e1a77d1c7 + executionResult: a144c0bff8045a57ad136b06edfe88676d8b5b04 - request: method: GET uri: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&page=0&size=500 @@ -157,7 +157,7 @@ interactions: Connection: - keep-alive Content-Length: - - '27018' + - '27121' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -204,743 +204,743 @@ interactions: body: string: data: - - id: campaign_channels.category + - id: date.minute type: attribute attributes: - title: Category - description: Category + title: Date - Minute + description: Minute tags: - - Campaign channels + - Date + granularity: MINUTE areRelationsValid: true - sourceColumn: category - sourceColumnDataType: STRING relationships: dataset: data: - id: campaign_channels + id: date type: dataset labels: data: - - id: campaign_channels.category + - id: date.minute type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute meta: origin: originType: NATIVE originId: demo - - id: campaign_channel_id + - id: date.hour type: attribute attributes: - title: Campaign channel id - description: Campaign channel id + title: Date - Hour + description: Hour tags: - - Campaign channels + - Date + granularity: HOUR areRelationsValid: true - sourceColumn: campaign_channel_id - sourceColumnDataType: STRING relationships: dataset: data: - id: campaign_channels + id: date type: dataset labels: data: - - id: campaign_channel_id + - id: date.hour type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour meta: origin: originType: NATIVE originId: demo - - id: type + - id: date.day type: attribute attributes: - title: Type - description: Type + title: Date - Date + description: Date tags: - - Campaign channels + - Date + granularity: DAY areRelationsValid: true - sourceColumn: type - sourceColumnDataType: STRING relationships: dataset: data: - id: campaign_channels + id: date type: dataset labels: data: - - id: type + - id: date.day type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day meta: origin: originType: NATIVE originId: demo - - id: campaign_name + - id: date.week type: attribute attributes: - title: Campaign name - description: Campaign name + title: Date - Week/Year + description: Week and Year (W52/2020) tags: - - Campaigns + - Date + granularity: WEEK areRelationsValid: true - sourceColumn: campaign_name - sourceColumnDataType: STRING relationships: dataset: data: - id: campaigns + id: date type: dataset labels: data: - - id: campaign_name + - id: date.week type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week meta: origin: originType: NATIVE originId: demo - - id: campaign_id + - id: date.month type: attribute attributes: - title: Campaign id - description: Campaign id + title: Date - Month/Year + description: Month and Year (12/2020) tags: - - Campaigns + - Date + granularity: MONTH areRelationsValid: true - sourceColumn: campaign_id - sourceColumnDataType: INT relationships: dataset: data: - id: campaigns + id: date type: dataset labels: data: - - id: campaign_id + - id: date.month type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month meta: origin: originType: NATIVE originId: demo - - id: state + - id: date.quarter type: attribute attributes: - title: State - description: State + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) tags: - - Customers + - Date + granularity: QUARTER areRelationsValid: true - sourceColumn: state - sourceColumnDataType: STRING relationships: - defaultView: - data: - id: state - type: label dataset: data: - id: customers + id: date type: dataset labels: data: - - id: state - type: label - - id: geo__state__location + - id: date.quarter type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter meta: origin: originType: NATIVE originId: demo - - id: region + - id: date.year type: attribute attributes: - title: Region - description: Region + title: Date - Year + description: Year tags: - - Customers + - Date + granularity: YEAR areRelationsValid: true - sourceColumn: region - sourceColumnDataType: STRING relationships: dataset: data: - id: customers + id: date type: dataset labels: data: - - id: region + - id: date.year type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year meta: origin: originType: NATIVE originId: demo - - id: customer_name + - id: date.minuteOfHour type: attribute attributes: - title: Customer name - description: Customer name + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) tags: - - Customers + - Date + granularity: MINUTE_OF_HOUR areRelationsValid: true - sourceColumn: customer_name - sourceColumnDataType: STRING relationships: dataset: data: - id: customers + id: date type: dataset labels: data: - - id: customer_name + - id: date.minuteOfHour type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour meta: origin: originType: NATIVE originId: demo - - id: customer_id + - id: date.hourOfDay type: attribute attributes: - title: Customer id - description: Customer id + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) tags: - - Customers + - Date + granularity: HOUR_OF_DAY areRelationsValid: true - sourceColumn: customer_id - sourceColumnDataType: INT relationships: dataset: data: - id: customers + id: date type: dataset labels: data: - - id: customer_id + - id: date.hourOfDay type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay meta: origin: originType: NATIVE originId: demo - - id: order_status + - id: date.dayOfWeek type: attribute attributes: - title: Order status - description: Order status + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) tags: - - Order lines + - Date + granularity: DAY_OF_WEEK areRelationsValid: true - sourceColumn: order_status - sourceColumnDataType: STRING relationships: dataset: data: - id: order_lines + id: date type: dataset labels: data: - - id: order_status + - id: date.dayOfWeek type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek meta: origin: originType: NATIVE originId: demo - - id: order_line_id + - id: date.dayOfMonth type: attribute attributes: - title: Order line id - description: Order line id + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) tags: - - Order lines + - Date + granularity: DAY_OF_MONTH areRelationsValid: true - sourceColumn: order_line_id - sourceColumnDataType: STRING relationships: dataset: data: - id: order_lines + id: date type: dataset labels: data: - - id: order_line_id + - id: date.dayOfMonth type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth meta: origin: originType: NATIVE originId: demo - - id: order_id + - id: date.dayOfYear type: attribute attributes: - title: Order id - description: Order id + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) tags: - - Order lines + - Date + granularity: DAY_OF_YEAR areRelationsValid: true - sourceColumn: order_id - sourceColumnDataType: STRING relationships: dataset: data: - id: order_lines + id: date type: dataset labels: data: - - id: order_id + - id: date.dayOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear meta: origin: originType: NATIVE originId: demo - - id: product_name + - id: date.weekOfYear type: attribute attributes: - title: Product name - description: Product name + title: Date - Week of Year + description: Generic Week (W1-W53) tags: - - Products + - Date + granularity: WEEK_OF_YEAR areRelationsValid: true - sourceColumn: product_name - sourceColumnDataType: STRING relationships: dataset: data: - id: products + id: date type: dataset labels: data: - - id: product_name + - id: date.weekOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear meta: origin: originType: NATIVE originId: demo - - id: product_id + - id: date.monthOfYear type: attribute attributes: - title: Product id - description: Product id + title: Date - Month of Year + description: Generic Month (M1-M12) tags: - - Products + - Date + granularity: MONTH_OF_YEAR areRelationsValid: true - sourceColumn: product_id - sourceColumnDataType: INT relationships: dataset: data: - id: products + id: date type: dataset labels: data: - - id: product_id + - id: date.monthOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear meta: origin: originType: NATIVE originId: demo - - id: products.category + - id: date.quarterOfYear type: attribute attributes: - title: Category - description: Category + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) tags: - - Products + - Date + granularity: QUARTER_OF_YEAR areRelationsValid: true - sourceColumn: category - sourceColumnDataType: STRING relationships: dataset: data: - id: products + id: date type: dataset labels: data: - - id: products.category + - id: date.quarterOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear meta: origin: originType: NATIVE originId: demo - - id: date.quarterOfYear + - id: campaign_channel_id type: attribute attributes: - title: Date - Quarter of Year - description: Generic Quarter (Q1-Q4) + title: Campaign channel id + description: Campaign channel id tags: - - Date - granularity: QUARTER_OF_YEAR + - Campaign channels areRelationsValid: true + sourceColumn: campaign_channel_id + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaign_channels type: dataset labels: data: - - id: date.quarterOfYear + - id: campaign_channel_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id meta: origin: originType: NATIVE originId: demo - - id: date.monthOfYear + - id: campaign_channels.category type: attribute attributes: - title: Date - Month of Year - description: Generic Month (M1-M12) + title: Category + description: Category tags: - - Date - granularity: MONTH_OF_YEAR + - Campaign channels areRelationsValid: true + sourceColumn: category + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaign_channels type: dataset labels: data: - - id: date.monthOfYear + - id: campaign_channels.category type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category meta: origin: originType: NATIVE originId: demo - - id: date.weekOfYear + - id: type type: attribute - attributes: - title: Date - Week of Year - description: Generic Week (W1-W53) + attributes: + title: Type + description: Type tags: - - Date - granularity: WEEK_OF_YEAR + - Campaign channels areRelationsValid: true + sourceColumn: type + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaign_channels type: dataset labels: data: - - id: date.weekOfYear + - id: type type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type meta: origin: originType: NATIVE originId: demo - - id: date.dayOfYear + - id: campaign_id type: attribute attributes: - title: Date - Day of Year - description: Generic Day of the Year (D1-D366) + title: Campaign id + description: Campaign id tags: - - Date - granularity: DAY_OF_YEAR + - Campaigns areRelationsValid: true + sourceColumn: campaign_id + sourceColumnDataType: INT relationships: dataset: data: - id: date + id: campaigns type: dataset labels: data: - - id: date.dayOfYear + - id: campaign_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id meta: origin: originType: NATIVE originId: demo - - id: date.dayOfMonth + - id: campaign_name type: attribute attributes: - title: Date - Day of Month - description: Generic Day of the Month (D1-D31) + title: Campaign name + description: Campaign name tags: - - Date - granularity: DAY_OF_MONTH + - Campaigns areRelationsValid: true + sourceColumn: campaign_name + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: campaigns type: dataset labels: data: - - id: date.dayOfMonth + - id: campaign_name type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name meta: origin: originType: NATIVE originId: demo - - id: date.dayOfWeek + - id: customer_id type: attribute attributes: - title: Date - Day of Week - description: Generic Day of the Week (D1-D7) + title: Customer id + description: Customer id tags: - - Date - granularity: DAY_OF_WEEK + - Customers areRelationsValid: true + sourceColumn: customer_id + sourceColumnDataType: INT relationships: dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.dayOfWeek + - id: customer_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id meta: origin: originType: NATIVE originId: demo - - id: date.hourOfDay + - id: customer_name type: attribute attributes: - title: Date - Hour of Day - description: Generic Hour of the Day(H1-H24) + title: Customer name + description: Customer name tags: - - Date - granularity: HOUR_OF_DAY + - Customers areRelationsValid: true + sourceColumn: customer_name + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.hourOfDay + - id: customer_name type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name meta: origin: originType: NATIVE originId: demo - - id: date.minuteOfHour + - id: region type: attribute attributes: - title: Date - Minute of Hour - description: Generic Minute of the Hour(MI1-MI60) + title: Region + description: Region tags: - - Date - granularity: MINUTE_OF_HOUR + - Customers areRelationsValid: true + sourceColumn: region + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.minuteOfHour + - id: region type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region meta: origin: originType: NATIVE originId: demo - - id: date.year + - id: state type: attribute attributes: - title: Date - Year - description: Year + title: State + description: State tags: - - Date - granularity: YEAR + - Customers areRelationsValid: true + sourceColumn: state + sourceColumnDataType: STRING relationships: + defaultView: + data: + id: state + type: label dataset: data: - id: date + id: customers type: dataset labels: data: - - id: date.year + - id: geo__state__location + type: label + - id: state type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state meta: origin: originType: NATIVE originId: demo - - id: date.quarter + - id: order_id type: attribute attributes: - title: Date - Quarter/Year - description: Quarter and Year (Q1/2020) + title: Order id + description: Order id tags: - - Date - granularity: QUARTER + - Order lines areRelationsValid: true + sourceColumn: order_id + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: order_lines type: dataset labels: data: - - id: date.quarter + - id: order_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id meta: origin: originType: NATIVE originId: demo - - id: date.month + - id: order_line_id type: attribute attributes: - title: Date - Month/Year - description: Month and Year (12/2020) + title: Order line id + description: Order line id tags: - - Date - granularity: MONTH + - Order lines areRelationsValid: true + sourceColumn: order_line_id + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: order_lines type: dataset labels: data: - - id: date.month + - id: order_line_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id meta: origin: originType: NATIVE originId: demo - - id: date.week + - id: order_status type: attribute attributes: - title: Date - Week/Year - description: Week and Year (W52/2020) + title: Order status + description: Order status tags: - - Date - granularity: WEEK + - Order lines areRelationsValid: true + sourceColumn: order_status + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: order_lines type: dataset labels: data: - - id: date.week + - id: order_status type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status meta: origin: originType: NATIVE originId: demo - - id: date.day + - id: product_id type: attribute attributes: - title: Date - Date - description: Date + title: Product id + description: Product id tags: - - Date - granularity: DAY + - Products areRelationsValid: true + sourceColumn: product_id + sourceColumnDataType: INT relationships: dataset: data: - id: date + id: products type: dataset labels: data: - - id: date.day + - id: product_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id meta: origin: originType: NATIVE originId: demo - - id: date.hour + - id: product_name type: attribute attributes: - title: Date - Hour - description: Hour + title: Product name + description: Product name tags: - - Date - granularity: HOUR + - Products areRelationsValid: true + sourceColumn: product_name + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: products type: dataset labels: data: - - id: date.hour + - id: product_name type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name meta: origin: originType: NATIVE originId: demo - - id: date.minute + - id: products.category type: attribute attributes: - title: Date - Minute - description: Minute + title: Category + description: Category tags: - - Date - granularity: MINUTE + - Products areRelationsValid: true + sourceColumn: category + sourceColumnDataType: STRING relationships: dataset: data: - id: date + id: products type: dataset labels: data: - - id: date.minute + - id: products.category type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category meta: origin: originType: NATIVE @@ -1004,51 +1004,59 @@ interactions: grain: - id: order_line_id type: attribute - order: 0 referenceProperties: - identifier: - id: products + id: date type: dataset multivalue: false + sources: null sourceColumns: - - product_id + - date sourceColumnDataTypes: - - INT + - DATE - identifier: id: customers type: dataset multivalue: false + sources: null sourceColumns: - customer_id sourceColumnDataTypes: - INT - identifier: - id: date + id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - - date + - campaign_id sourceColumnDataTypes: - - DATE + - INT - identifier: - id: campaigns + id: products type: dataset multivalue: false + sources: null sourceColumns: - - campaign_id + - product_id sourceColumnDataTypes: - INT dataSourceTableId: demo-test-ds:order_lines dataSourceTablePath: - demo - order_lines - workspaceDataFilterProperties: - - workspaceDataFilterIdentifier: + workspaceDataFilterColumns: + - name: wdf__state + dataType: STRING + - name: wdf__region + dataType: STRING + workspaceDataFilterReferences: + - filterId: id: wdf__state type: workspaceDataFilter filterColumn: wdf__state filterColumnDataType: STRING - - workspaceDataFilterIdentifier: + - filterId: id: wdf__region type: workspaceDataFilter filterColumn: wdf__region @@ -1090,12 +1098,12 @@ interactions: grain: - id: campaign_channel_id type: attribute - order: 0 referenceProperties: - identifier: id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - campaign_id sourceColumnDataTypes: @@ -1185,7 +1193,6 @@ interactions: grain: - id: campaign_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:campaigns dataSourceTablePath: - demo @@ -1242,7 +1249,6 @@ interactions: grain: - id: customer_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:customers dataSourceTablePath: - demo @@ -1368,7 +1374,6 @@ interactions: grain: - id: product_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:products dataSourceTablePath: - demo @@ -1472,8 +1477,8 @@ interactions: links: self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_id links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels,datasets&page=0&size=500 - next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels,datasets&page=1&size=500 + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&page=1&size=500 - request: method: GET uri: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500 @@ -1501,7 +1506,7 @@ interactions: Connection: - keep-alive Content-Length: - - '13953' + - '14899' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -1548,6 +1553,54 @@ interactions: body: string: data: + - id: date + type: dataset + attributes: + title: Date + description: '' + tags: + - Date + areRelationsValid: true + type: DATE + relationships: + attributes: + data: + - id: date.quarter + type: attribute + - id: date.minute + type: attribute + - id: date.hourOfDay + type: attribute + - id: date.minuteOfHour + type: attribute + - id: date.dayOfYear + type: attribute + - id: date.monthOfYear + type: attribute + - id: date.weekOfYear + type: attribute + - id: date.week + type: attribute + - id: date.year + type: attribute + - id: date.dayOfWeek + type: attribute + - id: date.hour + type: attribute + - id: date.dayOfMonth + type: attribute + - id: date.month + type: attribute + - id: date.quarterOfYear + type: attribute + - id: date.day + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date + meta: + origin: + originType: NATIVE + originId: demo - id: campaign_channels type: dataset attributes: @@ -1558,16 +1611,20 @@ interactions: grain: - id: campaign_channel_id type: attribute - order: 0 referenceProperties: - identifier: id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - campaign_id - sourceColumnDataTypes: null + sourceColumnDataTypes: + - INT dataSourceTableId: demo-test-ds:campaign_channels + dataSourceTablePath: + - demo + - campaign_channels areRelationsValid: true type: NORMAL relationships: @@ -1575,10 +1632,10 @@ interactions: data: - id: campaign_channel_id type: attribute - - id: type - type: attribute - id: campaign_channels.category type: attribute + - id: type + type: attribute facts: data: - id: budget @@ -1591,6 +1648,68 @@ interactions: origin: originType: NATIVE originId: demo + - id: campaigns + 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 + relationships: + attributes: + data: + - id: campaign_id + type: attribute + - id: campaign_name + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns + meta: + origin: + originType: NATIVE + originId: demo + - id: customers + 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 + relationships: + attributes: + data: + - id: customer_id + type: attribute + - id: state + type: attribute + - id: customer_name + type: attribute + - id: region + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers + meta: + origin: + originType: NATIVE + originId: demo - id: order_lines type: dataset attributes: @@ -1601,45 +1720,60 @@ interactions: grain: - id: order_line_id type: attribute - order: 0 referenceProperties: - identifier: - id: products + id: date type: dataset multivalue: false + sources: null sourceColumns: - - product_id - sourceColumnDataTypes: null + - date + sourceColumnDataTypes: + - DATE - identifier: id: customers type: dataset multivalue: false + sources: null sourceColumns: - customer_id - sourceColumnDataTypes: null + sourceColumnDataTypes: + - INT - identifier: - id: date + id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - - date - sourceColumnDataTypes: null + - campaign_id + sourceColumnDataTypes: + - INT - identifier: - id: campaigns + id: products type: dataset multivalue: false + sources: null sourceColumns: - - campaign_id - sourceColumnDataTypes: null + - product_id + sourceColumnDataTypes: + - INT dataSourceTableId: demo-test-ds:order_lines + dataSourceTablePath: + - demo + - order_lines areRelationsValid: true - workspaceDataFilterProperties: - - workspaceDataFilterIdentifier: + workspaceDataFilterColumns: + - name: wdf__state + dataType: STRING + - name: wdf__region + dataType: STRING + workspaceDataFilterReferences: + - filterId: id: wdf__state type: workspaceDataFilter filterColumn: wdf__state filterColumnDataType: STRING - - workspaceDataFilterIdentifier: + - filterId: id: wdf__region type: workspaceDataFilter filterColumn: wdf__region @@ -1648,12 +1782,12 @@ interactions: relationships: attributes: data: - - id: order_status - type: attribute - id: order_id type: attribute - id: order_line_id type: attribute + - id: order_status + type: attribute facts: data: - id: price @@ -1676,18 +1810,20 @@ interactions: grain: - id: product_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:products + dataSourceTablePath: + - demo + - products areRelationsValid: true type: NORMAL relationships: attributes: data: - - id: product_name + - id: products.category type: attribute - id: product_id type: attribute - - id: products.category + - id: product_name type: attribute links: self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/products @@ -1695,112 +1831,6 @@ interactions: origin: originType: NATIVE originId: demo - - id: date - type: dataset - attributes: - title: Date - description: '' - tags: - - Date - areRelationsValid: true - type: DATE - relationships: - attributes: - data: - - id: date.quarterOfYear - type: attribute - - id: date.weekOfYear - type: attribute - - id: date.dayOfMonth - type: attribute - - id: date.monthOfYear - type: attribute - - id: date.minuteOfHour - type: attribute - - id: date.hour - type: attribute - - id: date.year - type: attribute - - id: date.week - type: attribute - - id: date.quarter - type: attribute - - id: date.dayOfYear - type: attribute - - id: date.dayOfWeek - type: attribute - - id: date.minute - type: attribute - - id: date.day - type: attribute - - id: date.month - type: attribute - - id: date.hourOfDay - type: attribute - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date - meta: - origin: - originType: NATIVE - originId: demo - - id: campaigns - type: dataset - attributes: - title: Campaigns - description: Campaigns - tags: - - Campaigns - grain: - - id: campaign_id - type: attribute - order: 0 - dataSourceTableId: demo-test-ds:campaigns - areRelationsValid: true - type: NORMAL - relationships: - attributes: - data: - - id: campaign_id - type: attribute - - id: campaign_name - type: attribute - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns - meta: - origin: - originType: NATIVE - originId: demo - - id: customers - type: dataset - attributes: - title: Customers - description: Customers - tags: - - Customers - grain: - - id: customer_id - type: attribute - order: 0 - dataSourceTableId: demo-test-ds:customers - areRelationsValid: true - type: NORMAL - relationships: - attributes: - data: - - id: region - type: attribute - - id: state - type: attribute - - id: customer_id - type: attribute - - id: customer_name - type: attribute - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers - meta: - origin: - originType: NATIVE - originId: demo included: - id: product_id type: attribute @@ -1810,6 +1840,7 @@ interactions: tags: - Products sourceColumn: product_id + sourceColumnDataType: INT links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id - id: budget @@ -1820,6 +1851,7 @@ interactions: tags: - Campaign channels sourceColumn: budget + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/budget - id: date.year @@ -1840,6 +1872,7 @@ interactions: tags: - Products sourceColumn: product_name + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name - id: date.month @@ -1860,6 +1893,7 @@ interactions: tags: - Products sourceColumn: category + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category - id: date.dayOfMonth @@ -1900,6 +1934,7 @@ interactions: tags: - Campaign channels sourceColumn: category + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category - id: date.minute @@ -1920,6 +1955,7 @@ interactions: tags: - Customers sourceColumn: state + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state - id: date.week @@ -1940,6 +1976,7 @@ interactions: tags: - Order lines sourceColumn: order_id + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id - id: date.hour @@ -1960,6 +1997,7 @@ interactions: tags: - Campaigns sourceColumn: campaign_name + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name - id: price @@ -1970,6 +2008,7 @@ interactions: tags: - Order lines sourceColumn: price + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/price - id: date.dayOfWeek @@ -2000,6 +2039,7 @@ interactions: tags: - Customers sourceColumn: region + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region - id: campaign_channel_id @@ -2010,6 +2050,7 @@ interactions: tags: - Campaign channels sourceColumn: campaign_channel_id + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id - id: customer_id @@ -2020,6 +2061,7 @@ interactions: tags: - Customers sourceColumn: customer_id + sourceColumnDataType: INT links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id - id: date.hourOfDay @@ -2040,6 +2082,7 @@ interactions: tags: - Order lines sourceColumn: quantity + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity - id: campaign_id @@ -2050,6 +2093,7 @@ interactions: tags: - Campaigns sourceColumn: campaign_id + sourceColumnDataType: INT links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id - id: type @@ -2060,6 +2104,7 @@ interactions: tags: - Campaign channels sourceColumn: type + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type - id: spend @@ -2070,6 +2115,7 @@ interactions: tags: - Campaign channels sourceColumn: spend + sourceColumnDataType: NUMERIC links: self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/spend - id: date.dayOfYear @@ -2110,6 +2156,7 @@ interactions: tags: - Order lines sourceColumn: order_status + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status - id: date.monthOfYear @@ -2130,6 +2177,7 @@ interactions: tags: - Customers sourceColumn: customer_name + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name - id: order_line_id @@ -2140,11 +2188,12 @@ interactions: tags: - Order lines sourceColumn: order_line_id + sourceColumnDataType: STRING links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=0&size=500 - next: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=1&size=500 + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=1&size=500 - request: method: GET uri: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500 @@ -2172,7 +2221,7 @@ interactions: Connection: - keep-alive Content-Length: - - '9799' + - '10543' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -2224,6 +2273,7 @@ interactions: attributes: title: '# of Active Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0' maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) @@ -2238,6 +2288,7 @@ interactions: attributes: title: '# of Orders' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0' maql: SELECT COUNT({attribute/order_id}) @@ -2252,6 +2303,7 @@ interactions: attributes: title: '# of Top Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0' maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT @@ -2268,6 +2320,7 @@ interactions: title: '# of Valid Orders' description: '' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.00' maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} @@ -2283,6 +2336,7 @@ interactions: attributes: title: Campaign Spend areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT SUM({fact/spend}) @@ -2297,6 +2351,7 @@ interactions: attributes: title: Order Amount areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT SUM({fact/price}*{fact/quantity}) @@ -2311,6 +2366,7 @@ interactions: attributes: title: '% Revenue' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / {metric/total_revenue} @@ -2325,6 +2381,7 @@ interactions: attributes: title: '% Revenue from Top 10 Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ @@ -2340,6 +2397,7 @@ interactions: attributes: title: '% Revenue from Top 10% Customers' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ @@ -2355,6 +2413,7 @@ interactions: attributes: title: '% Revenue from Top 10% Products' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ @@ -2370,6 +2429,7 @@ interactions: attributes: title: '% Revenue from Top 10 Products' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ @@ -2385,6 +2445,7 @@ interactions: attributes: title: '% Revenue in Category' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, @@ -2400,6 +2461,7 @@ interactions: attributes: title: '% Revenue per Product' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL @@ -2416,6 +2478,7 @@ interactions: title: Revenue description: '' areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} @@ -2431,6 +2494,7 @@ interactions: attributes: title: Revenue (Clothing) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2446,6 +2510,7 @@ interactions: attributes: title: Revenue (Electronic) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2461,6 +2526,7 @@ interactions: attributes: title: Revenue (Home) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2476,6 +2542,7 @@ interactions: attributes: title: Revenue (Outdoor) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2491,6 +2558,7 @@ interactions: attributes: title: Revenue per Customer areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0.0 maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) @@ -2505,6 +2573,7 @@ interactions: attributes: title: Revenue per Dollar Spent areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0.0 maql: SELECT {metric/revenue} / {metric/campaign_spend} @@ -2519,6 +2588,7 @@ interactions: attributes: title: Revenue / Top 10 areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) @@ -2533,6 +2603,7 @@ interactions: attributes: title: Revenue / Top 10% areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) @@ -2547,6 +2618,7 @@ interactions: attributes: title: Total Revenue areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} BY ALL OTHER @@ -2561,6 +2633,7 @@ interactions: attributes: title: Total Revenue (No Filters) areRelationsValid: true + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER @@ -2575,7 +2648,7 @@ interactions: next: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=1&size=500 - request: method: GET - uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/05b3a1d494592c445362b3ef57be390e1a77d1c7?offset=0%2C0&limit=1%2C1000 + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/a144c0bff8045a57ad136b06edfe88676d8b5b04?offset=0%2C0&limit=1%2C1000 body: null headers: Accept: diff --git a/gooddata-sdk/gooddata_sdk/__init__.py b/gooddata-sdk/gooddata_sdk/__init__.py index 5a1089732..01642601f 100644 --- a/gooddata-sdk/gooddata_sdk/__init__.py +++ b/gooddata-sdk/gooddata_sdk/__init__.py @@ -54,7 +54,11 @@ ExportRequest, ExportSettings, ) -from gooddata_sdk.catalog.identifier import CatalogDatasetWorkspaceDataFilterIdentifier, CatalogWorkspaceIdentifier +from gooddata_sdk.catalog.identifier import ( + CatalogAssigneeIdentifier, + CatalogDatasetWorkspaceDataFilterIdentifier, + CatalogWorkspaceIdentifier, +) from gooddata_sdk.catalog.organization.entity_model.directive import CatalogCspDirective from gooddata_sdk.catalog.organization.entity_model.jwk import ( CatalogJwk, @@ -79,14 +83,17 @@ from gooddata_sdk.catalog.permission.declarative_model.manage_dashboard_permissions import ( CatalogDashboardAssigneeIdentifier, CatalogPermissionsForAssignee, + CatalogPermissionsForAssigneeRule, ) from gooddata_sdk.catalog.permission.declarative_model.permission import ( - CatalogAssigneeIdentifier, + CatalogDeclarativeDashboardPermissionsForAssignee, + CatalogDeclarativeDashboardPermissionsForAssigneeRule, CatalogDeclarativeDataSourcePermission, CatalogDeclarativeSingleWorkspacePermission, CatalogDeclarativeWorkspaceHierarchyPermission, CatalogDeclarativeWorkspacePermissions, ) +from gooddata_sdk.catalog.rule import CatalogAssigneeRule from gooddata_sdk.catalog.user.declarative_model.user import CatalogDeclarativeUser, CatalogDeclarativeUsers from gooddata_sdk.catalog.user.declarative_model.user_and_user_groups import CatalogDeclarativeUsersUserGroups from gooddata_sdk.catalog.user.declarative_model.user_group import ( diff --git a/gooddata-sdk/gooddata_sdk/catalog/permission/declarative_model/dashboard_permissions.py b/gooddata-sdk/gooddata_sdk/catalog/permission/declarative_model/dashboard_permissions.py index edb8e5080..3b672a0de 100644 --- a/gooddata-sdk/gooddata_sdk/catalog/permission/declarative_model/dashboard_permissions.py +++ b/gooddata-sdk/gooddata_sdk/catalog/permission/declarative_model/dashboard_permissions.py @@ -5,6 +5,7 @@ from gooddata_api_client.model.dashboard_permissions import DashboardPermissions from gooddata_api_client.model.granted_permission import GrantedPermission +from gooddata_api_client.model.rule_permission import RulePermission from gooddata_api_client.model.user_group_permission import UserGroupPermission from gooddata_api_client.model.user_permission import UserPermission from gooddata_sdk.catalog.base import Base @@ -43,8 +44,19 @@ def client_class() -> Type[UserGroupPermission]: return UserGroupPermission +@attr.s(auto_attribs=True, kw_only=True) +class CatalogRulePermission(Base): + type: str + permissions: Optional[List[str]] = None + + @staticmethod + def client_class() -> Type[RulePermission]: + return RulePermission + + @attr.s(auto_attribs=True, kw_only=True) class CatalogDashboardPermissions(Base): + rules: List[CatalogRulePermission] user_groups: List[CatalogUserGroupPermission] users: List[CatalogUserPermission] diff --git a/gooddata-sdk/gooddata_sdk/catalog/permission/declarative_model/manage_dashboard_permissions.py b/gooddata-sdk/gooddata_sdk/catalog/permission/declarative_model/manage_dashboard_permissions.py index aa45a16ae..20927fad5 100644 --- a/gooddata-sdk/gooddata_sdk/catalog/permission/declarative_model/manage_dashboard_permissions.py +++ b/gooddata-sdk/gooddata_sdk/catalog/permission/declarative_model/manage_dashboard_permissions.py @@ -3,26 +3,33 @@ import attr -from gooddata_api_client.model.assignee_identifier import AssigneeIdentifier -from gooddata_api_client.model.permissions_for_assignee import PermissionsForAssignee +from gooddata_api_client.model.manage_dashboard_permissions_request_inner import ManageDashboardPermissionsRequestInner from gooddata_sdk.catalog.base import Base +from gooddata_sdk.catalog.identifier import CatalogAssigneeIdentifier +from gooddata_sdk.catalog.rule import CatalogAssigneeRule +# Kept for backward compatibility only @attr.s(auto_attribs=True, kw_only=True) -class CatalogDashboardAssigneeIdentifier(Base): - id: str - type: str +class CatalogDashboardAssigneeIdentifier(CatalogAssigneeIdentifier): + pass + + +@attr.s(auto_attribs=True, kw_only=True) +class CatalogPermissionsForAssignee(Base): + permissions: List[str] = attr.field(factory=list) + assignee_identifier: CatalogAssigneeIdentifier @staticmethod - def client_class() -> Type[AssigneeIdentifier]: - return AssigneeIdentifier + def client_class() -> Type[ManageDashboardPermissionsRequestInner]: + return ManageDashboardPermissionsRequestInner @attr.s(auto_attribs=True, kw_only=True) -class CatalogPermissionsForAssignee(Base): - assignee_identifier: CatalogDashboardAssigneeIdentifier +class CatalogPermissionsForAssigneeRule(Base): permissions: List[str] = attr.field(factory=list) + assignee_rule: CatalogAssigneeRule @staticmethod - def client_class() -> Type[PermissionsForAssignee]: - return PermissionsForAssignee + def client_class() -> Type[ManageDashboardPermissionsRequestInner]: + return ManageDashboardPermissionsRequestInner diff --git a/gooddata-sdk/gooddata_sdk/catalog/permission/declarative_model/permission.py b/gooddata-sdk/gooddata_sdk/catalog/permission/declarative_model/permission.py index bca315281..fa9d13652 100644 --- a/gooddata-sdk/gooddata_sdk/catalog/permission/declarative_model/permission.py +++ b/gooddata-sdk/gooddata_sdk/catalog/permission/declarative_model/permission.py @@ -5,12 +5,19 @@ import attr +from gooddata_api_client.model.declarative_analytical_dashboard_permission_for_assignee import ( + DeclarativeAnalyticalDashboardPermissionForAssignee, +) +from gooddata_api_client.model.declarative_analytical_dashboard_permission_for_assignee_rule import ( + DeclarativeAnalyticalDashboardPermissionForAssigneeRule, +) from gooddata_api_client.model.declarative_data_source_permission import DeclarativeDataSourcePermission from gooddata_api_client.model.declarative_single_workspace_permission import DeclarativeSingleWorkspacePermission from gooddata_api_client.model.declarative_workspace_hierarchy_permission import DeclarativeWorkspaceHierarchyPermission from gooddata_api_client.model.declarative_workspace_permissions import DeclarativeWorkspacePermissions from gooddata_sdk.catalog.base import Base, value_in_allowed from gooddata_sdk.catalog.identifier import CatalogAssigneeIdentifier +from gooddata_sdk.catalog.rule import CatalogAssigneeRule @attr.s(auto_attribs=True, kw_only=True) @@ -51,3 +58,23 @@ class CatalogDeclarativeWorkspacePermissions(Base): @staticmethod def client_class() -> Type[DeclarativeWorkspacePermissions]: return DeclarativeWorkspacePermissions + + +@attr.s(auto_attribs=True, kw_only=True) +class CatalogDeclarativeDashboardPermissionsForAssignee(Base): + name: str = attr.field(validator=value_in_allowed) + assignee_identifier: CatalogAssigneeIdentifier + + @staticmethod + def client_class() -> Type[DeclarativeAnalyticalDashboardPermissionForAssignee]: + return DeclarativeAnalyticalDashboardPermissionForAssignee + + +@attr.s(auto_attribs=True, kw_only=True) +class CatalogDeclarativeDashboardPermissionsForAssigneeRule(Base): + name: str = attr.field(validator=value_in_allowed) + assignee_rule: CatalogAssigneeRule + + @staticmethod + def client_class() -> Type[DeclarativeAnalyticalDashboardPermissionForAssigneeRule]: + return DeclarativeAnalyticalDashboardPermissionForAssigneeRule diff --git a/gooddata-sdk/gooddata_sdk/catalog/permission/service.py b/gooddata-sdk/gooddata_sdk/catalog/permission/service.py index b8d7e6ca2..c11a86a6c 100644 --- a/gooddata-sdk/gooddata_sdk/catalog/permission/service.py +++ b/gooddata-sdk/gooddata_sdk/catalog/permission/service.py @@ -1,11 +1,12 @@ # (C) 2022 GoodData Corporation -from typing import List +from typing import List, Union from gooddata_sdk import ( CatalogAvailableAssignees, CatalogDashboardPermissions, CatalogDeclarativeWorkspacePermissions, CatalogPermissionsForAssignee, + CatalogPermissionsForAssigneeRule, GoodDataApiClient, ) from gooddata_sdk.catalog.catalog_service_base import CatalogServiceBase @@ -81,7 +82,10 @@ def list_dashboard_permissions(self, workspace_id: str, dashboard_id: str) -> Ca ) def manage_dashboard_permissions( - self, workspace_id: str, dashboard_id: str, permissions_for_assignee: List[CatalogPermissionsForAssignee] + self, + workspace_id: str, + dashboard_id: str, + permissions_for_assignee: List[Union[CatalogPermissionsForAssignee, CatalogPermissionsForAssigneeRule]], ) -> None: """Provide managing dashboard permissions for user and user groups. diff --git a/gooddata-sdk/gooddata_sdk/catalog/rule.py b/gooddata-sdk/gooddata_sdk/catalog/rule.py new file mode 100644 index 000000000..94ea36810 --- /dev/null +++ b/gooddata-sdk/gooddata_sdk/catalog/rule.py @@ -0,0 +1,18 @@ +# (C) 2022 GoodData Corporation +from __future__ import annotations + +from typing import Type + +import attr + +from gooddata_api_client.model.assignee_rule import AssigneeRule +from gooddata_sdk.catalog.base import Base, value_in_allowed + + +@attr.s(auto_attribs=True, kw_only=True) +class CatalogAssigneeRule(Base): + type: str = attr.field(validator=value_in_allowed) + + @staticmethod + def client_class() -> Type[AssigneeRule]: + return AssigneeRule diff --git a/gooddata-sdk/gooddata_sdk/catalog/workspace/declarative_model/workspace/analytics_model/analytics_model.py b/gooddata-sdk/gooddata_sdk/catalog/workspace/declarative_model/workspace/analytics_model/analytics_model.py index 19e790c60..71b8ee351 100644 --- a/gooddata-sdk/gooddata_sdk/catalog/workspace/declarative_model/workspace/analytics_model/analytics_model.py +++ b/gooddata-sdk/gooddata_sdk/catalog/workspace/declarative_model/workspace/analytics_model/analytics_model.py @@ -5,6 +5,7 @@ from typing import Any, Dict, List, Optional, Type, TypeVar, Union import attr +from cattrs import global_converter, structure from gooddata_api_client.model.declarative_analytical_dashboard import DeclarativeAnalyticalDashboard from gooddata_api_client.model.declarative_analytical_dashboard_extension import DeclarativeAnalyticalDashboardExtension @@ -14,7 +15,10 @@ from gooddata_api_client.model.declarative_filter_context import DeclarativeFilterContext from gooddata_api_client.model.declarative_metric import DeclarativeMetric from gooddata_api_client.model.declarative_visualization_object import DeclarativeVisualizationObject -from gooddata_sdk import CatalogDeclarativeWorkspaceHierarchyPermission +from gooddata_sdk import ( + CatalogDeclarativeDashboardPermissionsForAssignee, + CatalogDeclarativeDashboardPermissionsForAssigneeRule, +) from gooddata_sdk.catalog.base import Base from gooddata_sdk.catalog.identifier import CatalogUserIdentifier from gooddata_sdk.utils import create_directory, get_sorted_yaml_files, read_layout_from_file, write_layout_to_file @@ -218,10 +222,35 @@ class CatalogAnalyticsBaseMeta(CatalogAnalyticsBase): @attr.s(auto_attribs=True, kw_only=True) class CatalogDeclarativeAnalyticalDashboard(CatalogAnalyticsBaseMeta): + permissions: Optional[ + List[ + Union[ + CatalogDeclarativeDashboardPermissionsForAssignee, CatalogDeclarativeDashboardPermissionsForAssigneeRule + ] + ] + ] = None + @staticmethod def client_class() -> Type[DeclarativeAnalyticalDashboard]: return DeclarativeAnalyticalDashboard + @staticmethod + def structure_permissions( + v: Dict[str, Any], _: Any + ) -> Union[ + CatalogDeclarativeDashboardPermissionsForAssignee, CatalogDeclarativeDashboardPermissionsForAssigneeRule + ]: + if v.get("assignee_identifier") is not None: + return structure(v, CatalogDeclarativeDashboardPermissionsForAssignee) + else: + return structure(v, CatalogDeclarativeDashboardPermissionsForAssigneeRule) + + +global_converter.register_structure_hook( + Union[CatalogDeclarativeDashboardPermissionsForAssignee, CatalogDeclarativeDashboardPermissionsForAssigneeRule], + CatalogDeclarativeAnalyticalDashboard.structure_permissions, +) + @attr.s(auto_attribs=True, kw_only=True) class CatalogDeclarativeDashboardPlugin(CatalogAnalyticsBaseMeta): @@ -232,7 +261,9 @@ def client_class() -> Type[DeclarativeDashboardPlugin]: @attr.s(auto_attribs=True, kw_only=True) class CatalogDeclarativeAnalyticalDashboardExtension(CatalogAnalyticsObjectBase): - permissions: List[CatalogDeclarativeWorkspaceHierarchyPermission] + permissions: List[ + Union[CatalogDeclarativeDashboardPermissionsForAssignee, CatalogDeclarativeDashboardPermissionsForAssigneeRule] + ] @staticmethod def client_class() -> Type[DeclarativeAnalyticalDashboardExtension]: diff --git a/gooddata-sdk/gooddata_sdk/catalog/workspace/entity_model/user_data_filter.py b/gooddata-sdk/gooddata_sdk/catalog/workspace/entity_model/user_data_filter.py index 3a9740293..e948f61bf 100644 --- a/gooddata-sdk/gooddata_sdk/catalog/workspace/entity_model/user_data_filter.py +++ b/gooddata-sdk/gooddata_sdk/catalog/workspace/entity_model/user_data_filter.py @@ -185,8 +185,10 @@ def create_user_user_group_relationship( ) -> CatalogUserDataFilterRelationships | None: if user_id is None and user_group_id is None: return None - assignee_user = _data_entity(CatalogEntityIdentifier(id=user_id)) if user_id else None - assignee_user_group = _data_entity(CatalogEntityIdentifier(id=user_group_id)) if user_group_id else None + assignee_user = _data_entity(CatalogEntityIdentifier(id=user_id, type="user")) if user_id else None + assignee_user_group = ( + _data_entity(CatalogEntityIdentifier(id=user_group_id, type="userGroup")) if user_group_id else None + ) return cls(user=assignee_user, user_group=assignee_user_group) diff --git a/gooddata-sdk/gooddata_sdk/catalog/workspace/entity_model/workspace.py b/gooddata-sdk/gooddata_sdk/catalog/workspace/entity_model/workspace.py index bf39cfa03..9849f73f7 100644 --- a/gooddata-sdk/gooddata_sdk/catalog/workspace/entity_model/workspace.py +++ b/gooddata-sdk/gooddata_sdk/catalog/workspace/entity_model/workspace.py @@ -32,7 +32,9 @@ def to_api(self) -> JsonApiWorkspaceInDocument: kwargs = dict() if self.parent_id: kwargs["relationships"] = JsonApiWorkspaceInRelationships( - parent=JsonApiWorkspaceInRelationshipsParent(data=JsonApiWorkspaceToOneLinkage(id=self.parent_id)) + parent=JsonApiWorkspaceInRelationshipsParent( + data=JsonApiWorkspaceToOneLinkage(id=self.parent_id, type="workspace") + ) ) return JsonApiWorkspaceInDocument( data=JsonApiWorkspaceIn( diff --git a/gooddata-sdk/tests/catalog/expected/declarative_analytics_model.json b/gooddata-sdk/tests/catalog/expected/declarative_analytics_model.json index 1e5436b78..127d56d46 100644 --- a/gooddata-sdk/tests/catalog/expected/declarative_analytics_model.json +++ b/gooddata-sdk/tests/catalog/expected/declarative_analytics_model.json @@ -69,6 +69,14 @@ }, "version": "2" }, + "permissions": [ + { + "assigneeRule": { + "type": "allWorkspaceUsers" + }, + "name": "VIEW" + } + ], "description": "", "id": "campaign", "title": "Campaign" diff --git a/gooddata-sdk/tests/catalog/expected/declarative_analytics_model_child.json b/gooddata-sdk/tests/catalog/expected/declarative_analytics_model_child.json new file mode 100644 index 000000000..0a88ed8aa --- /dev/null +++ b/gooddata-sdk/tests/catalog/expected/declarative_analytics_model_child.json @@ -0,0 +1,22 @@ +{ + "analytics": { + "analyticalDashboards": [], + "analyticalDashboardExtensions": [ + { + "id": "campaign", + "permissions": [ + { + "assigneeRule": { + "type": "allWorkspaceUsers" + }, + "name": "VIEW" + } + ] + } + ], + "dashboardPlugins": [], + "filterContexts": [], + "metrics": [], + "visualizationObjects": [] + } +} diff --git a/gooddata-sdk/tests/catalog/fixtures/data_sources/bigquery.yaml b/gooddata-sdk/tests/catalog/fixtures/data_sources/bigquery.yaml index 8ce773d99..e67bf2440 100644 --- a/gooddata-sdk/tests/catalog/fixtures/data_sources/bigquery.yaml +++ b/gooddata-sdk/tests/catalog/fixtures/data_sources/bigquery.yaml @@ -79,7 +79,7 @@ interactions: to access it. status: 404 title: Not Found - traceId: 9211a205f71f17e3 + traceId: 36edc608333de0ac - request: method: POST uri: http://localhost:3000/api/v1/entities/dataSources @@ -186,8 +186,8 @@ interactions: value: KEY_ID - name: projectId value: PROJECT_ID - type: BIGQUERY name: Test + type: BIGQUERY schema: demo links: self: http://localhost:3000/api/v1/entities/dataSources/test @@ -281,8 +281,8 @@ interactions: value: KEY_ID - name: projectId value: PROJECT_ID - type: BIGQUERY name: Test + type: BIGQUERY schema: demo links: self: http://localhost:3000/api/v1/entities/dataSources/test diff --git a/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_data_sources_list.yaml b/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_data_sources_list.yaml index bb327843b..3872c8ce7 100644 --- a/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_data_sources_list.yaml +++ b/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_data_sources_list.yaml @@ -82,8 +82,8 @@ interactions: url: jdbc:postgresql://localhost:5432/demo username: demouser enableCaching: false - type: POSTGRESQL name: demo-test-ds + type: POSTGRESQL schema: demo links: self: http://localhost:3000/api/v1/entities/dataSources/demo-test-ds diff --git a/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_load_and_put_declarative_data_sources.yaml b/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_load_and_put_declarative_data_sources.yaml index de450aef2..0a4d03586 100644 --- a/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_load_and_put_declarative_data_sources.yaml +++ b/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_load_and_put_declarative_data_sources.yaml @@ -168,7 +168,7 @@ interactions: Connection: - keep-alive Content-Length: - - '255' + - '275' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -220,7 +220,8 @@ interactions: attributes: name: Default Organization hostname: localhost - oauthClientId: 6c626aec-2e86-409e-a5e3-f720a111fe2c + allowedOrigins: [] + oauthClientId: 515fa3fc-96d4-40cd-b7ea-437be9c24f17 links: self: http://localhost:3000/api/v1/entities/admin/organizations/default - request: diff --git a/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_put_declarative_data_sources_connection.yaml b/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_put_declarative_data_sources_connection.yaml index 22dd443f6..3ab1b1390 100644 --- a/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_put_declarative_data_sources_connection.yaml +++ b/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_put_declarative_data_sources_connection.yaml @@ -298,7 +298,7 @@ interactions: body: string: queryDurationMillis: - simpleSelect: 1 + simpleSelect: 6 successful: true - request: method: PUT diff --git a/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_register_upload_notification.yaml b/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_register_upload_notification.yaml index 3198adf47..dc012339c 100644 --- a/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_register_upload_notification.yaml +++ b/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_register_upload_notification.yaml @@ -81,7 +81,7 @@ interactions: attributes: title: '# of Active Customers' areRelationsValid: true - createdAt: 2023-10-01 19:55 + createdAt: 2023-10-24 11:00 content: format: '#,##0' maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) @@ -96,7 +96,7 @@ interactions: attributes: title: '# of Orders' areRelationsValid: true - createdAt: 2023-10-01 19:55 + createdAt: 2023-10-24 11:00 content: format: '#,##0' maql: SELECT COUNT({attribute/order_id}) @@ -111,7 +111,7 @@ interactions: attributes: title: '# of Top Customers' areRelationsValid: true - createdAt: 2023-10-01 19:55 + createdAt: 2023-10-24 11:00 content: format: '#,##0' maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT @@ -128,7 +128,7 @@ interactions: title: '# of Valid Orders' description: '' areRelationsValid: true - createdAt: 2023-10-01 19:55 + createdAt: 2023-10-24 11:00 content: format: '#,##0.00' maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} @@ -144,7 +144,7 @@ interactions: attributes: title: Campaign Spend areRelationsValid: true - createdAt: 2023-10-01 19:55 + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT SUM({fact/spend}) @@ -159,7 +159,7 @@ interactions: attributes: title: Order Amount areRelationsValid: true - createdAt: 2023-10-01 19:55 + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT SUM({fact/price}*{fact/quantity}) @@ -174,7 +174,7 @@ interactions: attributes: title: '% Revenue' areRelationsValid: true - createdAt: 2023-10-01 19:55 + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / {metric/total_revenue} @@ -189,7 +189,7 @@ interactions: attributes: title: '% Revenue from Top 10 Customers' areRelationsValid: true - createdAt: 2023-10-01 19:55 + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ @@ -205,7 +205,7 @@ interactions: attributes: title: '% Revenue from Top 10% Customers' areRelationsValid: true - createdAt: 2023-10-01 19:55 + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ @@ -221,7 +221,7 @@ interactions: attributes: title: '% Revenue from Top 10% Products' areRelationsValid: true - createdAt: 2023-10-01 19:55 + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ @@ -237,7 +237,7 @@ interactions: attributes: title: '% Revenue from Top 10 Products' areRelationsValid: true - createdAt: 2023-10-01 19:55 + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ @@ -253,7 +253,7 @@ interactions: attributes: title: '% Revenue in Category' areRelationsValid: true - createdAt: 2023-10-01 19:55 + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, @@ -269,7 +269,7 @@ interactions: attributes: title: '% Revenue per Product' areRelationsValid: true - createdAt: 2023-10-01 19:55 + createdAt: 2023-10-24 11:00 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL @@ -286,7 +286,7 @@ interactions: title: Revenue description: '' areRelationsValid: true - createdAt: 2023-10-01 19:55 + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} @@ -302,7 +302,7 @@ interactions: attributes: title: Revenue (Clothing) areRelationsValid: true - createdAt: 2023-10-01 19:55 + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -318,7 +318,7 @@ interactions: attributes: title: Revenue (Electronic) areRelationsValid: true - createdAt: 2023-10-01 19:55 + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -334,7 +334,7 @@ interactions: attributes: title: Revenue (Home) areRelationsValid: true - createdAt: 2023-10-01 19:55 + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -350,7 +350,7 @@ interactions: attributes: title: Revenue (Outdoor) areRelationsValid: true - createdAt: 2023-10-01 19:55 + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -366,7 +366,7 @@ interactions: attributes: title: Revenue per Customer areRelationsValid: true - createdAt: 2023-10-01 19:55 + createdAt: 2023-10-24 11:00 content: format: $#,##0.0 maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) @@ -381,7 +381,7 @@ interactions: attributes: title: Revenue per Dollar Spent areRelationsValid: true - createdAt: 2023-10-01 19:55 + createdAt: 2023-10-24 11:00 content: format: $#,##0.0 maql: SELECT {metric/revenue} / {metric/campaign_spend} @@ -396,7 +396,7 @@ interactions: attributes: title: Revenue / Top 10 areRelationsValid: true - createdAt: 2023-10-01 19:55 + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) @@ -411,7 +411,7 @@ interactions: attributes: title: Revenue / Top 10% areRelationsValid: true - createdAt: 2023-10-01 19:55 + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) @@ -426,7 +426,7 @@ interactions: attributes: title: Total Revenue areRelationsValid: true - createdAt: 2023-10-01 19:55 + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/revenue} BY ALL OTHER @@ -441,7 +441,7 @@ interactions: attributes: title: Total Revenue (No Filters) areRelationsValid: true - createdAt: 2023-10-01 19:55 + createdAt: 2023-10-24 11:00 content: format: $#,##0 maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER @@ -558,7 +558,7 @@ interactions: name: '# of Active Customers' localIdentifier: dim_0 links: - executionResult: 86e786c4746a2845f5cd321e4e420b586bb258de + executionResult: d0193aad2d9cbbc1c4055bda7e301907b526c72b - request: method: POST uri: http://localhost:3000/api/v1/actions/dataSources/demo-test-ds/uploadNotification @@ -732,4 +732,4 @@ interactions: name: '# of Active Customers' localIdentifier: dim_0 links: - executionResult: 1554ba48f13276f16b3a648cc2adc3b077b65c4f + executionResult: 8b5ee6868f054baecbc721964001a5da7b14608b diff --git a/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_store_and_load_and_put_declarative_pdm.yaml b/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_store_and_load_and_put_declarative_pdm.yaml index 2936167a2..733be1133 100644 --- a/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_store_and_load_and_put_declarative_pdm.yaml +++ b/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_store_and_load_and_put_declarative_pdm.yaml @@ -294,7 +294,7 @@ interactions: Connection: - keep-alive Content-Length: - - '255' + - '275' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -346,7 +346,8 @@ interactions: attributes: name: Default Organization hostname: localhost - oauthClientId: 6c626aec-2e86-409e-a5e3-f720a111fe2c + allowedOrigins: [] + oauthClientId: 515fa3fc-96d4-40cd-b7ea-437be9c24f17 links: self: http://localhost:3000/api/v1/entities/admin/organizations/default - request: @@ -641,7 +642,7 @@ interactions: Connection: - keep-alive Content-Length: - - '255' + - '275' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -693,7 +694,8 @@ interactions: attributes: name: Default Organization hostname: localhost - oauthClientId: 6c626aec-2e86-409e-a5e3-f720a111fe2c + allowedOrigins: [] + oauthClientId: 515fa3fc-96d4-40cd-b7ea-437be9c24f17 links: self: http://localhost:3000/api/v1/entities/admin/organizations/default - request: @@ -792,7 +794,7 @@ interactions: Connection: - keep-alive Content-Length: - - '255' + - '275' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -844,7 +846,8 @@ interactions: attributes: name: Default Organization hostname: localhost - oauthClientId: 6c626aec-2e86-409e-a5e3-f720a111fe2c + allowedOrigins: [] + oauthClientId: 515fa3fc-96d4-40cd-b7ea-437be9c24f17 links: self: http://localhost:3000/api/v1/entities/admin/organizations/default - request: @@ -1133,7 +1136,7 @@ interactions: Connection: - keep-alive Content-Length: - - '255' + - '275' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -1185,6 +1188,7 @@ interactions: attributes: name: Default Organization hostname: localhost - oauthClientId: 6c626aec-2e86-409e-a5e3-f720a111fe2c + allowedOrigins: [] + oauthClientId: 515fa3fc-96d4-40cd-b7ea-437be9c24f17 links: self: http://localhost:3000/api/v1/entities/admin/organizations/default diff --git a/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_store_declarative_data_sources.yaml b/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_store_declarative_data_sources.yaml index f3c6bee46..0c1dbd878 100644 --- a/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_store_declarative_data_sources.yaml +++ b/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_store_declarative_data_sources.yaml @@ -524,7 +524,7 @@ interactions: Connection: - keep-alive Content-Length: - - '255' + - '275' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -576,7 +576,8 @@ interactions: attributes: name: Default Organization hostname: localhost - oauthClientId: 6c626aec-2e86-409e-a5e3-f720a111fe2c + allowedOrigins: [] + oauthClientId: 515fa3fc-96d4-40cd-b7ea-437be9c24f17 links: self: http://localhost:3000/api/v1/entities/admin/organizations/default - request: @@ -675,7 +676,7 @@ interactions: Connection: - keep-alive Content-Length: - - '255' + - '275' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -727,6 +728,7 @@ interactions: attributes: name: Default Organization hostname: localhost - oauthClientId: 6c626aec-2e86-409e-a5e3-f720a111fe2c + allowedOrigins: [] + oauthClientId: 515fa3fc-96d4-40cd-b7ea-437be9c24f17 links: self: http://localhost:3000/api/v1/entities/admin/organizations/default diff --git a/gooddata-sdk/tests/catalog/fixtures/data_sources/dremio.yaml b/gooddata-sdk/tests/catalog/fixtures/data_sources/dremio.yaml index 69104527b..927b9de2c 100644 --- a/gooddata-sdk/tests/catalog/fixtures/data_sources/dremio.yaml +++ b/gooddata-sdk/tests/catalog/fixtures/data_sources/dremio.yaml @@ -79,7 +79,7 @@ interactions: to access it. status: 404 title: Not Found - traceId: a4a8ad3f508d3939 + traceId: 280a5b6f8f95635c - request: method: POST uri: http://localhost:3000/api/v1/entities/dataSources @@ -177,8 +177,8 @@ interactions: enableCaching: true cachePath: - $scratch - type: DREMIO name: Dremio + type: DREMIO schema: '' links: self: http://localhost:3000/api/v1/entities/dataSources/dremio @@ -264,8 +264,8 @@ interactions: enableCaching: true cachePath: - $scratch - type: DREMIO name: Dremio + type: DREMIO schema: '' links: self: http://localhost:3000/api/v1/entities/dataSources/dremio diff --git a/gooddata-sdk/tests/catalog/fixtures/data_sources/patch.yaml b/gooddata-sdk/tests/catalog/fixtures/data_sources/patch.yaml index e7534d7ad..680adffb2 100644 --- a/gooddata-sdk/tests/catalog/fixtures/data_sources/patch.yaml +++ b/gooddata-sdk/tests/catalog/fixtures/data_sources/patch.yaml @@ -82,8 +82,8 @@ interactions: url: jdbc:postgresql://localhost:5432/demo username: demouser enableCaching: false - type: POSTGRESQL name: demo-test-ds + type: POSTGRESQL schema: demo links: self: http://localhost:3000/api/v1/entities/dataSources/demo-test-ds @@ -167,7 +167,7 @@ interactions: to access it. status: 404 title: Not Found - traceId: 809ad742471c22d3 + traceId: 4363618c1660c057 - request: method: POST uri: http://localhost:3000/api/v1/entities/dataSources @@ -265,8 +265,8 @@ interactions: enableCaching: true cachePath: - cache_schema - type: POSTGRESQL name: Test + type: POSTGRESQL schema: demo links: self: http://localhost:3000/api/v1/entities/dataSources/test @@ -352,8 +352,8 @@ interactions: enableCaching: true cachePath: - cache_schema - type: POSTGRESQL name: Test + type: POSTGRESQL schema: demo links: self: http://localhost:3000/api/v1/entities/dataSources/test @@ -439,8 +439,8 @@ interactions: enableCaching: true cachePath: - cache_schema - type: POSTGRESQL name: Test + type: POSTGRESQL schema: demo links: self: http://localhost:3000/api/v1/entities/dataSources/test @@ -535,8 +535,8 @@ interactions: enableCaching: true cachePath: - cache_schema - type: POSTGRESQL name: Test2 + type: POSTGRESQL schema: demo links: self: http://localhost:3000/api/v1/entities/dataSources/test @@ -622,8 +622,8 @@ interactions: enableCaching: true cachePath: - cache_schema - type: POSTGRESQL name: Test2 + type: POSTGRESQL schema: demo links: self: http://localhost:3000/api/v1/entities/dataSources/test diff --git a/gooddata-sdk/tests/catalog/fixtures/data_sources/redshift.yaml b/gooddata-sdk/tests/catalog/fixtures/data_sources/redshift.yaml index ee109ecdb..2703ed329 100644 --- a/gooddata-sdk/tests/catalog/fixtures/data_sources/redshift.yaml +++ b/gooddata-sdk/tests/catalog/fixtures/data_sources/redshift.yaml @@ -79,7 +79,7 @@ interactions: to access it. status: 404 title: Not Found - traceId: 491e7cbd0781ff4b + traceId: 8fc2b0aaa5667a8d - request: method: POST uri: http://localhost:3000/api/v1/entities/dataSources @@ -173,8 +173,8 @@ interactions: url: jdbc:redshift://aws.endpoint:5439/demo?autosave=true username: demouser enableCaching: false - type: REDSHIFT name: Test2 + type: REDSHIFT schema: demo links: self: http://localhost:3000/api/v1/entities/dataSources/test @@ -258,8 +258,8 @@ interactions: url: jdbc:redshift://aws.endpoint:5439/demo?autosave=true username: demouser enableCaching: false - type: REDSHIFT name: Test2 + type: REDSHIFT schema: demo links: self: http://localhost:3000/api/v1/entities/dataSources/test diff --git a/gooddata-sdk/tests/catalog/fixtures/data_sources/snowflake.yaml b/gooddata-sdk/tests/catalog/fixtures/data_sources/snowflake.yaml index defe20ad7..9f54123ae 100644 --- a/gooddata-sdk/tests/catalog/fixtures/data_sources/snowflake.yaml +++ b/gooddata-sdk/tests/catalog/fixtures/data_sources/snowflake.yaml @@ -79,7 +79,7 @@ interactions: to access it. status: 404 title: Not Found - traceId: 62e06ff0f4e36baf + traceId: a57957079b238f20 - request: method: POST uri: http://localhost:3000/api/v1/entities/dataSources @@ -122,7 +122,7 @@ interactions: Connection: - keep-alive Content-Length: - - '385' + - '387' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -172,13 +172,13 @@ interactions: id: test type: dataSource attributes: - url: jdbc:snowflake://gooddata.snowflakecomputing.com:443/?application=GoodData_GoodDataCN&db=TIGER&useProxy=true&warehouse=TIGER + url: jdbc:snowflake://gooddata.snowflakecomputing.com:443/?application=GoodData_GoodDataCNCE&db=TIGER&useProxy=true&warehouse=TIGER username: demouser enableCaching: true cachePath: - cache_schema - type: SNOWFLAKE name: Test + type: SNOWFLAKE schema: demo links: self: http://localhost:3000/api/v1/entities/dataSources/test @@ -209,7 +209,7 @@ interactions: Connection: - keep-alive Content-Length: - - '385' + - '387' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -259,13 +259,13 @@ interactions: id: test type: dataSource attributes: - url: jdbc:snowflake://gooddata.snowflakecomputing.com:443/?application=GoodData_GoodDataCN&db=TIGER&useProxy=true&warehouse=TIGER + url: jdbc:snowflake://gooddata.snowflakecomputing.com:443/?application=GoodData_GoodDataCNCE&db=TIGER&useProxy=true&warehouse=TIGER username: demouser enableCaching: true cachePath: - cache_schema - type: SNOWFLAKE name: Test + type: SNOWFLAKE schema: demo links: self: http://localhost:3000/api/v1/entities/dataSources/test diff --git a/gooddata-sdk/tests/catalog/fixtures/data_sources/test_create_update.yaml b/gooddata-sdk/tests/catalog/fixtures/data_sources/test_create_update.yaml index 8dc5865d8..112556d51 100644 --- a/gooddata-sdk/tests/catalog/fixtures/data_sources/test_create_update.yaml +++ b/gooddata-sdk/tests/catalog/fixtures/data_sources/test_create_update.yaml @@ -82,8 +82,8 @@ interactions: url: jdbc:postgresql://localhost:5432/demo username: demouser enableCaching: false - type: POSTGRESQL name: demo-test-ds + type: POSTGRESQL schema: demo links: self: http://localhost:3000/api/v1/entities/dataSources/demo-test-ds @@ -167,7 +167,7 @@ interactions: to access it. status: 404 title: Not Found - traceId: 8ba7c62cdd91a2cd + traceId: 738929de60c131f9 - request: method: POST uri: http://localhost:3000/api/v1/entities/dataSources @@ -265,8 +265,8 @@ interactions: enableCaching: true cachePath: - cache_schema - type: POSTGRESQL name: Test + type: POSTGRESQL schema: demo links: self: http://localhost:3000/api/v1/entities/dataSources/test @@ -352,8 +352,8 @@ interactions: enableCaching: true cachePath: - cache_schema - type: POSTGRESQL name: Test + type: POSTGRESQL schema: demo links: self: http://localhost:3000/api/v1/entities/dataSources/test @@ -439,8 +439,8 @@ interactions: enableCaching: true cachePath: - cache_schema - type: POSTGRESQL name: Test + type: POSTGRESQL schema: demo links: self: http://localhost:3000/api/v1/entities/dataSources/test @@ -537,8 +537,8 @@ interactions: url: jdbc:postgresql://localhost:5432/demo?autosave=false username: demouser enableCaching: false - type: POSTGRESQL name: Test2 + type: POSTGRESQL schema: demo links: self: http://localhost:3000/api/v1/entities/dataSources/test @@ -622,8 +622,8 @@ interactions: url: jdbc:postgresql://localhost:5432/demo username: demouser enableCaching: false - type: POSTGRESQL name: demo-test-ds + type: POSTGRESQL schema: demo links: self: http://localhost:3000/api/v1/entities/dataSources/demo-test-ds @@ -633,8 +633,8 @@ interactions: url: jdbc:postgresql://localhost:5432/demo?autosave=false username: demouser enableCaching: false - type: POSTGRESQL name: Test2 + type: POSTGRESQL schema: demo links: self: http://localhost:3000/api/v1/entities/dataSources/test @@ -788,8 +788,8 @@ interactions: url: jdbc:postgresql://localhost:5432/demo username: demouser enableCaching: false - type: POSTGRESQL name: demo-test-ds + type: POSTGRESQL schema: demo links: self: http://localhost:3000/api/v1/entities/dataSources/demo-test-ds diff --git a/gooddata-sdk/tests/catalog/fixtures/data_sources/vertica.yaml b/gooddata-sdk/tests/catalog/fixtures/data_sources/vertica.yaml index e42af952a..7cc6eba49 100644 --- a/gooddata-sdk/tests/catalog/fixtures/data_sources/vertica.yaml +++ b/gooddata-sdk/tests/catalog/fixtures/data_sources/vertica.yaml @@ -79,7 +79,7 @@ interactions: to access it. status: 404 title: Not Found - traceId: c02226b5bf142c25 + traceId: 905a35975ec309ea - request: method: POST uri: http://localhost:3000/api/v1/entities/dataSources @@ -173,8 +173,8 @@ interactions: url: jdbc:vertica://localhost:5433/demo?TLSmode=false username: demouser enableCaching: false - type: VERTICA name: Test2 + type: VERTICA schema: demo links: self: http://localhost:3000/api/v1/entities/dataSources/test @@ -258,8 +258,8 @@ interactions: url: jdbc:vertica://localhost:5433/demo?TLSmode=false username: demouser enableCaching: false - type: VERTICA name: Test2 + type: VERTICA schema: demo links: self: http://localhost:3000/api/v1/entities/dataSources/test diff --git a/gooddata-sdk/tests/catalog/fixtures/organization/create_jwk.yaml b/gooddata-sdk/tests/catalog/fixtures/organization/create_jwk.yaml index fd1234f65..32cacbc03 100644 --- a/gooddata-sdk/tests/catalog/fixtures/organization/create_jwk.yaml +++ b/gooddata-sdk/tests/catalog/fixtures/organization/create_jwk.yaml @@ -79,7 +79,7 @@ interactions: to access it. status: 404 title: Not Found - traceId: c434e941fd41e859 + traceId: 4c25feea48336362 - request: method: POST uri: http://localhost:3000/api/v1/entities/jwks diff --git a/gooddata-sdk/tests/catalog/fixtures/organization/delete_csp_directive.yaml b/gooddata-sdk/tests/catalog/fixtures/organization/delete_csp_directive.yaml index f708009a9..575b74b74 100644 --- a/gooddata-sdk/tests/catalog/fixtures/organization/delete_csp_directive.yaml +++ b/gooddata-sdk/tests/catalog/fixtures/organization/delete_csp_directive.yaml @@ -235,7 +235,7 @@ interactions: to access it. status: 404 title: Not Found - traceId: 333afd1f4e424cde + traceId: a5f9bc0449d60752 - request: method: GET uri: http://localhost:3000/api/v1/entities/cspDirectives?page=0&size=500 diff --git a/gooddata-sdk/tests/catalog/fixtures/organization/delete_jwk.yaml b/gooddata-sdk/tests/catalog/fixtures/organization/delete_jwk.yaml index 2165478a8..b1b2ec4b9 100644 --- a/gooddata-sdk/tests/catalog/fixtures/organization/delete_jwk.yaml +++ b/gooddata-sdk/tests/catalog/fixtures/organization/delete_jwk.yaml @@ -79,7 +79,7 @@ interactions: to access it. status: 404 title: Not Found - traceId: cf1a20239b6bcba1 + traceId: a355515a0a174d79 - request: method: POST uri: http://localhost:3000/api/v1/entities/jwks @@ -329,7 +329,7 @@ interactions: to access it. status: 404 title: Not Found - traceId: 8c6c061c1beef30f + traceId: 224a69e4d926b532 - request: method: GET uri: http://localhost:3000/api/v1/entities/jwks?page=0&size=500 diff --git a/gooddata-sdk/tests/catalog/fixtures/organization/delete_organization_setting.yaml b/gooddata-sdk/tests/catalog/fixtures/organization/delete_organization_setting.yaml index 976d853c6..dfad73134 100644 --- a/gooddata-sdk/tests/catalog/fixtures/organization/delete_organization_setting.yaml +++ b/gooddata-sdk/tests/catalog/fixtures/organization/delete_organization_setting.yaml @@ -237,7 +237,7 @@ interactions: to access it. status: 404 title: Not Found - traceId: 4ae6be41b51822a1 + traceId: da90945b562c4e5b - request: method: GET uri: http://localhost:3000/api/v1/entities/organizationSettings?page=0&size=500 diff --git a/gooddata-sdk/tests/catalog/fixtures/organization/list_jwk.yaml b/gooddata-sdk/tests/catalog/fixtures/organization/list_jwk.yaml index b22b87fef..3c5987c55 100644 --- a/gooddata-sdk/tests/catalog/fixtures/organization/list_jwk.yaml +++ b/gooddata-sdk/tests/catalog/fixtures/organization/list_jwk.yaml @@ -79,7 +79,7 @@ interactions: to access it. status: 404 title: Not Found - traceId: f55312c228d027d6 + traceId: bc4d3be2c579cbb2 - request: method: POST uri: http://localhost:3000/api/v1/entities/jwks @@ -262,7 +262,7 @@ interactions: to access it. status: 404 title: Not Found - traceId: a37250915dcb53ff + traceId: d7a7a6e0dc87078d - request: method: POST uri: http://localhost:3000/api/v1/entities/jwks diff --git a/gooddata-sdk/tests/catalog/fixtures/organization/organization.yaml b/gooddata-sdk/tests/catalog/fixtures/organization/organization.yaml index 52712e6e7..4c70fccb5 100644 --- a/gooddata-sdk/tests/catalog/fixtures/organization/organization.yaml +++ b/gooddata-sdk/tests/catalog/fixtures/organization/organization.yaml @@ -98,7 +98,7 @@ interactions: Connection: - keep-alive Content-Length: - - '255' + - '275' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -150,6 +150,7 @@ interactions: attributes: name: Default Organization hostname: localhost - oauthClientId: 6c626aec-2e86-409e-a5e3-f720a111fe2c + allowedOrigins: [] + oauthClientId: 515fa3fc-96d4-40cd-b7ea-437be9c24f17 links: self: http://localhost:3000/api/v1/entities/admin/organizations/default diff --git a/gooddata-sdk/tests/catalog/fixtures/organization/update_allowed_origins.yaml b/gooddata-sdk/tests/catalog/fixtures/organization/update_allowed_origins.yaml index 1210d8f26..058a8cdcd 100644 --- a/gooddata-sdk/tests/catalog/fixtures/organization/update_allowed_origins.yaml +++ b/gooddata-sdk/tests/catalog/fixtures/organization/update_allowed_origins.yaml @@ -98,7 +98,7 @@ interactions: Connection: - keep-alive Content-Length: - - '255' + - '275' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -150,7 +150,8 @@ interactions: attributes: name: Default Organization hostname: localhost - oauthClientId: 8575edbf-aa5d-4b6f-a36c-9f1469c83c75 + allowedOrigins: [] + oauthClientId: a7ab866a-75fd-41b8-8d28-8b5ffc3bd1ac links: self: http://localhost:3000/api/v1/entities/admin/organizations/default - request: @@ -165,7 +166,7 @@ interactions: hostname: localhost allowedOrigins: - https://test.com - oauthClientId: 8575edbf-aa5d-4b6f-a36c-9f1469c83c75 + oauthClientId: a7ab866a-75fd-41b8-8d28-8b5ffc3bd1ac headers: Accept: - application/vnd.gooddata.api+json @@ -245,7 +246,7 @@ interactions: hostname: localhost allowedOrigins: - https://test.com - oauthClientId: 8575edbf-aa5d-4b6f-a36c-9f1469c83c75 + oauthClientId: a7ab866a-75fd-41b8-8d28-8b5ffc3bd1ac links: self: http://localhost:3000/api/v1/entities/admin/organizations/default - request: @@ -398,7 +399,7 @@ interactions: hostname: localhost allowedOrigins: - https://test.com - oauthClientId: 8575edbf-aa5d-4b6f-a36c-9f1469c83c75 + oauthClientId: a7ab866a-75fd-41b8-8d28-8b5ffc3bd1ac links: self: http://localhost:3000/api/v1/entities/admin/organizations/default - request: @@ -551,7 +552,7 @@ interactions: hostname: localhost allowedOrigins: - https://test.com - oauthClientId: 8575edbf-aa5d-4b6f-a36c-9f1469c83c75 + oauthClientId: a7ab866a-75fd-41b8-8d28-8b5ffc3bd1ac links: self: http://localhost:3000/api/v1/entities/admin/organizations/default - request: @@ -565,7 +566,7 @@ interactions: name: Default Organization hostname: localhost allowedOrigins: [] - oauthClientId: 8575edbf-aa5d-4b6f-a36c-9f1469c83c75 + oauthClientId: a7ab866a-75fd-41b8-8d28-8b5ffc3bd1ac headers: Accept: - application/vnd.gooddata.api+json @@ -644,7 +645,7 @@ interactions: name: Default Organization hostname: localhost allowedOrigins: [] - oauthClientId: 8575edbf-aa5d-4b6f-a36c-9f1469c83c75 + oauthClientId: a7ab866a-75fd-41b8-8d28-8b5ffc3bd1ac links: self: http://localhost:3000/api/v1/entities/admin/organizations/default - request: @@ -796,6 +797,6 @@ interactions: name: Default Organization hostname: localhost allowedOrigins: [] - oauthClientId: 8575edbf-aa5d-4b6f-a36c-9f1469c83c75 + oauthClientId: a7ab866a-75fd-41b8-8d28-8b5ffc3bd1ac links: self: http://localhost:3000/api/v1/entities/admin/organizations/default diff --git a/gooddata-sdk/tests/catalog/fixtures/organization/update_jwk.yaml b/gooddata-sdk/tests/catalog/fixtures/organization/update_jwk.yaml index 570166c9c..b1f1891c2 100644 --- a/gooddata-sdk/tests/catalog/fixtures/organization/update_jwk.yaml +++ b/gooddata-sdk/tests/catalog/fixtures/organization/update_jwk.yaml @@ -79,7 +79,7 @@ interactions: to access it. status: 404 title: Not Found - traceId: 428843978422a551 + traceId: 2fa139db18d6354b - request: method: POST uri: http://localhost:3000/api/v1/entities/jwks diff --git a/gooddata-sdk/tests/catalog/fixtures/organization/update_name.yaml b/gooddata-sdk/tests/catalog/fixtures/organization/update_name.yaml index 31ac5b8b7..c49e98e75 100644 --- a/gooddata-sdk/tests/catalog/fixtures/organization/update_name.yaml +++ b/gooddata-sdk/tests/catalog/fixtures/organization/update_name.yaml @@ -98,7 +98,7 @@ interactions: Connection: - keep-alive Content-Length: - - '255' + - '275' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -150,7 +150,8 @@ interactions: attributes: name: Default Organization hostname: localhost - oauthClientId: f0ec3cf7-fc0f-4915-837b-e77af36ece4a + allowedOrigins: [] + oauthClientId: a7ab866a-75fd-41b8-8d28-8b5ffc3bd1ac links: self: http://localhost:3000/api/v1/entities/admin/organizations/default - request: @@ -249,7 +250,7 @@ interactions: Connection: - keep-alive Content-Length: - - '255' + - '275' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -301,7 +302,8 @@ interactions: attributes: name: Default Organization hostname: localhost - oauthClientId: f0ec3cf7-fc0f-4915-837b-e77af36ece4a + allowedOrigins: [] + oauthClientId: a7ab866a-75fd-41b8-8d28-8b5ffc3bd1ac links: self: http://localhost:3000/api/v1/entities/admin/organizations/default - request: @@ -314,7 +316,8 @@ interactions: attributes: name: test_organization hostname: localhost - oauthClientId: f0ec3cf7-fc0f-4915-837b-e77af36ece4a + allowedOrigins: [] + oauthClientId: a7ab866a-75fd-41b8-8d28-8b5ffc3bd1ac headers: Accept: - application/vnd.gooddata.api+json @@ -340,7 +343,7 @@ interactions: Connection: - keep-alive Content-Length: - - '252' + - '272' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -392,7 +395,8 @@ interactions: attributes: name: test_organization hostname: localhost - oauthClientId: f0ec3cf7-fc0f-4915-837b-e77af36ece4a + allowedOrigins: [] + oauthClientId: a7ab866a-75fd-41b8-8d28-8b5ffc3bd1ac links: self: http://localhost:3000/api/v1/entities/admin/organizations/default - request: @@ -491,7 +495,7 @@ interactions: Connection: - keep-alive Content-Length: - - '252' + - '272' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -543,7 +547,8 @@ interactions: attributes: name: test_organization hostname: localhost - oauthClientId: f0ec3cf7-fc0f-4915-837b-e77af36ece4a + allowedOrigins: [] + oauthClientId: a7ab866a-75fd-41b8-8d28-8b5ffc3bd1ac links: self: http://localhost:3000/api/v1/entities/admin/organizations/default - request: @@ -642,7 +647,7 @@ interactions: Connection: - keep-alive Content-Length: - - '252' + - '272' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -694,7 +699,8 @@ interactions: attributes: name: test_organization hostname: localhost - oauthClientId: f0ec3cf7-fc0f-4915-837b-e77af36ece4a + allowedOrigins: [] + oauthClientId: a7ab866a-75fd-41b8-8d28-8b5ffc3bd1ac links: self: http://localhost:3000/api/v1/entities/admin/organizations/default - request: @@ -707,7 +713,8 @@ interactions: attributes: name: Default Organization hostname: localhost - oauthClientId: f0ec3cf7-fc0f-4915-837b-e77af36ece4a + allowedOrigins: [] + oauthClientId: a7ab866a-75fd-41b8-8d28-8b5ffc3bd1ac headers: Accept: - application/vnd.gooddata.api+json @@ -733,7 +740,7 @@ interactions: Connection: - keep-alive Content-Length: - - '255' + - '275' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -785,7 +792,8 @@ interactions: attributes: name: Default Organization hostname: localhost - oauthClientId: f0ec3cf7-fc0f-4915-837b-e77af36ece4a + allowedOrigins: [] + oauthClientId: a7ab866a-75fd-41b8-8d28-8b5ffc3bd1ac links: self: http://localhost:3000/api/v1/entities/admin/organizations/default - request: @@ -884,7 +892,7 @@ interactions: Connection: - keep-alive Content-Length: - - '255' + - '275' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -936,6 +944,7 @@ interactions: attributes: name: Default Organization hostname: localhost - oauthClientId: f0ec3cf7-fc0f-4915-837b-e77af36ece4a + allowedOrigins: [] + oauthClientId: a7ab866a-75fd-41b8-8d28-8b5ffc3bd1ac links: self: http://localhost:3000/api/v1/entities/admin/organizations/default diff --git a/gooddata-sdk/tests/catalog/fixtures/organization/update_oidc_settings.yaml b/gooddata-sdk/tests/catalog/fixtures/organization/update_oidc_settings.yaml index 6e4e9127a..eda469607 100644 --- a/gooddata-sdk/tests/catalog/fixtures/organization/update_oidc_settings.yaml +++ b/gooddata-sdk/tests/catalog/fixtures/organization/update_oidc_settings.yaml @@ -98,7 +98,7 @@ interactions: Connection: - keep-alive Content-Length: - - '255' + - '275' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -150,7 +150,8 @@ interactions: attributes: name: Default Organization hostname: localhost - oauthClientId: 6c626aec-2e86-409e-a5e3-f720a111fe2c + allowedOrigins: [] + oauthClientId: 515fa3fc-96d4-40cd-b7ea-437be9c24f17 links: self: http://localhost:3000/api/v1/entities/admin/organizations/default - request: @@ -249,7 +250,7 @@ interactions: Connection: - keep-alive Content-Length: - - '255' + - '275' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -301,7 +302,8 @@ interactions: attributes: name: Default Organization hostname: localhost - oauthClientId: 6c626aec-2e86-409e-a5e3-f720a111fe2c + allowedOrigins: [] + oauthClientId: 515fa3fc-96d4-40cd-b7ea-437be9c24f17 links: self: http://localhost:3000/api/v1/entities/admin/organizations/default - request: @@ -314,6 +316,7 @@ interactions: attributes: name: Default Organization hostname: localhost + allowedOrigins: [] oauthIssuerLocation: test.com oauthClientId: '123456' oauthClientSecret: password @@ -342,7 +345,7 @@ interactions: Connection: - keep-alive Content-Length: - - '258' + - '278' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -394,6 +397,7 @@ interactions: attributes: name: Default Organization hostname: localhost + allowedOrigins: [] oauthIssuerLocation: test.com oauthClientId: '123456' links: @@ -494,7 +498,7 @@ interactions: Connection: - keep-alive Content-Length: - - '258' + - '278' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -546,6 +550,7 @@ interactions: attributes: name: Default Organization hostname: localhost + allowedOrigins: [] oauthIssuerLocation: test.com oauthClientId: '123456' links: @@ -646,7 +651,7 @@ interactions: Connection: - keep-alive Content-Length: - - '258' + - '278' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -698,6 +703,7 @@ interactions: attributes: name: Default Organization hostname: localhost + allowedOrigins: [] oauthIssuerLocation: test.com oauthClientId: '123456' links: @@ -712,6 +718,7 @@ interactions: attributes: name: Default Organization hostname: localhost + allowedOrigins: [] headers: Accept: - application/vnd.gooddata.api+json @@ -737,7 +744,7 @@ interactions: Connection: - keep-alive Content-Length: - - '255' + - '275' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -789,7 +796,8 @@ interactions: attributes: name: Default Organization hostname: localhost - oauthClientId: f0ec3cf7-fc0f-4915-837b-e77af36ece4a + allowedOrigins: [] + oauthClientId: a7ab866a-75fd-41b8-8d28-8b5ffc3bd1ac links: self: http://localhost:3000/api/v1/entities/admin/organizations/default - request: @@ -888,7 +896,7 @@ interactions: Connection: - keep-alive Content-Length: - - '255' + - '275' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -940,6 +948,7 @@ interactions: attributes: name: Default Organization hostname: localhost - oauthClientId: f0ec3cf7-fc0f-4915-837b-e77af36ece4a + allowedOrigins: [] + oauthClientId: a7ab866a-75fd-41b8-8d28-8b5ffc3bd1ac links: self: http://localhost:3000/api/v1/entities/admin/organizations/default diff --git a/gooddata-sdk/tests/catalog/fixtures/permissions/list_dashboard_permissions.yaml b/gooddata-sdk/tests/catalog/fixtures/permissions/list_dashboard_permissions.yaml index ef7d8ba07..38ae0d754 100644 --- a/gooddata-sdk/tests/catalog/fixtures/permissions/list_dashboard_permissions.yaml +++ b/gooddata-sdk/tests/catalog/fixtures/permissions/list_dashboard_permissions.yaml @@ -5,11 +5,15 @@ interactions: method: POST uri: http://localhost:3000/api/v1/actions/workspaces/demo/analyticalDashboards/campaign/managePermissions body: - - assigneeIdentifier: + - permissions: + - VIEW + assigneeIdentifier: id: visitorsGroup type: userGroup - permissions: + - permissions: - VIEW + assigneeRule: + type: allWorkspaceUsers headers: Accept-Encoding: - br, gzip, deflate @@ -148,9 +152,14 @@ interactions: X-XSS-Protection: - 1 ; mode=block content-length: - - '119' + - '209' body: string: + rules: + - permissions: + - level: VIEW + source: direct + type: allWorkspaceUsers userGroups: - id: visitorsGroup name: visitors @@ -162,10 +171,13 @@ interactions: method: POST uri: http://localhost:3000/api/v1/actions/workspaces/demo/analyticalDashboards/campaign/managePermissions body: - - assigneeIdentifier: + - permissions: [] + assigneeIdentifier: id: visitorsGroup type: userGroup - permissions: [] + - permissions: [] + assigneeRule: + type: allWorkspaceUsers headers: Accept-Encoding: - br, gzip, deflate @@ -303,8 +315,9 @@ interactions: X-XSS-Protection: - 1 ; mode=block content-length: - - '28' + - '39' body: string: + rules: [] userGroups: [] users: [] diff --git a/gooddata-sdk/tests/catalog/fixtures/users/create_delete_user.yaml b/gooddata-sdk/tests/catalog/fixtures/users/create_delete_user.yaml index 2013de7d6..ba3e78c4e 100644 --- a/gooddata-sdk/tests/catalog/fixtures/users/create_delete_user.yaml +++ b/gooddata-sdk/tests/catalog/fixtures/users/create_delete_user.yaml @@ -89,7 +89,7 @@ interactions: - id: demo type: user attributes: - authenticationId: CiQzMzBlZTg2Zi00MWU1LTRhNzAtOWVlZC03MTI5OWZkNDlhZTUSBWxvY2Fs + authenticationId: CiQ3YmY3ZTAxNS0xOWNkLTQ3MDgtYTEyNi1kYzg0NzI4MTdjZDgSBWxvY2Fs relationships: userGroups: data: @@ -100,7 +100,7 @@ interactions: - id: demo2 type: user attributes: - authenticationId: CiRiOWU2NjY4Zi1jYzc4LTQ4MTYtOGM5OS0zMWI3Y2VhMzg0MGQSBWxvY2Fs + authenticationId: CiQ3NDkyOWY0OS0xNjQ2LTQxOWEtOWY0OC1iNjE1ZjAyNTk0NzcSBWxvY2Fs relationships: userGroups: data: @@ -200,7 +200,7 @@ interactions: to access it. status: 404 title: Not Found - traceId: eb69bac61339f35c + traceId: 659e487c7b87344b - request: method: POST uri: http://localhost:3000/api/v1/entities/users @@ -468,20 +468,6 @@ interactions: body: string: data: - - id: newUser - type: user - attributes: - authenticationId: newUser_auth_id - firstname: john - lastname: doe - email: john.doe@email.com - relationships: - userGroups: - data: - - id: demoGroup - type: userGroup - links: - self: http://localhost:3000/api/v1/entities/users/newUser - id: admin type: user attributes: {} @@ -495,7 +481,7 @@ interactions: - id: demo type: user attributes: - authenticationId: CiQzMzBlZTg2Zi00MWU1LTRhNzAtOWVlZC03MTI5OWZkNDlhZTUSBWxvY2Fs + authenticationId: CiQ3YmY3ZTAxNS0xOWNkLTQ3MDgtYTEyNi1kYzg0NzI4MTdjZDgSBWxvY2Fs relationships: userGroups: data: @@ -506,7 +492,7 @@ interactions: - id: demo2 type: user attributes: - authenticationId: CiRiOWU2NjY4Zi1jYzc4LTQ4MTYtOGM5OS0zMWI3Y2VhMzg0MGQSBWxvY2Fs + authenticationId: CiQ3NDkyOWY0OS0xNjQ2LTQxOWEtOWY0OC1iNjE1ZjAyNTk0NzcSBWxvY2Fs relationships: userGroups: data: @@ -514,6 +500,20 @@ interactions: type: userGroup links: self: http://localhost:3000/api/v1/entities/users/demo2 + - id: newUser + type: user + attributes: + authenticationId: newUser_auth_id + firstname: john + lastname: doe + email: john.doe@email.com + relationships: + userGroups: + data: + - id: demoGroup + type: userGroup + links: + self: http://localhost:3000/api/v1/entities/users/newUser included: - id: adminGroup type: userGroup @@ -683,7 +683,7 @@ interactions: - id: demo type: user attributes: - authenticationId: CiQzMzBlZTg2Zi00MWU1LTRhNzAtOWVlZC03MTI5OWZkNDlhZTUSBWxvY2Fs + authenticationId: CiQ3YmY3ZTAxNS0xOWNkLTQ3MDgtYTEyNi1kYzg0NzI4MTdjZDgSBWxvY2Fs relationships: userGroups: data: @@ -694,7 +694,7 @@ interactions: - id: demo2 type: user attributes: - authenticationId: CiRiOWU2NjY4Zi1jYzc4LTQ4MTYtOGM5OS0zMWI3Y2VhMzg0MGQSBWxvY2Fs + authenticationId: CiQ3NDkyOWY0OS0xNjQ2LTQxOWEtOWY0OC1iNjE1ZjAyNTk0NzcSBWxvY2Fs relationships: userGroups: data: diff --git a/gooddata-sdk/tests/catalog/fixtures/users/create_delete_user_group.yaml b/gooddata-sdk/tests/catalog/fixtures/users/create_delete_user_group.yaml index f6b776585..e237dd00f 100644 --- a/gooddata-sdk/tests/catalog/fixtures/users/create_delete_user_group.yaml +++ b/gooddata-sdk/tests/catalog/fixtures/users/create_delete_user_group.yaml @@ -200,7 +200,7 @@ interactions: to access it. status: 404 title: Not Found - traceId: f2da10282d6880ba + traceId: 0baf22563b20d81c - request: method: POST uri: http://localhost:3000/api/v1/entities/userGroups diff --git a/gooddata-sdk/tests/catalog/fixtures/users/get_declarative_users.yaml b/gooddata-sdk/tests/catalog/fixtures/users/get_declarative_users.yaml index 91c308ea8..8c5c79564 100644 --- a/gooddata-sdk/tests/catalog/fixtures/users/get_declarative_users.yaml +++ b/gooddata-sdk/tests/catalog/fixtures/users/get_declarative_users.yaml @@ -84,14 +84,14 @@ interactions: userGroups: - id: adminGroup type: userGroup - - authId: CiQzMzBlZTg2Zi00MWU1LTRhNzAtOWVlZC03MTI5OWZkNDlhZTUSBWxvY2Fs + - authId: CiQ3YmY3ZTAxNS0xOWNkLTQ3MDgtYTEyNi1kYzg0NzI4MTdjZDgSBWxvY2Fs id: demo permissions: [] settings: [] userGroups: - id: adminGroup type: userGroup - - authId: CiRiOWU2NjY4Zi1jYzc4LTQ4MTYtOGM5OS0zMWI3Y2VhMzg0MGQSBWxvY2Fs + - authId: CiQ3NDkyOWY0OS0xNjQ2LTQxOWEtOWY0OC1iNjE1ZjAyNTk0NzcSBWxvY2Fs id: demo2 permissions: [] settings: [] @@ -180,14 +180,14 @@ interactions: userGroups: - id: adminGroup type: userGroup - - authId: CiQzMzBlZTg2Zi00MWU1LTRhNzAtOWVlZC03MTI5OWZkNDlhZTUSBWxvY2Fs + - authId: CiQ3YmY3ZTAxNS0xOWNkLTQ3MDgtYTEyNi1kYzg0NzI4MTdjZDgSBWxvY2Fs id: demo permissions: [] settings: [] userGroups: - id: adminGroup type: userGroup - - authId: CiRiOWU2NjY4Zi1jYzc4LTQ4MTYtOGM5OS0zMWI3Y2VhMzg0MGQSBWxvY2Fs + - authId: CiQ3NDkyOWY0OS0xNjQ2LTQxOWEtOWY0OC1iNjE1ZjAyNTk0NzcSBWxvY2Fs id: demo2 permissions: [] settings: [] diff --git a/gooddata-sdk/tests/catalog/fixtures/users/get_declarative_users_user_groups.yaml b/gooddata-sdk/tests/catalog/fixtures/users/get_declarative_users_user_groups.yaml index f9b0f3f07..aba9084f5 100644 --- a/gooddata-sdk/tests/catalog/fixtures/users/get_declarative_users_user_groups.yaml +++ b/gooddata-sdk/tests/catalog/fixtures/users/get_declarative_users_user_groups.yaml @@ -101,14 +101,14 @@ interactions: userGroups: - id: adminGroup type: userGroup - - authId: CiQzMzBlZTg2Zi00MWU1LTRhNzAtOWVlZC03MTI5OWZkNDlhZTUSBWxvY2Fs + - authId: CiQ3YmY3ZTAxNS0xOWNkLTQ3MDgtYTEyNi1kYzg0NzI4MTdjZDgSBWxvY2Fs id: demo permissions: [] settings: [] userGroups: - id: adminGroup type: userGroup - - authId: CiRiOWU2NjY4Zi1jYzc4LTQ4MTYtOGM5OS0zMWI3Y2VhMzg0MGQSBWxvY2Fs + - authId: CiQ3NDkyOWY0OS0xNjQ2LTQxOWEtOWY0OC1iNjE1ZjAyNTk0NzcSBWxvY2Fs id: demo2 permissions: [] settings: [] @@ -214,14 +214,14 @@ interactions: userGroups: - id: adminGroup type: userGroup - - authId: CiQzMzBlZTg2Zi00MWU1LTRhNzAtOWVlZC03MTI5OWZkNDlhZTUSBWxvY2Fs + - authId: CiQ3YmY3ZTAxNS0xOWNkLTQ3MDgtYTEyNi1kYzg0NzI4MTdjZDgSBWxvY2Fs id: demo permissions: [] settings: [] userGroups: - id: adminGroup type: userGroup - - authId: CiRiOWU2NjY4Zi1jYzc4LTQ4MTYtOGM5OS0zMWI3Y2VhMzg0MGQSBWxvY2Fs + - authId: CiQ3NDkyOWY0OS0xNjQ2LTQxOWEtOWY0OC1iNjE1ZjAyNTk0NzcSBWxvY2Fs id: demo2 permissions: [] settings: [] diff --git a/gooddata-sdk/tests/catalog/fixtures/users/get_user.yaml b/gooddata-sdk/tests/catalog/fixtures/users/get_user.yaml index 46c88e163..b8b6a1f33 100644 --- a/gooddata-sdk/tests/catalog/fixtures/users/get_user.yaml +++ b/gooddata-sdk/tests/catalog/fixtures/users/get_user.yaml @@ -79,7 +79,7 @@ interactions: id: demo2 type: user attributes: - authenticationId: CiRiOWU2NjY4Zi1jYzc4LTQ4MTYtOGM5OS0zMWI3Y2VhMzg0MGQSBWxvY2Fs + authenticationId: CiQ3NDkyOWY0OS0xNjQ2LTQxOWEtOWY0OC1iNjE1ZjAyNTk0NzcSBWxvY2Fs relationships: userGroups: data: diff --git a/gooddata-sdk/tests/catalog/fixtures/users/list_users.yaml b/gooddata-sdk/tests/catalog/fixtures/users/list_users.yaml index ed4d09160..bca20a3dd 100644 --- a/gooddata-sdk/tests/catalog/fixtures/users/list_users.yaml +++ b/gooddata-sdk/tests/catalog/fixtures/users/list_users.yaml @@ -89,7 +89,7 @@ interactions: - id: demo type: user attributes: - authenticationId: CiQzMzBlZTg2Zi00MWU1LTRhNzAtOWVlZC03MTI5OWZkNDlhZTUSBWxvY2Fs + authenticationId: CiQ3YmY3ZTAxNS0xOWNkLTQ3MDgtYTEyNi1kYzg0NzI4MTdjZDgSBWxvY2Fs relationships: userGroups: data: @@ -100,7 +100,7 @@ interactions: - id: demo2 type: user attributes: - authenticationId: CiRiOWU2NjY4Zi1jYzc4LTQ4MTYtOGM5OS0zMWI3Y2VhMzg0MGQSBWxvY2Fs + authenticationId: CiQ3NDkyOWY0OS0xNjQ2LTQxOWEtOWY0OC1iNjE1ZjAyNTk0NzcSBWxvY2Fs relationships: userGroups: data: diff --git a/gooddata-sdk/tests/catalog/fixtures/users/load_and_put_declarative_user_groups.yaml b/gooddata-sdk/tests/catalog/fixtures/users/load_and_put_declarative_user_groups.yaml index 7ed7a7ee5..d55a93def 100644 --- a/gooddata-sdk/tests/catalog/fixtures/users/load_and_put_declarative_user_groups.yaml +++ b/gooddata-sdk/tests/catalog/fixtures/users/load_and_put_declarative_user_groups.yaml @@ -84,14 +84,14 @@ interactions: userGroups: - id: adminGroup type: userGroup - - authId: CiQzMzBlZTg2Zi00MWU1LTRhNzAtOWVlZC03MTI5OWZkNDlhZTUSBWxvY2Fs + - authId: CiQ3YmY3ZTAxNS0xOWNkLTQ3MDgtYTEyNi1kYzg0NzI4MTdjZDgSBWxvY2Fs id: demo permissions: [] settings: [] userGroups: - id: adminGroup type: userGroup - - authId: CiRiOWU2NjY4Zi1jYzc4LTQ4MTYtOGM5OS0zMWI3Y2VhMzg0MGQSBWxvY2Fs + - authId: CiQ3NDkyOWY0OS0xNjQ2LTQxOWEtOWY0OC1iNjE1ZjAyNTk0NzcSBWxvY2Fs id: demo2 permissions: [] settings: [] @@ -264,17 +264,6 @@ interactions: body: string: data: - - id: demo2 - type: user - attributes: - authenticationId: CiRiOWU2NjY4Zi1jYzc4LTQ4MTYtOGM5OS0zMWI3Y2VhMzg0MGQSBWxvY2Fs - relationships: - userGroups: - data: - - id: demoGroup - type: userGroup - links: - self: http://localhost:3000/api/v1/entities/users/demo2 - id: admin type: user attributes: {} @@ -288,7 +277,7 @@ interactions: - id: demo type: user attributes: - authenticationId: CiQzMzBlZTg2Zi00MWU1LTRhNzAtOWVlZC03MTI5OWZkNDlhZTUSBWxvY2Fs + authenticationId: CiQ3YmY3ZTAxNS0xOWNkLTQ3MDgtYTEyNi1kYzg0NzI4MTdjZDgSBWxvY2Fs relationships: userGroups: data: @@ -296,6 +285,17 @@ interactions: type: userGroup links: self: http://localhost:3000/api/v1/entities/users/demo + - id: demo2 + type: user + attributes: + authenticationId: CiQ3NDkyOWY0OS0xNjQ2LTQxOWEtOWY0OC1iNjE1ZjAyNTk0NzcSBWxvY2Fs + relationships: + userGroups: + data: + - id: demoGroup + type: userGroup + links: + self: http://localhost:3000/api/v1/entities/users/demo2 included: - id: adminGroup type: userGroup @@ -546,7 +546,7 @@ interactions: Connection: - keep-alive Content-Length: - - '255' + - '275' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -598,7 +598,8 @@ interactions: attributes: name: Default Organization hostname: localhost - oauthClientId: f0ec3cf7-fc0f-4915-837b-e77af36ece4a + allowedOrigins: [] + oauthClientId: a7ab866a-75fd-41b8-8d28-8b5ffc3bd1ac links: self: http://localhost:3000/api/v1/entities/admin/organizations/default - request: @@ -877,14 +878,14 @@ interactions: settings: [] permissions: [] - id: demo - authId: CiQzMzBlZTg2Zi00MWU1LTRhNzAtOWVlZC03MTI5OWZkNDlhZTUSBWxvY2Fs + authId: CiQ3YmY3ZTAxNS0xOWNkLTQ3MDgtYTEyNi1kYzg0NzI4MTdjZDgSBWxvY2Fs userGroups: - id: adminGroup type: userGroup settings: [] permissions: [] - id: demo2 - authId: CiRiOWU2NjY4Zi1jYzc4LTQ4MTYtOGM5OS0zMWI3Y2VhMzg0MGQSBWxvY2Fs + authId: CiQ3NDkyOWY0OS0xNjQ2LTQxOWEtOWY0OC1iNjE1ZjAyNTk0NzcSBWxvY2Fs userGroups: - id: demoGroup type: userGroup diff --git a/gooddata-sdk/tests/catalog/fixtures/users/load_and_put_declarative_users.yaml b/gooddata-sdk/tests/catalog/fixtures/users/load_and_put_declarative_users.yaml index b843ca426..72fc5c0f0 100644 --- a/gooddata-sdk/tests/catalog/fixtures/users/load_and_put_declarative_users.yaml +++ b/gooddata-sdk/tests/catalog/fixtures/users/load_and_put_declarative_users.yaml @@ -84,14 +84,14 @@ interactions: userGroups: - id: adminGroup type: userGroup - - authId: CiQzMzBlZTg2Zi00MWU1LTRhNzAtOWVlZC03MTI5OWZkNDlhZTUSBWxvY2Fs + - authId: CiQ3YmY3ZTAxNS0xOWNkLTQ3MDgtYTEyNi1kYzg0NzI4MTdjZDgSBWxvY2Fs id: demo permissions: [] settings: [] userGroups: - id: adminGroup type: userGroup - - authId: CiRiOWU2NjY4Zi1jYzc4LTQ4MTYtOGM5OS0zMWI3Y2VhMzg0MGQSBWxvY2Fs + - authId: CiQ3NDkyOWY0OS0xNjQ2LTQxOWEtOWY0OC1iNjE1ZjAyNTk0NzcSBWxvY2Fs id: demo2 permissions: [] settings: [] @@ -185,7 +185,7 @@ interactions: - id: demo type: user attributes: - authenticationId: CiQzMzBlZTg2Zi00MWU1LTRhNzAtOWVlZC03MTI5OWZkNDlhZTUSBWxvY2Fs + authenticationId: CiQ3YmY3ZTAxNS0xOWNkLTQ3MDgtYTEyNi1kYzg0NzI4MTdjZDgSBWxvY2Fs relationships: userGroups: data: @@ -196,7 +196,7 @@ interactions: - id: demo2 type: user attributes: - authenticationId: CiRiOWU2NjY4Zi1jYzc4LTQ4MTYtOGM5OS0zMWI3Y2VhMzg0MGQSBWxvY2Fs + authenticationId: CiQ3NDkyOWY0OS0xNjQ2LTQxOWEtOWY0OC1iNjE1ZjAyNTk0NzcSBWxvY2Fs relationships: userGroups: data: @@ -382,7 +382,7 @@ interactions: Connection: - keep-alive Content-Length: - - '255' + - '275' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -434,7 +434,8 @@ interactions: attributes: name: Default Organization hostname: localhost - oauthClientId: f0ec3cf7-fc0f-4915-837b-e77af36ece4a + allowedOrigins: [] + oauthClientId: a7ab866a-75fd-41b8-8d28-8b5ffc3bd1ac links: self: http://localhost:3000/api/v1/entities/admin/organizations/default - request: @@ -635,14 +636,14 @@ interactions: settings: [] permissions: [] - id: demo - authId: CiQzMzBlZTg2Zi00MWU1LTRhNzAtOWVlZC03MTI5OWZkNDlhZTUSBWxvY2Fs + authId: CiQ3YmY3ZTAxNS0xOWNkLTQ3MDgtYTEyNi1kYzg0NzI4MTdjZDgSBWxvY2Fs userGroups: - id: adminGroup type: userGroup settings: [] permissions: [] - id: demo2 - authId: CiRiOWU2NjY4Zi1jYzc4LTQ4MTYtOGM5OS0zMWI3Y2VhMzg0MGQSBWxvY2Fs + authId: CiQ3NDkyOWY0OS0xNjQ2LTQxOWEtOWY0OC1iNjE1ZjAyNTk0NzcSBWxvY2Fs userGroups: - id: demoGroup type: userGroup diff --git a/gooddata-sdk/tests/catalog/fixtures/users/load_and_put_declarative_users_user_groups.yaml b/gooddata-sdk/tests/catalog/fixtures/users/load_and_put_declarative_users_user_groups.yaml index eded3797a..36541ddd5 100644 --- a/gooddata-sdk/tests/catalog/fixtures/users/load_and_put_declarative_users_user_groups.yaml +++ b/gooddata-sdk/tests/catalog/fixtures/users/load_and_put_declarative_users_user_groups.yaml @@ -101,14 +101,14 @@ interactions: userGroups: - id: adminGroup type: userGroup - - authId: CiQzMzBlZTg2Zi00MWU1LTRhNzAtOWVlZC03MTI5OWZkNDlhZTUSBWxvY2Fs + - authId: CiQ3YmY3ZTAxNS0xOWNkLTQ3MDgtYTEyNi1kYzg0NzI4MTdjZDgSBWxvY2Fs id: demo permissions: [] settings: [] userGroups: - id: adminGroup type: userGroup - - authId: CiRiOWU2NjY4Zi1jYzc4LTQ4MTYtOGM5OS0zMWI3Y2VhMzg0MGQSBWxvY2Fs + - authId: CiQ3NDkyOWY0OS0xNjQ2LTQxOWEtOWY0OC1iNjE1ZjAyNTk0NzcSBWxvY2Fs id: demo2 permissions: [] settings: [] @@ -202,7 +202,7 @@ interactions: - id: demo type: user attributes: - authenticationId: CiQzMzBlZTg2Zi00MWU1LTRhNzAtOWVlZC03MTI5OWZkNDlhZTUSBWxvY2Fs + authenticationId: CiQ3YmY3ZTAxNS0xOWNkLTQ3MDgtYTEyNi1kYzg0NzI4MTdjZDgSBWxvY2Fs relationships: userGroups: data: @@ -213,7 +213,7 @@ interactions: - id: demo2 type: user attributes: - authenticationId: CiRiOWU2NjY4Zi1jYzc4LTQ4MTYtOGM5OS0zMWI3Y2VhMzg0MGQSBWxvY2Fs + authenticationId: CiQ3NDkyOWY0OS0xNjQ2LTQxOWEtOWY0OC1iNjE1ZjAyNTk0NzcSBWxvY2Fs relationships: userGroups: data: @@ -471,7 +471,7 @@ interactions: Connection: - keep-alive Content-Length: - - '255' + - '275' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -523,7 +523,8 @@ interactions: attributes: name: Default Organization hostname: localhost - oauthClientId: f0ec3cf7-fc0f-4915-837b-e77af36ece4a + allowedOrigins: [] + oauthClientId: a7ab866a-75fd-41b8-8d28-8b5ffc3bd1ac links: self: http://localhost:3000/api/v1/entities/admin/organizations/default - request: @@ -775,14 +776,14 @@ interactions: settings: [] permissions: [] - id: demo - authId: CiQzMzBlZTg2Zi00MWU1LTRhNzAtOWVlZC03MTI5OWZkNDlhZTUSBWxvY2Fs + authId: CiQ3YmY3ZTAxNS0xOWNkLTQ3MDgtYTEyNi1kYzg0NzI4MTdjZDgSBWxvY2Fs userGroups: - id: adminGroup type: userGroup settings: [] permissions: [] - id: demo2 - authId: CiRiOWU2NjY4Zi1jYzc4LTQ4MTYtOGM5OS0zMWI3Y2VhMzg0MGQSBWxvY2Fs + authId: CiQ3NDkyOWY0OS0xNjQ2LTQxOWEtOWY0OC1iNjE1ZjAyNTk0NzcSBWxvY2Fs userGroups: - id: demoGroup type: userGroup diff --git a/gooddata-sdk/tests/catalog/fixtures/users/put_declarative_user_groups.yaml b/gooddata-sdk/tests/catalog/fixtures/users/put_declarative_user_groups.yaml index 99105d095..6a7803e1b 100644 --- a/gooddata-sdk/tests/catalog/fixtures/users/put_declarative_user_groups.yaml +++ b/gooddata-sdk/tests/catalog/fixtures/users/put_declarative_user_groups.yaml @@ -176,14 +176,14 @@ interactions: userGroups: - id: adminGroup type: userGroup - - authId: CiQzMzBlZTg2Zi00MWU1LTRhNzAtOWVlZC03MTI5OWZkNDlhZTUSBWxvY2Fs + - authId: CiQ3YmY3ZTAxNS0xOWNkLTQ3MDgtYTEyNi1kYzg0NzI4MTdjZDgSBWxvY2Fs id: demo permissions: [] settings: [] userGroups: - id: adminGroup type: userGroup - - authId: CiRiOWU2NjY4Zi1jYzc4LTQ4MTYtOGM5OS0zMWI3Y2VhMzg0MGQSBWxvY2Fs + - authId: CiQ3NDkyOWY0OS0xNjQ2LTQxOWEtOWY0OC1iNjE1ZjAyNTk0NzcSBWxvY2Fs id: demo2 permissions: [] settings: [] @@ -277,7 +277,7 @@ interactions: - id: demo type: user attributes: - authenticationId: CiQzMzBlZTg2Zi00MWU1LTRhNzAtOWVlZC03MTI5OWZkNDlhZTUSBWxvY2Fs + authenticationId: CiQ3YmY3ZTAxNS0xOWNkLTQ3MDgtYTEyNi1kYzg0NzI4MTdjZDgSBWxvY2Fs relationships: userGroups: data: @@ -288,7 +288,7 @@ interactions: - id: demo2 type: user attributes: - authenticationId: CiRiOWU2NjY4Zi1jYzc4LTQ4MTYtOGM5OS0zMWI3Y2VhMzg0MGQSBWxvY2Fs + authenticationId: CiQ3NDkyOWY0OS0xNjQ2LTQxOWEtOWY0OC1iNjE1ZjAyNTk0NzcSBWxvY2Fs relationships: userGroups: data: @@ -726,14 +726,14 @@ interactions: settings: [] permissions: [] - id: demo - authId: CiQzMzBlZTg2Zi00MWU1LTRhNzAtOWVlZC03MTI5OWZkNDlhZTUSBWxvY2Fs + authId: CiQ3YmY3ZTAxNS0xOWNkLTQ3MDgtYTEyNi1kYzg0NzI4MTdjZDgSBWxvY2Fs userGroups: - id: adminGroup type: userGroup settings: [] permissions: [] - id: demo2 - authId: CiRiOWU2NjY4Zi1jYzc4LTQ4MTYtOGM5OS0zMWI3Y2VhMzg0MGQSBWxvY2Fs + authId: CiQ3NDkyOWY0OS0xNjQ2LTQxOWEtOWY0OC1iNjE1ZjAyNTk0NzcSBWxvY2Fs userGroups: - id: demoGroup type: userGroup diff --git a/gooddata-sdk/tests/catalog/fixtures/users/put_declarative_users.yaml b/gooddata-sdk/tests/catalog/fixtures/users/put_declarative_users.yaml index 17e6ef62c..bc2d9ca8a 100644 --- a/gooddata-sdk/tests/catalog/fixtures/users/put_declarative_users.yaml +++ b/gooddata-sdk/tests/catalog/fixtures/users/put_declarative_users.yaml @@ -84,14 +84,14 @@ interactions: userGroups: - id: adminGroup type: userGroup - - authId: CiQzMzBlZTg2Zi00MWU1LTRhNzAtOWVlZC03MTI5OWZkNDlhZTUSBWxvY2Fs + - authId: CiQ3YmY3ZTAxNS0xOWNkLTQ3MDgtYTEyNi1kYzg0NzI4MTdjZDgSBWxvY2Fs id: demo permissions: [] settings: [] userGroups: - id: adminGroup type: userGroup - - authId: CiRiOWU2NjY4Zi1jYzc4LTQ4MTYtOGM5OS0zMWI3Y2VhMzg0MGQSBWxvY2Fs + - authId: CiQ3NDkyOWY0OS0xNjQ2LTQxOWEtOWY0OC1iNjE1ZjAyNTk0NzcSBWxvY2Fs id: demo2 permissions: [] settings: [] @@ -172,17 +172,6 @@ interactions: body: string: data: - - id: demo2 - type: user - attributes: - authenticationId: CiRiOWU2NjY4Zi1jYzc4LTQ4MTYtOGM5OS0zMWI3Y2VhMzg0MGQSBWxvY2Fs - relationships: - userGroups: - data: - - id: demoGroup - type: userGroup - links: - self: http://localhost:3000/api/v1/entities/users/demo2 - id: admin type: user attributes: {} @@ -196,7 +185,7 @@ interactions: - id: demo type: user attributes: - authenticationId: CiQzMzBlZTg2Zi00MWU1LTRhNzAtOWVlZC03MTI5OWZkNDlhZTUSBWxvY2Fs + authenticationId: CiQ3YmY3ZTAxNS0xOWNkLTQ3MDgtYTEyNi1kYzg0NzI4MTdjZDgSBWxvY2Fs relationships: userGroups: data: @@ -204,6 +193,17 @@ interactions: type: userGroup links: self: http://localhost:3000/api/v1/entities/users/demo + - id: demo2 + type: user + attributes: + authenticationId: CiQ3NDkyOWY0OS0xNjQ2LTQxOWEtOWY0OC1iNjE1ZjAyNTk0NzcSBWxvY2Fs + relationships: + userGroups: + data: + - id: demoGroup + type: userGroup + links: + self: http://localhost:3000/api/v1/entities/users/demo2 included: - id: adminGroup type: userGroup @@ -298,14 +298,14 @@ interactions: settings: [] permissions: [] - id: demo - authId: CiQzMzBlZTg2Zi00MWU1LTRhNzAtOWVlZC03MTI5OWZkNDlhZTUSBWxvY2Fs + authId: CiQ3YmY3ZTAxNS0xOWNkLTQ3MDgtYTEyNi1kYzg0NzI4MTdjZDgSBWxvY2Fs userGroups: - id: adminGroup type: userGroup settings: [] permissions: [] - id: demo2 - authId: CiRiOWU2NjY4Zi1jYzc4LTQ4MTYtOGM5OS0zMWI3Y2VhMzg0MGQSBWxvY2Fs + authId: CiQ3NDkyOWY0OS0xNjQ2LTQxOWEtOWY0OC1iNjE1ZjAyNTk0NzcSBWxvY2Fs userGroups: - id: demoGroup type: userGroup @@ -458,14 +458,14 @@ interactions: userGroups: - id: adminGroup type: userGroup - - authId: CiQzMzBlZTg2Zi00MWU1LTRhNzAtOWVlZC03MTI5OWZkNDlhZTUSBWxvY2Fs + - authId: CiQ3YmY3ZTAxNS0xOWNkLTQ3MDgtYTEyNi1kYzg0NzI4MTdjZDgSBWxvY2Fs id: demo permissions: [] settings: [] userGroups: - id: adminGroup type: userGroup - - authId: CiRiOWU2NjY4Zi1jYzc4LTQ4MTYtOGM5OS0zMWI3Y2VhMzg0MGQSBWxvY2Fs + - authId: CiQ3NDkyOWY0OS0xNjQ2LTQxOWEtOWY0OC1iNjE1ZjAyNTk0NzcSBWxvY2Fs id: demo2 permissions: [] settings: [] @@ -484,14 +484,14 @@ interactions: settings: [] permissions: [] - id: demo - authId: CiQzMzBlZTg2Zi00MWU1LTRhNzAtOWVlZC03MTI5OWZkNDlhZTUSBWxvY2Fs + authId: CiQ3YmY3ZTAxNS0xOWNkLTQ3MDgtYTEyNi1kYzg0NzI4MTdjZDgSBWxvY2Fs userGroups: - id: adminGroup type: userGroup settings: [] permissions: [] - id: demo2 - authId: CiRiOWU2NjY4Zi1jYzc4LTQ4MTYtOGM5OS0zMWI3Y2VhMzg0MGQSBWxvY2Fs + authId: CiQ3NDkyOWY0OS0xNjQ2LTQxOWEtOWY0OC1iNjE1ZjAyNTk0NzcSBWxvY2Fs userGroups: - id: demoGroup type: userGroup diff --git a/gooddata-sdk/tests/catalog/fixtures/users/put_declarative_users_user_groups.yaml b/gooddata-sdk/tests/catalog/fixtures/users/put_declarative_users_user_groups.yaml index cf05dae26..952e9cc21 100644 --- a/gooddata-sdk/tests/catalog/fixtures/users/put_declarative_users_user_groups.yaml +++ b/gooddata-sdk/tests/catalog/fixtures/users/put_declarative_users_user_groups.yaml @@ -101,14 +101,14 @@ interactions: userGroups: - id: adminGroup type: userGroup - - authId: CiQzMzBlZTg2Zi00MWU1LTRhNzAtOWVlZC03MTI5OWZkNDlhZTUSBWxvY2Fs + - authId: CiQ3YmY3ZTAxNS0xOWNkLTQ3MDgtYTEyNi1kYzg0NzI4MTdjZDgSBWxvY2Fs id: demo permissions: [] settings: [] userGroups: - id: adminGroup type: userGroup - - authId: CiRiOWU2NjY4Zi1jYzc4LTQ4MTYtOGM5OS0zMWI3Y2VhMzg0MGQSBWxvY2Fs + - authId: CiQ3NDkyOWY0OS0xNjQ2LTQxOWEtOWY0OC1iNjE1ZjAyNTk0NzcSBWxvY2Fs id: demo2 permissions: [] settings: [] @@ -192,7 +192,7 @@ interactions: - id: demo2 type: user attributes: - authenticationId: CiRiOWU2NjY4Zi1jYzc4LTQ4MTYtOGM5OS0zMWI3Y2VhMzg0MGQSBWxvY2Fs + authenticationId: CiQ3NDkyOWY0OS0xNjQ2LTQxOWEtOWY0OC1iNjE1ZjAyNTk0NzcSBWxvY2Fs relationships: userGroups: data: @@ -213,7 +213,7 @@ interactions: - id: demo type: user attributes: - authenticationId: CiQzMzBlZTg2Zi00MWU1LTRhNzAtOWVlZC03MTI5OWZkNDlhZTUSBWxvY2Fs + authenticationId: CiQ3YmY3ZTAxNS0xOWNkLTQ3MDgtYTEyNi1kYzg0NzI4MTdjZDgSBWxvY2Fs relationships: userGroups: data: @@ -404,14 +404,14 @@ interactions: settings: [] permissions: [] - id: demo - authId: CiQzMzBlZTg2Zi00MWU1LTRhNzAtOWVlZC03MTI5OWZkNDlhZTUSBWxvY2Fs + authId: CiQ3YmY3ZTAxNS0xOWNkLTQ3MDgtYTEyNi1kYzg0NzI4MTdjZDgSBWxvY2Fs userGroups: - id: adminGroup type: userGroup settings: [] permissions: [] - id: demo2 - authId: CiRiOWU2NjY4Zi1jYzc4LTQ4MTYtOGM5OS0zMWI3Y2VhMzg0MGQSBWxvY2Fs + authId: CiQ3NDkyOWY0OS0xNjQ2LTQxOWEtOWY0OC1iNjE1ZjAyNTk0NzcSBWxvY2Fs userGroups: - id: demoGroup type: userGroup @@ -581,14 +581,14 @@ interactions: userGroups: - id: adminGroup type: userGroup - - authId: CiQzMzBlZTg2Zi00MWU1LTRhNzAtOWVlZC03MTI5OWZkNDlhZTUSBWxvY2Fs + - authId: CiQ3YmY3ZTAxNS0xOWNkLTQ3MDgtYTEyNi1kYzg0NzI4MTdjZDgSBWxvY2Fs id: demo permissions: [] settings: [] userGroups: - id: adminGroup type: userGroup - - authId: CiRiOWU2NjY4Zi1jYzc4LTQ4MTYtOGM5OS0zMWI3Y2VhMzg0MGQSBWxvY2Fs + - authId: CiQ3NDkyOWY0OS0xNjQ2LTQxOWEtOWY0OC1iNjE1ZjAyNTk0NzcSBWxvY2Fs id: demo2 permissions: [] settings: [] @@ -624,14 +624,14 @@ interactions: settings: [] permissions: [] - id: demo - authId: CiQzMzBlZTg2Zi00MWU1LTRhNzAtOWVlZC03MTI5OWZkNDlhZTUSBWxvY2Fs + authId: CiQ3YmY3ZTAxNS0xOWNkLTQ3MDgtYTEyNi1kYzg0NzI4MTdjZDgSBWxvY2Fs userGroups: - id: adminGroup type: userGroup settings: [] permissions: [] - id: demo2 - authId: CiRiOWU2NjY4Zi1jYzc4LTQ4MTYtOGM5OS0zMWI3Y2VhMzg0MGQSBWxvY2Fs + authId: CiQ3NDkyOWY0OS0xNjQ2LTQxOWEtOWY0OC1iNjE1ZjAyNTk0NzcSBWxvY2Fs userGroups: - id: demoGroup type: userGroup diff --git a/gooddata-sdk/tests/catalog/fixtures/users/store_declarative_user_groups.yaml b/gooddata-sdk/tests/catalog/fixtures/users/store_declarative_user_groups.yaml index 9a2238643..8a6d9cadc 100644 --- a/gooddata-sdk/tests/catalog/fixtures/users/store_declarative_user_groups.yaml +++ b/gooddata-sdk/tests/catalog/fixtures/users/store_declarative_user_groups.yaml @@ -282,7 +282,7 @@ interactions: Connection: - keep-alive Content-Length: - - '255' + - '275' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -334,7 +334,8 @@ interactions: attributes: name: Default Organization hostname: localhost - oauthClientId: f0ec3cf7-fc0f-4915-837b-e77af36ece4a + allowedOrigins: [] + oauthClientId: a7ab866a-75fd-41b8-8d28-8b5ffc3bd1ac links: self: http://localhost:3000/api/v1/entities/admin/organizations/default - request: @@ -433,7 +434,7 @@ interactions: Connection: - keep-alive Content-Length: - - '255' + - '275' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -485,6 +486,7 @@ interactions: attributes: name: Default Organization hostname: localhost - oauthClientId: f0ec3cf7-fc0f-4915-837b-e77af36ece4a + allowedOrigins: [] + oauthClientId: a7ab866a-75fd-41b8-8d28-8b5ffc3bd1ac links: self: http://localhost:3000/api/v1/entities/admin/organizations/default diff --git a/gooddata-sdk/tests/catalog/fixtures/users/store_declarative_users.yaml b/gooddata-sdk/tests/catalog/fixtures/users/store_declarative_users.yaml index a11a8046f..09f9367dc 100644 --- a/gooddata-sdk/tests/catalog/fixtures/users/store_declarative_users.yaml +++ b/gooddata-sdk/tests/catalog/fixtures/users/store_declarative_users.yaml @@ -84,14 +84,14 @@ interactions: userGroups: - id: adminGroup type: userGroup - - authId: CiQzMzBlZTg2Zi00MWU1LTRhNzAtOWVlZC03MTI5OWZkNDlhZTUSBWxvY2Fs + - authId: CiQ3YmY3ZTAxNS0xOWNkLTQ3MDgtYTEyNi1kYzg0NzI4MTdjZDgSBWxvY2Fs id: demo permissions: [] settings: [] userGroups: - id: adminGroup type: userGroup - - authId: CiRiOWU2NjY4Zi1jYzc4LTQ4MTYtOGM5OS0zMWI3Y2VhMzg0MGQSBWxvY2Fs + - authId: CiQ3NDkyOWY0OS0xNjQ2LTQxOWEtOWY0OC1iNjE1ZjAyNTk0NzcSBWxvY2Fs id: demo2 permissions: [] settings: [] @@ -180,14 +180,14 @@ interactions: userGroups: - id: adminGroup type: userGroup - - authId: CiQzMzBlZTg2Zi00MWU1LTRhNzAtOWVlZC03MTI5OWZkNDlhZTUSBWxvY2Fs + - authId: CiQ3YmY3ZTAxNS0xOWNkLTQ3MDgtYTEyNi1kYzg0NzI4MTdjZDgSBWxvY2Fs id: demo permissions: [] settings: [] userGroups: - id: adminGroup type: userGroup - - authId: CiRiOWU2NjY4Zi1jYzc4LTQ4MTYtOGM5OS0zMWI3Y2VhMzg0MGQSBWxvY2Fs + - authId: CiQ3NDkyOWY0OS0xNjQ2LTQxOWEtOWY0OC1iNjE1ZjAyNTk0NzcSBWxvY2Fs id: demo2 permissions: [] settings: [] @@ -290,7 +290,7 @@ interactions: Connection: - keep-alive Content-Length: - - '255' + - '275' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -342,7 +342,8 @@ interactions: attributes: name: Default Organization hostname: localhost - oauthClientId: f0ec3cf7-fc0f-4915-837b-e77af36ece4a + allowedOrigins: [] + oauthClientId: a7ab866a-75fd-41b8-8d28-8b5ffc3bd1ac links: self: http://localhost:3000/api/v1/entities/admin/organizations/default - request: @@ -441,7 +442,7 @@ interactions: Connection: - keep-alive Content-Length: - - '255' + - '275' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -493,6 +494,7 @@ interactions: attributes: name: Default Organization hostname: localhost - oauthClientId: f0ec3cf7-fc0f-4915-837b-e77af36ece4a + allowedOrigins: [] + oauthClientId: a7ab866a-75fd-41b8-8d28-8b5ffc3bd1ac links: self: http://localhost:3000/api/v1/entities/admin/organizations/default diff --git a/gooddata-sdk/tests/catalog/fixtures/users/store_declarative_users_user_groups.yaml b/gooddata-sdk/tests/catalog/fixtures/users/store_declarative_users_user_groups.yaml index 9c778b5c9..ae1be6f8b 100644 --- a/gooddata-sdk/tests/catalog/fixtures/users/store_declarative_users_user_groups.yaml +++ b/gooddata-sdk/tests/catalog/fixtures/users/store_declarative_users_user_groups.yaml @@ -101,14 +101,14 @@ interactions: userGroups: - id: adminGroup type: userGroup - - authId: CiQzMzBlZTg2Zi00MWU1LTRhNzAtOWVlZC03MTI5OWZkNDlhZTUSBWxvY2Fs + - authId: CiQ3YmY3ZTAxNS0xOWNkLTQ3MDgtYTEyNi1kYzg0NzI4MTdjZDgSBWxvY2Fs id: demo permissions: [] settings: [] userGroups: - id: adminGroup type: userGroup - - authId: CiRiOWU2NjY4Zi1jYzc4LTQ4MTYtOGM5OS0zMWI3Y2VhMzg0MGQSBWxvY2Fs + - authId: CiQ3NDkyOWY0OS0xNjQ2LTQxOWEtOWY0OC1iNjE1ZjAyNTk0NzcSBWxvY2Fs id: demo2 permissions: [] settings: [] @@ -214,14 +214,14 @@ interactions: userGroups: - id: adminGroup type: userGroup - - authId: CiQzMzBlZTg2Zi00MWU1LTRhNzAtOWVlZC03MTI5OWZkNDlhZTUSBWxvY2Fs + - authId: CiQ3YmY3ZTAxNS0xOWNkLTQ3MDgtYTEyNi1kYzg0NzI4MTdjZDgSBWxvY2Fs id: demo permissions: [] settings: [] userGroups: - id: adminGroup type: userGroup - - authId: CiRiOWU2NjY4Zi1jYzc4LTQ4MTYtOGM5OS0zMWI3Y2VhMzg0MGQSBWxvY2Fs + - authId: CiQ3NDkyOWY0OS0xNjQ2LTQxOWEtOWY0OC1iNjE1ZjAyNTk0NzcSBWxvY2Fs id: demo2 permissions: [] settings: [] @@ -324,7 +324,7 @@ interactions: Connection: - keep-alive Content-Length: - - '255' + - '275' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -376,7 +376,8 @@ interactions: attributes: name: Default Organization hostname: localhost - oauthClientId: f0ec3cf7-fc0f-4915-837b-e77af36ece4a + allowedOrigins: [] + oauthClientId: a7ab866a-75fd-41b8-8d28-8b5ffc3bd1ac links: self: http://localhost:3000/api/v1/entities/admin/organizations/default - request: @@ -475,7 +476,7 @@ interactions: Connection: - keep-alive Content-Length: - - '255' + - '275' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -527,6 +528,7 @@ interactions: attributes: name: Default Organization hostname: localhost - oauthClientId: f0ec3cf7-fc0f-4915-837b-e77af36ece4a + allowedOrigins: [] + oauthClientId: a7ab866a-75fd-41b8-8d28-8b5ffc3bd1ac links: self: http://localhost:3000/api/v1/entities/admin/organizations/default diff --git a/gooddata-sdk/tests/catalog/fixtures/users/test_user_add_user_group.yaml b/gooddata-sdk/tests/catalog/fixtures/users/test_user_add_user_group.yaml index 46c88e163..b8b6a1f33 100644 --- a/gooddata-sdk/tests/catalog/fixtures/users/test_user_add_user_group.yaml +++ b/gooddata-sdk/tests/catalog/fixtures/users/test_user_add_user_group.yaml @@ -79,7 +79,7 @@ interactions: id: demo2 type: user attributes: - authenticationId: CiRiOWU2NjY4Zi1jYzc4LTQ4MTYtOGM5OS0zMWI3Y2VhMzg0MGQSBWxvY2Fs + authenticationId: CiQ3NDkyOWY0OS0xNjQ2LTQxOWEtOWY0OC1iNjE1ZjAyNTk0NzcSBWxvY2Fs relationships: userGroups: data: diff --git a/gooddata-sdk/tests/catalog/fixtures/users/test_user_add_user_groups.yaml b/gooddata-sdk/tests/catalog/fixtures/users/test_user_add_user_groups.yaml index 46c88e163..b8b6a1f33 100644 --- a/gooddata-sdk/tests/catalog/fixtures/users/test_user_add_user_groups.yaml +++ b/gooddata-sdk/tests/catalog/fixtures/users/test_user_add_user_groups.yaml @@ -79,7 +79,7 @@ interactions: id: demo2 type: user attributes: - authenticationId: CiRiOWU2NjY4Zi1jYzc4LTQ4MTYtOGM5OS0zMWI3Y2VhMzg0MGQSBWxvY2Fs + authenticationId: CiQ3NDkyOWY0OS0xNjQ2LTQxOWEtOWY0OC1iNjE1ZjAyNTk0NzcSBWxvY2Fs relationships: userGroups: data: diff --git a/gooddata-sdk/tests/catalog/fixtures/users/test_user_remove_user_groups.yaml b/gooddata-sdk/tests/catalog/fixtures/users/test_user_remove_user_groups.yaml index 46c88e163..b8b6a1f33 100644 --- a/gooddata-sdk/tests/catalog/fixtures/users/test_user_remove_user_groups.yaml +++ b/gooddata-sdk/tests/catalog/fixtures/users/test_user_remove_user_groups.yaml @@ -79,7 +79,7 @@ interactions: id: demo2 type: user attributes: - authenticationId: CiRiOWU2NjY4Zi1jYzc4LTQ4MTYtOGM5OS0zMWI3Y2VhMzg0MGQSBWxvY2Fs + authenticationId: CiQ3NDkyOWY0OS0xNjQ2LTQxOWEtOWY0OC1iNjE1ZjAyNTk0NzcSBWxvY2Fs relationships: userGroups: data: diff --git a/gooddata-sdk/tests/catalog/fixtures/users/test_user_replace_user_groups.yaml b/gooddata-sdk/tests/catalog/fixtures/users/test_user_replace_user_groups.yaml index 46c88e163..b8b6a1f33 100644 --- a/gooddata-sdk/tests/catalog/fixtures/users/test_user_replace_user_groups.yaml +++ b/gooddata-sdk/tests/catalog/fixtures/users/test_user_replace_user_groups.yaml @@ -79,7 +79,7 @@ interactions: id: demo2 type: user attributes: - authenticationId: CiRiOWU2NjY4Zi1jYzc4LTQ4MTYtOGM5OS0zMWI3Y2VhMzg0MGQSBWxvY2Fs + authenticationId: CiQ3NDkyOWY0OS0xNjQ2LTQxOWEtOWY0OC1iNjE1ZjAyNTk0NzcSBWxvY2Fs relationships: userGroups: data: diff --git a/gooddata-sdk/tests/catalog/fixtures/users/update_user.yaml b/gooddata-sdk/tests/catalog/fixtures/users/update_user.yaml index 8330b1435..25bebf10d 100644 --- a/gooddata-sdk/tests/catalog/fixtures/users/update_user.yaml +++ b/gooddata-sdk/tests/catalog/fixtures/users/update_user.yaml @@ -79,7 +79,7 @@ interactions: id: demo2 type: user attributes: - authenticationId: CiRiOWU2NjY4Zi1jYzc4LTQ4MTYtOGM5OS0zMWI3Y2VhMzg0MGQSBWxvY2Fs + authenticationId: CiQ3NDkyOWY0OS0xNjQ2LTQxOWEtOWY0OC1iNjE1ZjAyNTk0NzcSBWxvY2Fs relationships: userGroups: data: @@ -171,7 +171,7 @@ interactions: id: demo2 type: user attributes: - authenticationId: CiRiOWU2NjY4Zi1jYzc4LTQ4MTYtOGM5OS0zMWI3Y2VhMzg0MGQSBWxvY2Fs + authenticationId: CiQ3NDkyOWY0OS0xNjQ2LTQxOWEtOWY0OC1iNjE1ZjAyNTk0NzcSBWxvY2Fs relationships: userGroups: data: @@ -533,7 +533,7 @@ interactions: to access it. status: 404 title: Not Found - traceId: b84d9feb1464918d + traceId: 502ee5b7e1c71f0b - request: method: POST uri: http://localhost:3000/api/v1/entities/users @@ -542,7 +542,7 @@ interactions: id: demo2 type: user attributes: - authenticationId: CiRiOWU2NjY4Zi1jYzc4LTQ4MTYtOGM5OS0zMWI3Y2VhMzg0MGQSBWxvY2Fs + authenticationId: CiQ3NDkyOWY0OS0xNjQ2LTQxOWEtOWY0OC1iNjE1ZjAyNTk0NzcSBWxvY2Fs relationships: userGroups: data: @@ -623,7 +623,7 @@ interactions: id: demo2 type: user attributes: - authenticationId: CiRiOWU2NjY4Zi1jYzc4LTQ4MTYtOGM5OS0zMWI3Y2VhMzg0MGQSBWxvY2Fs + authenticationId: CiQ3NDkyOWY0OS0xNjQ2LTQxOWEtOWY0OC1iNjE1ZjAyNTk0NzcSBWxvY2Fs links: self: http://localhost:3000/api/v1/entities/users/demo2 - request: @@ -700,17 +700,6 @@ interactions: body: string: data: - - id: demo2 - type: user - attributes: - authenticationId: CiRiOWU2NjY4Zi1jYzc4LTQ4MTYtOGM5OS0zMWI3Y2VhMzg0MGQSBWxvY2Fs - relationships: - userGroups: - data: - - id: demoGroup - type: userGroup - links: - self: http://localhost:3000/api/v1/entities/users/demo2 - id: admin type: user attributes: {} @@ -724,7 +713,7 @@ interactions: - id: demo type: user attributes: - authenticationId: CiQzMzBlZTg2Zi00MWU1LTRhNzAtOWVlZC03MTI5OWZkNDlhZTUSBWxvY2Fs + authenticationId: CiQ3YmY3ZTAxNS0xOWNkLTQ3MDgtYTEyNi1kYzg0NzI4MTdjZDgSBWxvY2Fs relationships: userGroups: data: @@ -732,6 +721,17 @@ interactions: type: userGroup links: self: http://localhost:3000/api/v1/entities/users/demo + - id: demo2 + type: user + attributes: + authenticationId: CiQ3NDkyOWY0OS0xNjQ2LTQxOWEtOWY0OC1iNjE1ZjAyNTk0NzcSBWxvY2Fs + relationships: + userGroups: + data: + - id: demoGroup + type: userGroup + links: + self: http://localhost:3000/api/v1/entities/users/demo2 included: - id: adminGroup type: userGroup diff --git a/gooddata-sdk/tests/catalog/fixtures/workspace_content/analytics_store_load.yaml b/gooddata-sdk/tests/catalog/fixtures/workspace_content/analytics_store_load.yaml index bad03f87c..bd675aec7 100644 --- a/gooddata-sdk/tests/catalog/fixtures/workspace_content/analytics_store_load.yaml +++ b/gooddata-sdk/tests/catalog/fixtures/workspace_content/analytics_store_load.yaml @@ -127,7 +127,7 @@ interactions: drills: [] properties: {} version: '2' - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -166,7 +166,7 @@ interactions: type: dashboardPlugin version: '2' version: '2' - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -316,7 +316,7 @@ interactions: drills: [] properties: {} version: '2' - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -327,7 +327,7 @@ interactions: - content: url: https://www.example.com version: '2' - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -337,7 +337,7 @@ interactions: - content: url: https://www.example.com version: '2' - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -386,7 +386,7 @@ interactions: - content: format: '#,##0' maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -395,7 +395,7 @@ interactions: - content: format: '#,##0' maql: SELECT COUNT({attribute/order_id}) - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -405,7 +405,7 @@ interactions: format: '#,##0' maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT {metric/revenue} BY {attribute/customer_id}) > 10000 ' - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -415,7 +415,7 @@ interactions: format: '#,##0.00' maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} IN ("Returned", "Canceled")) - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -425,7 +425,7 @@ interactions: - content: format: $#,##0 maql: SELECT SUM({fact/spend}) - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -434,7 +434,7 @@ interactions: - content: format: $#,##0 maql: SELECT SUM({fact/price}*{fact/quantity}) - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -443,7 +443,7 @@ interactions: - content: format: '#,##0.0%' maql: SELECT {metric/revenue} / {metric/total_revenue} - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -453,7 +453,7 @@ interactions: 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: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -463,7 +463,7 @@ interactions: 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: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -473,7 +473,7 @@ interactions: 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: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -483,7 +483,7 @@ interactions: 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: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -493,7 +493,7 @@ interactions: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, ALL OTHER) - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -503,7 +503,7 @@ interactions: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL {attribute/product_id}) - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -513,7 +513,7 @@ interactions: format: $#,##0 maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} IN ("Returned", "Canceled")) - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -524,7 +524,7 @@ interactions: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Clothing") - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -534,7 +534,7 @@ interactions: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ( "Electronics") - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -544,7 +544,7 @@ interactions: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Home") - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -554,7 +554,7 @@ interactions: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Outdoor") - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -563,7 +563,7 @@ interactions: - content: format: $#,##0.0 maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -572,7 +572,7 @@ interactions: - content: format: $#,##0.0 maql: SELECT {metric/revenue} / {metric/campaign_spend} - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -581,7 +581,7 @@ interactions: - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -590,7 +590,7 @@ interactions: - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -599,7 +599,7 @@ interactions: - content: format: $#,##0 maql: SELECT {metric/revenue} BY ALL OTHER - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -608,7 +608,7 @@ interactions: - content: format: $#,##0 maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -673,7 +673,7 @@ interactions: position: bottom version: '2' visualizationUrl: local:treemap - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -749,7 +749,7 @@ interactions: rotation: auto version: '2' visualizationUrl: local:combo2 - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -828,7 +828,7 @@ interactions: direction: asc version: '2' visualizationUrl: local:table - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -887,7 +887,7 @@ interactions: stackMeasuresToPercent: true version: '2' visualizationUrl: local:area - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -944,7 +944,7 @@ interactions: position: bottom version: '2' visualizationUrl: local:treemap - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -997,7 +997,7 @@ interactions: position: bottom version: '2' visualizationUrl: local:donut - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -1072,7 +1072,7 @@ interactions: visible: false version: '2' visualizationUrl: local:column - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -1129,7 +1129,7 @@ interactions: enabled: true version: '2' visualizationUrl: local:scatter - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -1228,7 +1228,7 @@ interactions: direction: asc version: '2' visualizationUrl: local:table - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -1284,7 +1284,7 @@ interactions: position: bottom version: '2' visualizationUrl: local:line - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -1323,7 +1323,7 @@ interactions: properties: {} version: '2' visualizationUrl: local:bar - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -1379,7 +1379,7 @@ interactions: min: '0' version: '2' visualizationUrl: local:scatter - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -1447,7 +1447,7 @@ interactions: rotation: auto version: '2' visualizationUrl: local:combo2 - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -1504,7 +1504,7 @@ interactions: position: bottom version: '2' visualizationUrl: local:bar - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -1561,7 +1561,7 @@ interactions: position: bottom version: '2' visualizationUrl: local:bar - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -1692,7 +1692,7 @@ interactions: drills: [] properties: {} version: '2' - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -1731,7 +1731,7 @@ interactions: type: dashboardPlugin version: '2' version: '2' - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -1881,7 +1881,7 @@ interactions: drills: [] properties: {} version: '2' - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -1892,7 +1892,7 @@ interactions: - content: url: https://www.example.com version: '2' - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -1902,7 +1902,7 @@ interactions: - content: url: https://www.example.com version: '2' - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -1951,7 +1951,7 @@ interactions: - content: format: '#,##0' maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -1960,7 +1960,7 @@ interactions: - content: format: '#,##0' maql: SELECT COUNT({attribute/order_id}) - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -1970,7 +1970,7 @@ interactions: format: '#,##0' maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT {metric/revenue} BY {attribute/customer_id}) > 10000 ' - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -1980,7 +1980,7 @@ interactions: format: '#,##0.00' maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} IN ("Returned", "Canceled")) - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -1990,7 +1990,7 @@ interactions: - content: format: $#,##0 maql: SELECT SUM({fact/spend}) - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -1999,7 +1999,7 @@ interactions: - content: format: $#,##0 maql: SELECT SUM({fact/price}*{fact/quantity}) - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -2008,7 +2008,7 @@ interactions: - content: format: '#,##0.0%' maql: SELECT {metric/revenue} / {metric/total_revenue} - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -2018,7 +2018,7 @@ interactions: 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: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -2028,7 +2028,7 @@ interactions: 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: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -2038,7 +2038,7 @@ interactions: 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: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -2048,7 +2048,7 @@ interactions: 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: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -2058,7 +2058,7 @@ interactions: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, ALL OTHER) - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -2068,7 +2068,7 @@ interactions: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL {attribute/product_id}) - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -2078,7 +2078,7 @@ interactions: format: $#,##0 maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} IN ("Returned", "Canceled")) - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -2089,7 +2089,7 @@ interactions: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Clothing") - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -2099,7 +2099,7 @@ interactions: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ( "Electronics") - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -2109,7 +2109,7 @@ interactions: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Home") - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -2119,7 +2119,7 @@ interactions: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Outdoor") - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -2128,7 +2128,7 @@ interactions: - content: format: $#,##0.0 maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -2137,7 +2137,7 @@ interactions: - content: format: $#,##0.0 maql: SELECT {metric/revenue} / {metric/campaign_spend} - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -2146,7 +2146,7 @@ interactions: - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -2155,7 +2155,7 @@ interactions: - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -2164,7 +2164,7 @@ interactions: - content: format: $#,##0 maql: SELECT {metric/revenue} BY ALL OTHER - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -2173,7 +2173,7 @@ interactions: - content: format: $#,##0 maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -2238,7 +2238,7 @@ interactions: position: bottom version: '2' visualizationUrl: local:treemap - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -2314,7 +2314,7 @@ interactions: rotation: auto version: '2' visualizationUrl: local:combo2 - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -2393,7 +2393,7 @@ interactions: direction: asc version: '2' visualizationUrl: local:table - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -2452,7 +2452,7 @@ interactions: stackMeasuresToPercent: true version: '2' visualizationUrl: local:area - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -2509,7 +2509,7 @@ interactions: position: bottom version: '2' visualizationUrl: local:treemap - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -2562,7 +2562,7 @@ interactions: position: bottom version: '2' visualizationUrl: local:donut - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -2637,7 +2637,7 @@ interactions: visible: false version: '2' visualizationUrl: local:column - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -2694,7 +2694,7 @@ interactions: enabled: true version: '2' visualizationUrl: local:scatter - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -2793,7 +2793,7 @@ interactions: direction: asc version: '2' visualizationUrl: local:table - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -2849,7 +2849,7 @@ interactions: position: bottom version: '2' visualizationUrl: local:line - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -2888,7 +2888,7 @@ interactions: properties: {} version: '2' visualizationUrl: local:bar - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -2944,7 +2944,7 @@ interactions: min: '0' version: '2' visualizationUrl: local:scatter - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -3012,7 +3012,7 @@ interactions: rotation: auto version: '2' visualizationUrl: local:combo2 - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -3069,7 +3069,7 @@ interactions: position: bottom version: '2' visualizationUrl: local:bar - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -3126,7 +3126,7 @@ interactions: position: bottom version: '2' visualizationUrl: local:bar - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user diff --git a/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog.yaml b/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog.yaml index 71f2b81c6..687fdedca 100644 --- a/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog.yaml +++ b/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog.yaml @@ -28,7 +28,7 @@ interactions: Connection: - keep-alive Content-Length: - - '27096' + - '27121' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -876,38 +876,41 @@ interactions: grain: - id: order_line_id type: attribute - order: 0 referenceProperties: - identifier: - id: customers + id: date type: dataset multivalue: false + sources: null sourceColumns: - - customer_id + - date sourceColumnDataTypes: - - INT + - DATE - identifier: - id: products + id: customers type: dataset multivalue: false + sources: null sourceColumns: - - product_id + - customer_id sourceColumnDataTypes: - INT - identifier: - id: date + id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - - date + - campaign_id sourceColumnDataTypes: - - DATE + - INT - identifier: - id: campaigns + id: products type: dataset multivalue: false + sources: null sourceColumns: - - campaign_id + - product_id sourceColumnDataTypes: - INT dataSourceTableId: demo-test-ds:order_lines @@ -915,10 +918,10 @@ interactions: - demo - order_lines workspaceDataFilterColumns: - - name: wdf__region - dataType: STRING - name: wdf__state dataType: STRING + - name: wdf__region + dataType: STRING workspaceDataFilterReferences: - filterId: id: wdf__region @@ -967,12 +970,12 @@ interactions: grain: - id: campaign_channel_id type: attribute - order: 0 referenceProperties: - identifier: id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - campaign_id sourceColumnDataTypes: @@ -1062,7 +1065,6 @@ interactions: grain: - id: campaign_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:campaigns dataSourceTablePath: - demo @@ -1119,7 +1121,6 @@ interactions: grain: - id: customer_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:customers dataSourceTablePath: - demo @@ -1245,7 +1246,6 @@ interactions: grain: - id: product_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:products dataSourceTablePath: - demo @@ -1378,7 +1378,7 @@ interactions: Connection: - keep-alive Content-Length: - - '14874' + - '14899' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -1435,12 +1435,12 @@ interactions: grain: - id: campaign_channel_id type: attribute - order: 0 referenceProperties: - identifier: id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - campaign_id sourceColumnDataTypes: @@ -1482,7 +1482,6 @@ interactions: grain: - id: campaign_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:campaigns dataSourceTablePath: - demo @@ -1512,7 +1511,6 @@ interactions: grain: - id: customer_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:customers dataSourceTablePath: - demo @@ -1522,13 +1520,13 @@ interactions: relationships: attributes: data: - - id: state + - id: customer_id type: attribute - - id: region + - id: state type: attribute - id: customer_name type: attribute - - id: customer_id + - id: region type: attribute links: self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers @@ -1546,77 +1544,80 @@ interactions: grain: - id: order_line_id type: attribute - order: 0 referenceProperties: - identifier: - id: customers + id: date type: dataset multivalue: false + sources: null sourceColumns: - - customer_id + - date sourceColumnDataTypes: - - INT + - DATE - identifier: - id: products + id: customers type: dataset multivalue: false + sources: null sourceColumns: - - product_id + - customer_id sourceColumnDataTypes: - INT - identifier: id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - campaign_id sourceColumnDataTypes: - INT - identifier: - id: date + id: products type: dataset multivalue: false + sources: null sourceColumns: - - date + - product_id sourceColumnDataTypes: - - DATE + - INT dataSourceTableId: demo-test-ds:order_lines dataSourceTablePath: - demo - order_lines areRelationsValid: true workspaceDataFilterColumns: - - name: wdf__region - dataType: STRING - name: wdf__state dataType: STRING + - name: wdf__region + dataType: STRING workspaceDataFilterReferences: - filterId: - id: wdf__state + id: wdf__region type: workspaceDataFilter - filterColumn: wdf__state + filterColumn: wdf__region filterColumnDataType: STRING - filterId: - id: wdf__region + id: wdf__state type: workspaceDataFilter - filterColumn: wdf__region + filterColumn: wdf__state filterColumnDataType: STRING type: NORMAL relationships: attributes: data: - - id: order_line_id - type: attribute - id: order_id type: attribute + - id: order_line_id + type: attribute - id: order_status type: attribute facts: data: - - id: quantity - type: fact - id: price type: fact + - id: quantity + type: fact links: self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/order_lines meta: @@ -1633,7 +1634,6 @@ interactions: grain: - id: product_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:products dataSourceTablePath: - demo @@ -1643,10 +1643,10 @@ interactions: relationships: attributes: data: - - id: product_id - type: attribute - id: products.category type: attribute + - id: product_id + type: attribute - id: product_name type: attribute links: @@ -1667,36 +1667,36 @@ interactions: relationships: attributes: data: - - id: date.day - type: attribute - - id: date.week + - id: date.quarter type: attribute - - id: date.hour + - id: date.minute type: attribute - - id: date.month + - id: date.hourOfDay type: attribute - id: date.minuteOfHour type: attribute - id: date.dayOfYear type: attribute - - id: date.hourOfDay - type: attribute - id: date.monthOfYear type: attribute - - id: date.dayOfWeek - type: attribute - - id: date.quarterOfYear - type: attribute - - id: date.quarter - type: attribute - id: date.weekOfYear type: attribute + - id: date.week + type: attribute - id: date.year type: attribute - - id: date.minute + - id: date.dayOfWeek + type: attribute + - id: date.hour type: attribute - id: date.dayOfMonth type: attribute + - id: date.month + type: attribute + - id: date.quarterOfYear + type: attribute + - id: date.day + type: attribute links: self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date meta: @@ -2145,7 +2145,7 @@ interactions: attributes: title: '# of Active Customers' areRelationsValid: true - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 content: format: '#,##0' maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) @@ -2160,7 +2160,7 @@ interactions: attributes: title: '# of Orders' areRelationsValid: true - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 content: format: '#,##0' maql: SELECT COUNT({attribute/order_id}) @@ -2175,7 +2175,7 @@ interactions: attributes: title: '# of Top Customers' areRelationsValid: true - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 content: format: '#,##0' maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT @@ -2192,7 +2192,7 @@ interactions: title: '# of Valid Orders' description: '' areRelationsValid: true - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 content: format: '#,##0.00' maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} @@ -2208,7 +2208,7 @@ interactions: attributes: title: Campaign Spend areRelationsValid: true - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 content: format: $#,##0 maql: SELECT SUM({fact/spend}) @@ -2223,7 +2223,7 @@ interactions: attributes: title: Order Amount areRelationsValid: true - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 content: format: $#,##0 maql: SELECT SUM({fact/price}*{fact/quantity}) @@ -2238,7 +2238,7 @@ interactions: attributes: title: '% Revenue' areRelationsValid: true - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / {metric/total_revenue} @@ -2253,7 +2253,7 @@ interactions: attributes: title: '% Revenue from Top 10 Customers' areRelationsValid: true - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ @@ -2269,7 +2269,7 @@ interactions: attributes: title: '% Revenue from Top 10% Customers' areRelationsValid: true - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ @@ -2285,7 +2285,7 @@ interactions: attributes: title: '% Revenue from Top 10% Products' areRelationsValid: true - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ @@ -2301,7 +2301,7 @@ interactions: attributes: title: '% Revenue from Top 10 Products' areRelationsValid: true - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ @@ -2317,7 +2317,7 @@ interactions: attributes: title: '% Revenue in Category' areRelationsValid: true - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, @@ -2333,7 +2333,7 @@ interactions: attributes: title: '% Revenue per Product' areRelationsValid: true - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL @@ -2350,7 +2350,7 @@ interactions: title: Revenue description: '' areRelationsValid: true - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 content: format: $#,##0 maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} @@ -2366,7 +2366,7 @@ interactions: attributes: title: Revenue (Clothing) areRelationsValid: true - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2382,7 +2382,7 @@ interactions: attributes: title: Revenue (Electronic) areRelationsValid: true - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2398,7 +2398,7 @@ interactions: attributes: title: Revenue (Home) areRelationsValid: true - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2414,7 +2414,7 @@ interactions: attributes: title: Revenue (Outdoor) areRelationsValid: true - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2430,7 +2430,7 @@ interactions: attributes: title: Revenue per Customer areRelationsValid: true - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 content: format: $#,##0.0 maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) @@ -2445,7 +2445,7 @@ interactions: attributes: title: Revenue per Dollar Spent areRelationsValid: true - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 content: format: $#,##0.0 maql: SELECT {metric/revenue} / {metric/campaign_spend} @@ -2460,7 +2460,7 @@ interactions: attributes: title: Revenue / Top 10 areRelationsValid: true - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) @@ -2475,7 +2475,7 @@ interactions: attributes: title: Revenue / Top 10% areRelationsValid: true - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) @@ -2490,7 +2490,7 @@ interactions: attributes: title: Total Revenue areRelationsValid: true - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 content: format: $#,##0 maql: SELECT {metric/revenue} BY ALL OTHER @@ -2505,7 +2505,7 @@ interactions: attributes: title: Total Revenue (No Filters) areRelationsValid: true - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 content: format: $#,##0 maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER diff --git a/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog_availability.yaml b/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog_availability.yaml index 287f5a659..823ed5346 100644 --- a/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog_availability.yaml +++ b/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog_availability.yaml @@ -28,7 +28,7 @@ interactions: Connection: - keep-alive Content-Length: - - '27096' + - '27121' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -876,38 +876,41 @@ interactions: grain: - id: order_line_id type: attribute - order: 0 referenceProperties: - identifier: - id: customers + id: date type: dataset multivalue: false + sources: null sourceColumns: - - customer_id + - date sourceColumnDataTypes: - - INT + - DATE - identifier: - id: products + id: customers type: dataset multivalue: false + sources: null sourceColumns: - - product_id + - customer_id sourceColumnDataTypes: - INT - identifier: - id: date + id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - - date + - campaign_id sourceColumnDataTypes: - - DATE + - INT - identifier: - id: campaigns + id: products type: dataset multivalue: false + sources: null sourceColumns: - - campaign_id + - product_id sourceColumnDataTypes: - INT dataSourceTableId: demo-test-ds:order_lines @@ -915,10 +918,10 @@ interactions: - demo - order_lines workspaceDataFilterColumns: - - name: wdf__region - dataType: STRING - name: wdf__state dataType: STRING + - name: wdf__region + dataType: STRING workspaceDataFilterReferences: - filterId: id: wdf__region @@ -967,12 +970,12 @@ interactions: grain: - id: campaign_channel_id type: attribute - order: 0 referenceProperties: - identifier: id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - campaign_id sourceColumnDataTypes: @@ -1062,7 +1065,6 @@ interactions: grain: - id: campaign_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:campaigns dataSourceTablePath: - demo @@ -1119,7 +1121,6 @@ interactions: grain: - id: customer_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:customers dataSourceTablePath: - demo @@ -1245,7 +1246,6 @@ interactions: grain: - id: product_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:products dataSourceTablePath: - demo @@ -1378,7 +1378,7 @@ interactions: Connection: - keep-alive Content-Length: - - '14874' + - '14899' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -1435,12 +1435,12 @@ interactions: grain: - id: campaign_channel_id type: attribute - order: 0 referenceProperties: - identifier: id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - campaign_id sourceColumnDataTypes: @@ -1482,7 +1482,6 @@ interactions: grain: - id: campaign_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:campaigns dataSourceTablePath: - demo @@ -1512,7 +1511,6 @@ interactions: grain: - id: customer_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:customers dataSourceTablePath: - demo @@ -1522,13 +1520,13 @@ interactions: relationships: attributes: data: - - id: state + - id: customer_id type: attribute - - id: region + - id: state type: attribute - id: customer_name type: attribute - - id: customer_id + - id: region type: attribute links: self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers @@ -1546,77 +1544,80 @@ interactions: grain: - id: order_line_id type: attribute - order: 0 referenceProperties: - identifier: - id: customers + id: date type: dataset multivalue: false + sources: null sourceColumns: - - customer_id + - date sourceColumnDataTypes: - - INT + - DATE - identifier: - id: products + id: customers type: dataset multivalue: false + sources: null sourceColumns: - - product_id + - customer_id sourceColumnDataTypes: - INT - identifier: id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - campaign_id sourceColumnDataTypes: - INT - identifier: - id: date + id: products type: dataset multivalue: false + sources: null sourceColumns: - - date + - product_id sourceColumnDataTypes: - - DATE + - INT dataSourceTableId: demo-test-ds:order_lines dataSourceTablePath: - demo - order_lines areRelationsValid: true workspaceDataFilterColumns: - - name: wdf__region - dataType: STRING - name: wdf__state dataType: STRING + - name: wdf__region + dataType: STRING workspaceDataFilterReferences: - filterId: - id: wdf__state + id: wdf__region type: workspaceDataFilter - filterColumn: wdf__state + filterColumn: wdf__region filterColumnDataType: STRING - filterId: - id: wdf__region + id: wdf__state type: workspaceDataFilter - filterColumn: wdf__region + filterColumn: wdf__state filterColumnDataType: STRING type: NORMAL relationships: attributes: data: - - id: order_line_id - type: attribute - id: order_id type: attribute + - id: order_line_id + type: attribute - id: order_status type: attribute facts: data: - - id: quantity - type: fact - id: price type: fact + - id: quantity + type: fact links: self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/order_lines meta: @@ -1633,7 +1634,6 @@ interactions: grain: - id: product_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:products dataSourceTablePath: - demo @@ -1643,10 +1643,10 @@ interactions: relationships: attributes: data: - - id: product_id - type: attribute - id: products.category type: attribute + - id: product_id + type: attribute - id: product_name type: attribute links: @@ -1667,36 +1667,36 @@ interactions: relationships: attributes: data: - - id: date.day - type: attribute - - id: date.week + - id: date.quarter type: attribute - - id: date.hour + - id: date.minute type: attribute - - id: date.month + - id: date.hourOfDay type: attribute - id: date.minuteOfHour type: attribute - id: date.dayOfYear type: attribute - - id: date.hourOfDay - type: attribute - id: date.monthOfYear type: attribute - - id: date.dayOfWeek - type: attribute - - id: date.quarterOfYear - type: attribute - - id: date.quarter - type: attribute - id: date.weekOfYear type: attribute + - id: date.week + type: attribute - id: date.year type: attribute - - id: date.minute + - id: date.dayOfWeek + type: attribute + - id: date.hour type: attribute - id: date.dayOfMonth type: attribute + - id: date.month + type: attribute + - id: date.quarterOfYear + type: attribute + - id: date.day + type: attribute links: self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date meta: @@ -2145,7 +2145,7 @@ interactions: attributes: title: '# of Active Customers' areRelationsValid: true - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 content: format: '#,##0' maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) @@ -2160,7 +2160,7 @@ interactions: attributes: title: '# of Orders' areRelationsValid: true - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 content: format: '#,##0' maql: SELECT COUNT({attribute/order_id}) @@ -2175,7 +2175,7 @@ interactions: attributes: title: '# of Top Customers' areRelationsValid: true - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 content: format: '#,##0' maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT @@ -2192,7 +2192,7 @@ interactions: title: '# of Valid Orders' description: '' areRelationsValid: true - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 content: format: '#,##0.00' maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} @@ -2208,7 +2208,7 @@ interactions: attributes: title: Campaign Spend areRelationsValid: true - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 content: format: $#,##0 maql: SELECT SUM({fact/spend}) @@ -2223,7 +2223,7 @@ interactions: attributes: title: Order Amount areRelationsValid: true - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 content: format: $#,##0 maql: SELECT SUM({fact/price}*{fact/quantity}) @@ -2238,7 +2238,7 @@ interactions: attributes: title: '% Revenue' areRelationsValid: true - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / {metric/total_revenue} @@ -2253,7 +2253,7 @@ interactions: attributes: title: '% Revenue from Top 10 Customers' areRelationsValid: true - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ @@ -2269,7 +2269,7 @@ interactions: attributes: title: '% Revenue from Top 10% Customers' areRelationsValid: true - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ @@ -2285,7 +2285,7 @@ interactions: attributes: title: '% Revenue from Top 10% Products' areRelationsValid: true - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ @@ -2301,7 +2301,7 @@ interactions: attributes: title: '% Revenue from Top 10 Products' areRelationsValid: true - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ @@ -2317,7 +2317,7 @@ interactions: attributes: title: '% Revenue in Category' areRelationsValid: true - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, @@ -2333,7 +2333,7 @@ interactions: attributes: title: '% Revenue per Product' areRelationsValid: true - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL @@ -2350,7 +2350,7 @@ interactions: title: Revenue description: '' areRelationsValid: true - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 content: format: $#,##0 maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} @@ -2366,7 +2366,7 @@ interactions: attributes: title: Revenue (Clothing) areRelationsValid: true - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2382,7 +2382,7 @@ interactions: attributes: title: Revenue (Electronic) areRelationsValid: true - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2398,7 +2398,7 @@ interactions: attributes: title: Revenue (Home) areRelationsValid: true - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2414,7 +2414,7 @@ interactions: attributes: title: Revenue (Outdoor) areRelationsValid: true - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2430,7 +2430,7 @@ interactions: attributes: title: Revenue per Customer areRelationsValid: true - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 content: format: $#,##0.0 maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) @@ -2445,7 +2445,7 @@ interactions: attributes: title: Revenue per Dollar Spent areRelationsValid: true - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 content: format: $#,##0.0 maql: SELECT {metric/revenue} / {metric/campaign_spend} @@ -2460,7 +2460,7 @@ interactions: attributes: title: Revenue / Top 10 areRelationsValid: true - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) @@ -2475,7 +2475,7 @@ interactions: attributes: title: Revenue / Top 10% areRelationsValid: true - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) @@ -2490,7 +2490,7 @@ interactions: attributes: title: Total Revenue areRelationsValid: true - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 content: format: $#,##0 maql: SELECT {metric/revenue} BY ALL OTHER @@ -2505,7 +2505,7 @@ interactions: attributes: title: Total Revenue (No Filters) areRelationsValid: true - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 content: format: $#,##0 maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER diff --git a/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog_list_metrics.yaml b/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog_list_metrics.yaml index 109dbe9fb..c1e7516b6 100644 --- a/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog_list_metrics.yaml +++ b/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog_list_metrics.yaml @@ -81,7 +81,7 @@ interactions: attributes: title: '# of Active Customers' areRelationsValid: true - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 content: format: '#,##0' maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) @@ -96,7 +96,7 @@ interactions: attributes: title: '# of Orders' areRelationsValid: true - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 content: format: '#,##0' maql: SELECT COUNT({attribute/order_id}) @@ -111,7 +111,7 @@ interactions: attributes: title: '# of Top Customers' areRelationsValid: true - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 content: format: '#,##0' maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT @@ -128,7 +128,7 @@ interactions: title: '# of Valid Orders' description: '' areRelationsValid: true - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 content: format: '#,##0.00' maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} @@ -144,7 +144,7 @@ interactions: attributes: title: Campaign Spend areRelationsValid: true - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 content: format: $#,##0 maql: SELECT SUM({fact/spend}) @@ -159,7 +159,7 @@ interactions: attributes: title: Order Amount areRelationsValid: true - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 content: format: $#,##0 maql: SELECT SUM({fact/price}*{fact/quantity}) @@ -174,7 +174,7 @@ interactions: attributes: title: '% Revenue' areRelationsValid: true - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / {metric/total_revenue} @@ -189,7 +189,7 @@ interactions: attributes: title: '% Revenue from Top 10 Customers' areRelationsValid: true - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ @@ -205,7 +205,7 @@ interactions: attributes: title: '% Revenue from Top 10% Customers' areRelationsValid: true - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ @@ -221,7 +221,7 @@ interactions: attributes: title: '% Revenue from Top 10% Products' areRelationsValid: true - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ @@ -237,7 +237,7 @@ interactions: attributes: title: '% Revenue from Top 10 Products' areRelationsValid: true - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ @@ -253,7 +253,7 @@ interactions: attributes: title: '% Revenue in Category' areRelationsValid: true - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, @@ -269,7 +269,7 @@ interactions: attributes: title: '% Revenue per Product' areRelationsValid: true - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL @@ -286,7 +286,7 @@ interactions: title: Revenue description: '' areRelationsValid: true - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 content: format: $#,##0 maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} @@ -302,7 +302,7 @@ interactions: attributes: title: Revenue (Clothing) areRelationsValid: true - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -318,7 +318,7 @@ interactions: attributes: title: Revenue (Electronic) areRelationsValid: true - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -334,7 +334,7 @@ interactions: attributes: title: Revenue (Home) areRelationsValid: true - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -350,7 +350,7 @@ interactions: attributes: title: Revenue (Outdoor) areRelationsValid: true - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -366,7 +366,7 @@ interactions: attributes: title: Revenue per Customer areRelationsValid: true - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 content: format: $#,##0.0 maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) @@ -381,7 +381,7 @@ interactions: attributes: title: Revenue per Dollar Spent areRelationsValid: true - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 content: format: $#,##0.0 maql: SELECT {metric/revenue} / {metric/campaign_spend} @@ -396,7 +396,7 @@ interactions: attributes: title: Revenue / Top 10 areRelationsValid: true - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) @@ -411,7 +411,7 @@ interactions: attributes: title: Revenue / Top 10% areRelationsValid: true - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) @@ -426,7 +426,7 @@ interactions: attributes: title: Total Revenue areRelationsValid: true - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 content: format: $#,##0 maql: SELECT {metric/revenue} BY ALL OTHER @@ -441,7 +441,7 @@ interactions: attributes: title: Total Revenue (No Filters) areRelationsValid: true - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 content: format: $#,##0 maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER diff --git a/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_get_declarative_analytics_model.yaml b/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_get_declarative_analytics_model.yaml index 6c35812a5..e1e691914 100644 --- a/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_get_declarative_analytics_model.yaml +++ b/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_get_declarative_analytics_model.yaml @@ -74,7 +74,7 @@ interactions: X-XSS-Protection: - 1 ; mode=block content-length: - - '27629' + - '27705' body: string: analytics: @@ -129,6 +129,10 @@ interactions: version: '2' description: '' id: campaign + permissions: + - assigneeRule: + type: allWorkspaceUsers + name: VIEW title: Campaign - content: filterContextRef: diff --git a/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_get_declarative_analytics_model_child.yaml b/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_get_declarative_analytics_model_child.yaml new file mode 100644 index 000000000..9613eb071 --- /dev/null +++ b/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_get_declarative_analytics_model_child.yaml @@ -0,0 +1,91 @@ +# (C) 2023 GoodData Corporation +version: 1 +interactions: + - request: + method: GET + uri: http://localhost:3000/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: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com + src.litix.io matomo.anywhere.gooddata.com *.jquery.com unpkg.com cdn.jsdelivr.net + cdnjs.cloudflare.com; img-src ''self'' data: blob: *.wistia.com *.wistia.net + *.hsforms.net *.hsforms.com embedwistia-a.akamaihd.net privacy-policy.truste.com + www.gooddata.com; style-src ''self'' ''unsafe-inline'' fonts.googleapis.com + cdn.jsdelivr.net fast.fonts.net; font-src ''self'' data: fonts.gstatic.com + *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src + ''self'' *.hsforms.net *.hsforms.com; object-src ''none''; worker-src + ''self'' blob:; child-src blob:; connect-src ''self'' *.tiles.mapbox.com + *.mapbox.com *.litix.io *.wistia.com *.hsforms.net *.hsforms.com embedwistia-a.akamaihd.net + matomo.anywhere.gooddata.com; media-src ''self'' blob: data: *.wistia.com + *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + DATE: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + content-length: + - '250' + body: + string: + analytics: + analyticalDashboardExtensions: + - id: campaign + permissions: + - assigneeRule: + type: allWorkspaceUsers + name: VIEW + analyticalDashboards: [] + dashboardPlugins: [] + filterContexts: [] + metrics: [] + visualizationObjects: [] diff --git a/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_get_dependent_entities_graph.yaml b/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_get_dependent_entities_graph.yaml index 55943c270..3716fec4d 100644 --- a/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_get_dependent_entities_graph.yaml +++ b/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_get_dependent_entities_graph.yaml @@ -97,27 +97,27 @@ interactions: type: dataset - - id: customer_id type: attribute - - id: amount_of_top_customers - type: metric + - id: customers + type: dataset - - id: customer_id type: attribute - - id: amount_of_active_customers + - id: percent_revenue_from_top_10_percent_customers type: metric - - id: customer_id type: attribute - - id: percent_revenue_from_top_10_percent_customers + - id: percent_revenue_from_top_10_customers type: metric - - id: customer_id type: attribute - - id: customers - type: dataset + - id: amount_of_top_customers + type: metric - - id: customer_id type: attribute - id: revenue_per_customer type: metric - - id: customer_id type: attribute - - id: percent_revenue_from_top_10_customers + - id: amount_of_active_customers type: metric - - id: customer_name type: attribute @@ -179,14 +179,14 @@ interactions: type: attribute - id: date type: dataset - - - id: date.year - type: attribute - - id: product_revenue_comparison-over_previous_period - type: visualizationObject - - id: date.year type: attribute - id: date type: dataset + - - id: date.year + type: attribute + - id: product_revenue_comparison-over_previous_period + type: visualizationObject - - id: order_id type: attribute - id: order_lines @@ -207,21 +207,21 @@ interactions: type: attribute - id: order_lines type: dataset - - - id: product_id - type: attribute - - id: products - type: dataset - - id: product_id type: attribute - id: percent_revenue_per_product type: metric - - id: product_id type: attribute - - id: percent_revenue_from_top_10_percent_products + - id: percent_revenue_from_top_10_products type: metric - - id: product_id type: attribute - - id: percent_revenue_from_top_10_products + - id: products + type: dataset + - - id: product_id + type: attribute + - id: percent_revenue_from_top_10_percent_products type: metric - - id: product_name type: attribute @@ -253,16 +253,20 @@ interactions: type: analyticalDashboard - - id: campaigns type: dataset - - id: order_lines + - id: campaign_channels type: dataset - - id: campaigns type: dataset - - id: campaign_channels + - id: order_lines type: dataset - - id: customers type: dataset - id: order_lines type: dataset + - - id: date + type: dataset + - id: customers_trend + type: visualizationObject - - id: date type: dataset - id: revenue_by_category_trend @@ -275,10 +279,6 @@ interactions: type: dataset - id: product_and_category type: analyticalDashboard - - - id: date - type: dataset - - id: revenue_trend - type: visualizationObject - - id: date type: dataset - id: product_revenue_comparison-over_previous_period @@ -289,7 +289,7 @@ interactions: type: dataset - - id: date type: dataset - - id: customers_trend + - id: revenue_trend type: visualizationObject - - id: products type: dataset @@ -299,6 +299,10 @@ interactions: type: fact - id: campaign_channels type: dataset + - - id: price + type: fact + - id: revenue_and_quantity_by_product_and_category + type: visualizationObject - - id: price type: fact - id: order_lines @@ -307,7 +311,7 @@ interactions: type: fact - id: order_amount type: metric - - - id: price + - - id: quantity type: fact - id: revenue_and_quantity_by_product_and_category type: visualizationObject @@ -319,18 +323,14 @@ interactions: type: fact - id: order_amount type: metric - - - id: quantity + - - id: spend type: fact - - id: revenue_and_quantity_by_product_and_category - type: visualizationObject + - id: campaign_channels + type: dataset - - 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 @@ -349,19 +349,19 @@ interactions: type: attribute - - id: campaign_name type: label - - id: campaign_name_filter - type: filterContext + - id: campaign_spend + type: visualizationObject - - id: campaign_name type: label - - id: revenue_per_usd_vs_spend_by_campaign - type: visualizationObject + - id: campaign_name_filter + type: filterContext - - id: campaign_name type: label - id: campaign_name type: attribute - - id: campaign_name type: label - - id: campaign_spend + - id: revenue_per_usd_vs_spend_by_campaign type: visualizationObject - - id: customer_id type: label @@ -373,11 +373,11 @@ interactions: type: attribute - - id: customer_name type: label - - id: percent_revenue_per_product_by_customer_and_category + - id: revenue_and_quantity_by_product_and_category type: visualizationObject - - id: customer_name type: label - - id: revenue_and_quantity_by_product_and_category + - id: percent_revenue_per_product_by_customer_and_category type: visualizationObject - - id: customer_name type: label @@ -417,15 +417,11 @@ interactions: type: attribute - - id: date.month type: label - - id: revenue_by_category_trend - type: visualizationObject - - - id: date.month - type: label - - id: percentage_of_customers_by_region + - id: customers_trend type: visualizationObject - - id: date.month type: label - - id: revenue_trend + - id: revenue_by_category_trend type: visualizationObject - - id: date.month type: label @@ -433,7 +429,11 @@ interactions: type: attribute - - id: date.month type: label - - id: customers_trend + - id: percentage_of_customers_by_region + type: visualizationObject + - - id: date.month + type: label + - id: revenue_trend type: visualizationObject - - id: date.monthOfYear type: label @@ -473,11 +473,11 @@ interactions: type: attribute - - id: order_status type: label - - id: revenue + - id: amount_of_valid_orders type: metric - - id: order_status type: label - - id: amount_of_valid_orders + - id: revenue type: metric - - id: order_status type: label @@ -487,17 +487,13 @@ interactions: type: label - id: product_id type: attribute - - - id: product_name - type: label - - id: top_10_products - type: visualizationObject - - id: product_name type: label - id: product_breakdown type: visualizationObject - - id: product_name type: label - - id: product_revenue_comparison-over_previous_period + - id: top_10_products type: visualizationObject - - id: product_name type: label @@ -505,60 +501,52 @@ interactions: type: attribute - - id: product_name type: label - - id: product_saleability + - id: product_revenue_comparison-over_previous_period type: visualizationObject - - id: product_name type: label - - id: percent_revenue_per_product_by_customer_and_category + - id: revenue_and_quantity_by_product_and_category type: visualizationObject - - id: product_name type: label - - id: product_categories_pie_chart + - id: product_saleability type: visualizationObject - - id: product_name type: label - - id: revenue_and_quantity_by_product_and_category + - id: product_categories_pie_chart type: visualizationObject - - id: product_name type: label - id: revenue_by_product type: visualizationObject - - - id: products.category + - - id: product_name type: label - - id: revenue_by_category_trend + - id: percent_revenue_per_product_by_customer_and_category type: visualizationObject - - id: products.category type: label - - id: top_10_products - type: visualizationObject + - id: revenue-clothing + type: metric - - id: products.category type: label - id: product_breakdown type: visualizationObject - - id: products.category type: label - - id: product_revenue_comparison-over_previous_period + - id: revenue_by_category_trend type: visualizationObject - - id: products.category type: label - - id: revenue-clothing - type: metric + - id: top_10_products + type: visualizationObject - - id: products.category type: label - - id: revenue-home - type: metric + - id: product_revenue_comparison-over_previous_period + type: visualizationObject - - 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: product_categories_pie_chart - type: visualizationObject - - id: products.category type: label - id: revenue-electronic @@ -567,10 +555,22 @@ interactions: type: label - id: revenue-outdoor type: metric + - - id: products.category + type: label + - id: revenue-home + type: metric - - 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: percent_revenue_per_product_by_customer_and_category + type: visualizationObject - - id: region type: label - id: region @@ -601,16 +601,20 @@ interactions: type: visualizationObject - - id: amount_of_active_customers type: metric - - id: amount_of_top_customers - type: metric + - id: customers_trend + type: visualizationObject - - id: amount_of_active_customers type: metric - id: percentage_of_customers_by_region type: visualizationObject - - id: amount_of_active_customers type: metric - - id: customers_trend - type: visualizationObject + - id: amount_of_top_customers + type: metric + - - id: amount_of_orders + type: metric + - id: amount_of_valid_orders + type: metric - - id: amount_of_orders type: metric - id: product_saleability @@ -619,10 +623,10 @@ interactions: type: metric - id: revenue_trend type: visualizationObject - - - id: amount_of_orders - type: metric - - id: amount_of_valid_orders + - - id: campaign_spend type: metric + - id: campaign_spend + type: visualizationObject - - id: campaign_spend type: metric - id: revenue_per_dollar_spent @@ -631,10 +635,6 @@ interactions: type: metric - id: revenue_per_usd_vs_spend_by_campaign type: visualizationObject - - - id: campaign_spend - type: metric - - id: campaign_spend - type: visualizationObject - - id: order_amount type: metric - id: revenue @@ -649,107 +649,107 @@ interactions: type: visualizationObject - - id: revenue type: metric - - id: revenue_by_category_trend - type: visualizationObject + - id: revenue-clothing + type: metric + - - id: revenue + type: metric + - id: percent_revenue_in_category + type: metric - - id: revenue type: metric - id: product_breakdown type: visualizationObject - - id: revenue type: metric - - id: revenue_top_10 - type: metric + - id: revenue_by_category_trend + type: visualizationObject - - id: revenue type: metric - - id: revenue-clothing + - id: revenue_per_customer type: metric - - id: revenue type: metric - - id: percent_revenue_from_top_10_customers + - id: percent_revenue_per_product type: metric - - id: revenue type: metric - - id: product_saleability + - id: revenue_and_quantity_by_product_and_category type: visualizationObject - - id: revenue type: metric - - id: revenue-home + - id: percent_revenue_from_top_10_percent_customers type: metric - - id: revenue type: metric - - id: revenue_per_dollar_spent + - id: total_revenue type: metric - - id: revenue type: metric - - id: amount_of_top_customers + - id: percent_revenue type: metric - - id: revenue type: metric - - id: percent_revenue_per_product_by_customer_and_category + - id: product_revenue_comparison-over_previous_period type: visualizationObject - - id: revenue type: metric - - id: product_categories_pie_chart - type: visualizationObject - - - id: revenue + - id: amount_of_top_customers type: metric - - id: revenue_trend - type: visualizationObject - - id: revenue type: metric - - id: percent_revenue_from_top_10_products + - id: percent_revenue_from_top_10_percent_products type: metric - - id: revenue type: metric - - id: percent_revenue_in_category + - id: revenue-electronic type: metric - - id: revenue type: metric - - id: revenue_by_product - type: visualizationObject - - - id: revenue - type: metric - - id: total_revenue + - id: revenue-outdoor type: metric - - id: revenue type: metric - - id: percent_revenue + - id: revenue_top_10_percent type: metric - - id: revenue type: metric - - id: percent_revenue_from_top_10_percent_customers + - id: revenue-home type: metric - - id: revenue type: metric - - id: product_revenue_comparison-over_previous_period + - id: product_saleability type: visualizationObject - - id: revenue type: metric - - id: percent_revenue_per_product - type: metric + - id: product_categories_pie_chart + type: visualizationObject - - id: revenue type: metric - - id: percent_revenue_from_top_10_percent_products + - id: percent_revenue_from_top_10_products type: metric - - id: revenue type: metric - - id: revenue_top_10_percent + - id: percent_revenue_from_top_10_customers type: metric - - id: revenue type: metric - - id: revenue-electronic + - id: revenue_top_10 type: metric - - id: revenue type: metric - - id: revenue-outdoor + - id: revenue_by_product + type: visualizationObject + - - id: revenue type: metric + - id: revenue_trend + type: visualizationObject - - id: revenue type: metric - - id: revenue_per_customer + - id: revenue_per_dollar_spent type: metric - - id: revenue type: metric - - id: revenue_and_quantity_by_product_and_category + - id: percent_revenue_per_product_by_customer_and_category type: visualizationObject - - id: revenue_per_customer type: metric @@ -785,11 +785,11 @@ interactions: type: metric - - id: total_revenue type: metric - - id: percent_revenue + - id: total_revenue-no_filters type: metric - - id: total_revenue type: metric - - id: total_revenue-no_filters + - id: percent_revenue type: metric - - id: campaign_spend type: visualizationObject @@ -833,11 +833,11 @@ interactions: type: analyticalDashboard - - id: campaign_name_filter type: filterContext - - id: dashboard_plugin + - id: campaign type: analyticalDashboard - - id: campaign_name_filter type: filterContext - - id: campaign + - id: dashboard_plugin type: analyticalDashboard - - id: region_filter type: filterContext diff --git a/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_load_and_modify_ds_and_put_declarative_ldm.yaml b/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_load_and_modify_ds_and_put_declarative_ldm.yaml index 6fc5fbb00..0a8b78c38 100644 --- a/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_load_and_modify_ds_and_put_declarative_ldm.yaml +++ b/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_load_and_modify_ds_and_put_declarative_ldm.yaml @@ -79,7 +79,7 @@ interactions: to access it. status: 404 title: Not Found - traceId: 27eadc07672de4c4 + traceId: 48acf9f857dc4c11 - request: method: POST uri: http://localhost:3000/api/v1/entities/workspaces @@ -645,8 +645,8 @@ interactions: url: jdbc:postgresql://localhost:5432/demo username: demouser enableCaching: false - type: POSTGRESQL name: demo-test-ds + type: POSTGRESQL schema: demo links: self: http://localhost:3000/api/v1/entities/dataSources/demo-test-ds @@ -1119,8 +1119,8 @@ interactions: url: jdbc:postgresql://localhost:5432/demo username: demouser enableCaching: false - type: POSTGRESQL name: demo-test-ds + type: POSTGRESQL schema: demo links: self: http://localhost:3000/api/v1/entities/dataSources/demo-test-ds diff --git a/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_load_and_put_declarative_analytics_model.yaml b/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_load_and_put_declarative_analytics_model.yaml index cd197c9fe..eb3061dc8 100644 --- a/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_load_and_put_declarative_analytics_model.yaml +++ b/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_load_and_put_declarative_analytics_model.yaml @@ -79,7 +79,7 @@ interactions: to access it. status: 404 title: Not Found - traceId: cc807e736c32c633 + traceId: 6ad8ab1da1321047 - request: method: POST uri: http://localhost:3000/api/v1/entities/workspaces @@ -2436,7 +2436,7 @@ interactions: Connection: - keep-alive Content-Length: - - '255' + - '275' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -2488,7 +2488,8 @@ interactions: attributes: name: Default Organization hostname: localhost - oauthClientId: f0ec3cf7-fc0f-4915-837b-e77af36ece4a + allowedOrigins: [] + oauthClientId: a7ab866a-75fd-41b8-8d28-8b5ffc3bd1ac links: self: http://localhost:3000/api/v1/entities/admin/organizations/default - request: diff --git a/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_load_and_put_declarative_ldm.yaml b/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_load_and_put_declarative_ldm.yaml index 0b5b0a99b..05e1127fe 100644 --- a/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_load_and_put_declarative_ldm.yaml +++ b/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_load_and_put_declarative_ldm.yaml @@ -79,7 +79,7 @@ interactions: to access it. status: 404 title: Not Found - traceId: 287ef81f06dd1a21 + traceId: e4b1dd9968b038d3 - request: method: POST uri: http://localhost:3000/api/v1/entities/workspaces @@ -661,7 +661,7 @@ interactions: Connection: - keep-alive Content-Length: - - '255' + - '275' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -713,7 +713,8 @@ interactions: attributes: name: Default Organization hostname: localhost - oauthClientId: f0ec3cf7-fc0f-4915-837b-e77af36ece4a + allowedOrigins: [] + oauthClientId: a7ab866a-75fd-41b8-8d28-8b5ffc3bd1ac links: self: http://localhost:3000/api/v1/entities/admin/organizations/default - request: diff --git a/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_put_declarative_analytics_model.yaml b/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_put_declarative_analytics_model.yaml index 6e890169d..51ec33dbc 100644 --- a/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_put_declarative_analytics_model.yaml +++ b/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_put_declarative_analytics_model.yaml @@ -79,7 +79,7 @@ interactions: to access it. status: 404 title: Not Found - traceId: 7d2c335faaaeea4f + traceId: edf8d3401c0d88b6 - request: method: POST uri: http://localhost:3000/api/v1/entities/workspaces diff --git a/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_put_declarative_ldm.yaml b/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_put_declarative_ldm.yaml index 235af0906..442b388e8 100644 --- a/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_put_declarative_ldm.yaml +++ b/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_put_declarative_ldm.yaml @@ -79,7 +79,7 @@ interactions: to access it. status: 404 title: Not Found - traceId: 57d5a5efd0107dcf + traceId: a38af9f2e3b1b3d2 - request: method: POST uri: http://localhost:3000/api/v1/entities/workspaces diff --git a/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_store_declarative_analytics_model.yaml b/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_store_declarative_analytics_model.yaml index 42f430c6a..603e6b26f 100644 --- a/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_store_declarative_analytics_model.yaml +++ b/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_store_declarative_analytics_model.yaml @@ -127,7 +127,7 @@ interactions: drills: [] properties: {} version: '2' - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -166,7 +166,7 @@ interactions: type: dashboardPlugin version: '2' version: '2' - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -316,7 +316,7 @@ interactions: drills: [] properties: {} version: '2' - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -327,7 +327,7 @@ interactions: - content: url: https://www.example.com version: '2' - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -337,7 +337,7 @@ interactions: - content: url: https://www.example.com version: '2' - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -386,7 +386,7 @@ interactions: - content: format: '#,##0' maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -395,7 +395,7 @@ interactions: - content: format: '#,##0' maql: SELECT COUNT({attribute/order_id}) - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -405,7 +405,7 @@ interactions: format: '#,##0' maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT {metric/revenue} BY {attribute/customer_id}) > 10000 ' - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -415,7 +415,7 @@ interactions: format: '#,##0.00' maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} IN ("Returned", "Canceled")) - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -425,7 +425,7 @@ interactions: - content: format: $#,##0 maql: SELECT SUM({fact/spend}) - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -434,7 +434,7 @@ interactions: - content: format: $#,##0 maql: SELECT SUM({fact/price}*{fact/quantity}) - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -443,7 +443,7 @@ interactions: - content: format: '#,##0.0%' maql: SELECT {metric/revenue} / {metric/total_revenue} - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -453,7 +453,7 @@ interactions: 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: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -463,7 +463,7 @@ interactions: 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: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -473,7 +473,7 @@ interactions: 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: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -483,7 +483,7 @@ interactions: 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: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -493,7 +493,7 @@ interactions: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, ALL OTHER) - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -503,7 +503,7 @@ interactions: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL {attribute/product_id}) - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -513,7 +513,7 @@ interactions: format: $#,##0 maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} IN ("Returned", "Canceled")) - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -524,7 +524,7 @@ interactions: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Clothing") - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -534,7 +534,7 @@ interactions: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ( "Electronics") - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -544,7 +544,7 @@ interactions: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Home") - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -554,7 +554,7 @@ interactions: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Outdoor") - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -563,7 +563,7 @@ interactions: - content: format: $#,##0.0 maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -572,7 +572,7 @@ interactions: - content: format: $#,##0.0 maql: SELECT {metric/revenue} / {metric/campaign_spend} - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -581,7 +581,7 @@ interactions: - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -590,7 +590,7 @@ interactions: - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -599,7 +599,7 @@ interactions: - content: format: $#,##0 maql: SELECT {metric/revenue} BY ALL OTHER - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -608,7 +608,7 @@ interactions: - content: format: $#,##0 maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -673,7 +673,7 @@ interactions: position: bottom version: '2' visualizationUrl: local:treemap - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -749,7 +749,7 @@ interactions: rotation: auto version: '2' visualizationUrl: local:combo2 - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -828,7 +828,7 @@ interactions: direction: asc version: '2' visualizationUrl: local:table - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -887,7 +887,7 @@ interactions: stackMeasuresToPercent: true version: '2' visualizationUrl: local:area - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -944,7 +944,7 @@ interactions: position: bottom version: '2' visualizationUrl: local:treemap - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -997,7 +997,7 @@ interactions: position: bottom version: '2' visualizationUrl: local:donut - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -1072,7 +1072,7 @@ interactions: visible: false version: '2' visualizationUrl: local:column - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -1129,7 +1129,7 @@ interactions: enabled: true version: '2' visualizationUrl: local:scatter - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -1228,7 +1228,7 @@ interactions: direction: asc version: '2' visualizationUrl: local:table - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -1284,7 +1284,7 @@ interactions: position: bottom version: '2' visualizationUrl: local:line - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -1323,7 +1323,7 @@ interactions: properties: {} version: '2' visualizationUrl: local:bar - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -1379,7 +1379,7 @@ interactions: min: '0' version: '2' visualizationUrl: local:scatter - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -1447,7 +1447,7 @@ interactions: rotation: auto version: '2' visualizationUrl: local:combo2 - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -1504,7 +1504,7 @@ interactions: position: bottom version: '2' visualizationUrl: local:bar - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -1561,7 +1561,7 @@ interactions: position: bottom version: '2' visualizationUrl: local:bar - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -1663,7 +1663,7 @@ interactions: Connection: - keep-alive Content-Length: - - '255' + - '275' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -1715,7 +1715,8 @@ interactions: attributes: name: Default Organization hostname: localhost - oauthClientId: f0ec3cf7-fc0f-4915-837b-e77af36ece4a + allowedOrigins: [] + oauthClientId: a7ab866a-75fd-41b8-8d28-8b5ffc3bd1ac links: self: http://localhost:3000/api/v1/entities/admin/organizations/default - request: @@ -1843,7 +1844,7 @@ interactions: drills: [] properties: {} version: '2' - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -1882,7 +1883,7 @@ interactions: type: dashboardPlugin version: '2' version: '2' - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -2032,7 +2033,7 @@ interactions: drills: [] properties: {} version: '2' - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -2043,7 +2044,7 @@ interactions: - content: url: https://www.example.com version: '2' - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -2053,7 +2054,7 @@ interactions: - content: url: https://www.example.com version: '2' - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -2102,7 +2103,7 @@ interactions: - content: format: '#,##0' maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -2111,7 +2112,7 @@ interactions: - content: format: '#,##0' maql: SELECT COUNT({attribute/order_id}) - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -2121,7 +2122,7 @@ interactions: format: '#,##0' maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT {metric/revenue} BY {attribute/customer_id}) > 10000 ' - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -2131,7 +2132,7 @@ interactions: format: '#,##0.00' maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} IN ("Returned", "Canceled")) - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -2141,7 +2142,7 @@ interactions: - content: format: $#,##0 maql: SELECT SUM({fact/spend}) - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -2150,7 +2151,7 @@ interactions: - content: format: $#,##0 maql: SELECT SUM({fact/price}*{fact/quantity}) - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -2159,7 +2160,7 @@ interactions: - content: format: '#,##0.0%' maql: SELECT {metric/revenue} / {metric/total_revenue} - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -2169,7 +2170,7 @@ interactions: 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: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -2179,7 +2180,7 @@ interactions: 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: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -2189,7 +2190,7 @@ interactions: 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: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -2199,7 +2200,7 @@ interactions: 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: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -2209,7 +2210,7 @@ interactions: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, ALL OTHER) - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -2219,7 +2220,7 @@ interactions: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL {attribute/product_id}) - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -2229,7 +2230,7 @@ interactions: format: $#,##0 maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} IN ("Returned", "Canceled")) - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -2240,7 +2241,7 @@ interactions: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Clothing") - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -2250,7 +2251,7 @@ interactions: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ( "Electronics") - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -2260,7 +2261,7 @@ interactions: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Home") - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -2270,7 +2271,7 @@ interactions: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Outdoor") - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -2279,7 +2280,7 @@ interactions: - content: format: $#,##0.0 maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -2288,7 +2289,7 @@ interactions: - content: format: $#,##0.0 maql: SELECT {metric/revenue} / {metric/campaign_spend} - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -2297,7 +2298,7 @@ interactions: - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -2306,7 +2307,7 @@ interactions: - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -2315,7 +2316,7 @@ interactions: - content: format: $#,##0 maql: SELECT {metric/revenue} BY ALL OTHER - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -2324,7 +2325,7 @@ interactions: - content: format: $#,##0 maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -2389,7 +2390,7 @@ interactions: position: bottom version: '2' visualizationUrl: local:treemap - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -2465,7 +2466,7 @@ interactions: rotation: auto version: '2' visualizationUrl: local:combo2 - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -2544,7 +2545,7 @@ interactions: direction: asc version: '2' visualizationUrl: local:table - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -2603,7 +2604,7 @@ interactions: stackMeasuresToPercent: true version: '2' visualizationUrl: local:area - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -2660,7 +2661,7 @@ interactions: position: bottom version: '2' visualizationUrl: local:treemap - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -2713,7 +2714,7 @@ interactions: position: bottom version: '2' visualizationUrl: local:donut - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -2788,7 +2789,7 @@ interactions: visible: false version: '2' visualizationUrl: local:column - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -2845,7 +2846,7 @@ interactions: enabled: true version: '2' visualizationUrl: local:scatter - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -2944,7 +2945,7 @@ interactions: direction: asc version: '2' visualizationUrl: local:table - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -3000,7 +3001,7 @@ interactions: position: bottom version: '2' visualizationUrl: local:line - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -3039,7 +3040,7 @@ interactions: properties: {} version: '2' visualizationUrl: local:bar - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -3095,7 +3096,7 @@ interactions: min: '0' version: '2' visualizationUrl: local:scatter - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -3163,7 +3164,7 @@ interactions: rotation: auto version: '2' visualizationUrl: local:combo2 - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -3220,7 +3221,7 @@ interactions: position: bottom version: '2' visualizationUrl: local:bar - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -3277,7 +3278,7 @@ interactions: position: bottom version: '2' visualizationUrl: local:bar - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -3379,7 +3380,7 @@ interactions: Connection: - keep-alive Content-Length: - - '255' + - '275' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -3431,6 +3432,7 @@ interactions: attributes: name: Default Organization hostname: localhost - oauthClientId: f0ec3cf7-fc0f-4915-837b-e77af36ece4a + allowedOrigins: [] + oauthClientId: a7ab866a-75fd-41b8-8d28-8b5ffc3bd1ac links: self: http://localhost:3000/api/v1/entities/admin/organizations/default diff --git a/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_store_declarative_ldm.yaml b/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_store_declarative_ldm.yaml index 313c8b333..ab527876c 100644 --- a/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_store_declarative_ldm.yaml +++ b/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_store_declarative_ldm.yaml @@ -496,7 +496,7 @@ interactions: Connection: - keep-alive Content-Length: - - '255' + - '275' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -548,7 +548,8 @@ interactions: attributes: name: Default Organization hostname: localhost - oauthClientId: f0ec3cf7-fc0f-4915-837b-e77af36ece4a + allowedOrigins: [] + oauthClientId: a7ab866a-75fd-41b8-8d28-8b5ffc3bd1ac links: self: http://localhost:3000/api/v1/entities/admin/organizations/default - request: @@ -1045,7 +1046,7 @@ interactions: Connection: - keep-alive Content-Length: - - '255' + - '275' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -1097,6 +1098,7 @@ interactions: attributes: name: Default Organization hostname: localhost - oauthClientId: f0ec3cf7-fc0f-4915-837b-e77af36ece4a + allowedOrigins: [] + oauthClientId: a7ab866a-75fd-41b8-8d28-8b5ffc3bd1ac links: self: http://localhost:3000/api/v1/entities/admin/organizations/default diff --git a/gooddata-sdk/tests/catalog/fixtures/workspace_content/explicit_workspace_data_filter.yaml b/gooddata-sdk/tests/catalog/fixtures/workspace_content/explicit_workspace_data_filter.yaml index 1f092b95d..bf54d83f8 100644 --- a/gooddata-sdk/tests/catalog/fixtures/workspace_content/explicit_workspace_data_filter.yaml +++ b/gooddata-sdk/tests/catalog/fixtures/workspace_content/explicit_workspace_data_filter.yaml @@ -1229,7 +1229,7 @@ interactions: Connection: - keep-alive Content-Length: - - '27254' + - '27279' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -2076,38 +2076,41 @@ interactions: grain: - id: order_line_id type: attribute - order: 0 referenceProperties: - identifier: - id: customers + id: date type: dataset multivalue: false + sources: null sourceColumns: - - customer_id + - date sourceColumnDataTypes: - - INT + - DATE - identifier: - id: products + id: customers type: dataset multivalue: false + sources: null sourceColumns: - - product_id + - customer_id sourceColumnDataTypes: - INT - identifier: - id: date + id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - - date + - campaign_id sourceColumnDataTypes: - - DATE + - INT - identifier: - id: campaigns + id: products type: dataset multivalue: false + sources: null sourceColumns: - - campaign_id + - product_id sourceColumnDataTypes: - INT dataSourceTableId: demo-test-ds:order_lines @@ -2115,10 +2118,10 @@ interactions: - demo - order_lines workspaceDataFilterColumns: - - name: wdf__region - dataType: STRING - name: wdf__state dataType: STRING + - name: wdf__region + dataType: STRING workspaceDataFilterReferences: - filterId: id: wdf__state @@ -2167,12 +2170,12 @@ interactions: grain: - id: campaign_channel_id type: attribute - order: 0 referenceProperties: - identifier: id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - campaign_id sourceColumnDataTypes: @@ -2262,7 +2265,6 @@ interactions: grain: - id: campaign_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:campaigns dataSourceTablePath: - demo @@ -2319,7 +2321,6 @@ interactions: grain: - id: customer_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:customers dataSourceTablePath: - demo @@ -2451,7 +2452,6 @@ interactions: grain: - id: product_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:products dataSourceTablePath: - demo @@ -2584,7 +2584,7 @@ interactions: Connection: - keep-alive Content-Length: - - '15032' + - '15057' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -2641,12 +2641,12 @@ interactions: grain: - id: campaign_channel_id type: attribute - order: 0 referenceProperties: - identifier: id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - campaign_id sourceColumnDataTypes: @@ -2688,7 +2688,6 @@ interactions: grain: - id: campaign_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:campaigns dataSourceTablePath: - demo @@ -2718,7 +2717,6 @@ interactions: grain: - id: customer_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:customers dataSourceTablePath: - demo @@ -2734,13 +2732,13 @@ interactions: relationships: attributes: data: - - id: state + - id: customer_id type: attribute - - id: region + - id: state type: attribute - id: customer_name type: attribute - - id: customer_id + - id: region type: attribute links: self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers @@ -2758,77 +2756,80 @@ interactions: grain: - id: order_line_id type: attribute - order: 0 referenceProperties: - identifier: - id: customers + id: date type: dataset multivalue: false + sources: null sourceColumns: - - customer_id + - date sourceColumnDataTypes: - - INT + - DATE - identifier: - id: products + id: customers type: dataset multivalue: false + sources: null sourceColumns: - - product_id + - customer_id sourceColumnDataTypes: - INT - identifier: id: campaigns type: dataset multivalue: false + sources: null sourceColumns: - campaign_id sourceColumnDataTypes: - INT - identifier: - id: date + id: products type: dataset multivalue: false + sources: null sourceColumns: - - date + - product_id sourceColumnDataTypes: - - DATE + - INT dataSourceTableId: demo-test-ds:order_lines dataSourceTablePath: - demo - order_lines areRelationsValid: true workspaceDataFilterColumns: - - name: wdf__region - dataType: STRING - name: wdf__state dataType: STRING + - name: wdf__region + dataType: STRING workspaceDataFilterReferences: - filterId: - id: wdf__region + id: wdf__state type: workspaceDataFilter - filterColumn: wdf__region + filterColumn: wdf__state filterColumnDataType: STRING - filterId: - id: wdf__state + id: wdf__region type: workspaceDataFilter - filterColumn: wdf__state + filterColumn: wdf__region filterColumnDataType: STRING type: NORMAL relationships: attributes: data: - - id: order_line_id - type: attribute - id: order_id type: attribute + - id: order_line_id + type: attribute - id: order_status type: attribute facts: data: - - id: quantity - type: fact - id: price type: fact + - id: quantity + type: fact links: self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/order_lines meta: @@ -2845,7 +2846,6 @@ interactions: grain: - id: product_id type: attribute - order: 0 dataSourceTableId: demo-test-ds:products dataSourceTablePath: - demo @@ -2855,10 +2855,10 @@ interactions: relationships: attributes: data: - - id: product_id - type: attribute - id: products.category type: attribute + - id: product_id + type: attribute - id: product_name type: attribute links: @@ -2879,36 +2879,36 @@ interactions: relationships: attributes: data: - - id: date.day - type: attribute - - id: date.week + - id: date.quarter type: attribute - - id: date.hour + - id: date.minute type: attribute - - id: date.month + - id: date.hourOfDay type: attribute - id: date.minuteOfHour type: attribute - id: date.dayOfYear type: attribute - - id: date.hourOfDay - type: attribute - id: date.monthOfYear type: attribute - - id: date.dayOfWeek - type: attribute - - id: date.quarterOfYear - type: attribute - - id: date.quarter - type: attribute - id: date.weekOfYear type: attribute + - id: date.week + type: attribute - id: date.year type: attribute - - id: date.minute + - id: date.dayOfWeek + type: attribute + - id: date.hour type: attribute - id: date.dayOfMonth type: attribute + - id: date.month + type: attribute + - id: date.quarterOfYear + type: attribute + - id: date.day + type: attribute links: self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date meta: @@ -3357,7 +3357,7 @@ interactions: attributes: title: '# of Active Customers' areRelationsValid: true - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 content: format: '#,##0' maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) @@ -3372,7 +3372,7 @@ interactions: attributes: title: '# of Orders' areRelationsValid: true - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 content: format: '#,##0' maql: SELECT COUNT({attribute/order_id}) @@ -3387,7 +3387,7 @@ interactions: attributes: title: '# of Top Customers' areRelationsValid: true - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 content: format: '#,##0' maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT @@ -3404,7 +3404,7 @@ interactions: title: '# of Valid Orders' description: '' areRelationsValid: true - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 content: format: '#,##0.00' maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} @@ -3420,7 +3420,7 @@ interactions: attributes: title: Campaign Spend areRelationsValid: true - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 content: format: $#,##0 maql: SELECT SUM({fact/spend}) @@ -3435,7 +3435,7 @@ interactions: attributes: title: Order Amount areRelationsValid: true - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 content: format: $#,##0 maql: SELECT SUM({fact/price}*{fact/quantity}) @@ -3450,7 +3450,7 @@ interactions: attributes: title: '% Revenue' areRelationsValid: true - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / {metric/total_revenue} @@ -3465,7 +3465,7 @@ interactions: attributes: title: '% Revenue from Top 10 Customers' areRelationsValid: true - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ @@ -3481,7 +3481,7 @@ interactions: attributes: title: '% Revenue from Top 10% Customers' areRelationsValid: true - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ @@ -3497,7 +3497,7 @@ interactions: attributes: title: '% Revenue from Top 10% Products' areRelationsValid: true - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ @@ -3513,7 +3513,7 @@ interactions: attributes: title: '% Revenue from Top 10 Products' areRelationsValid: true - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ @@ -3529,7 +3529,7 @@ interactions: attributes: title: '% Revenue in Category' areRelationsValid: true - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, @@ -3545,7 +3545,7 @@ interactions: attributes: title: '% Revenue per Product' areRelationsValid: true - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL @@ -3562,7 +3562,7 @@ interactions: title: Revenue description: '' areRelationsValid: true - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 content: format: $#,##0 maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} @@ -3578,7 +3578,7 @@ interactions: attributes: title: Revenue (Clothing) areRelationsValid: true - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -3594,7 +3594,7 @@ interactions: attributes: title: Revenue (Electronic) areRelationsValid: true - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -3610,7 +3610,7 @@ interactions: attributes: title: Revenue (Home) areRelationsValid: true - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -3626,7 +3626,7 @@ interactions: attributes: title: Revenue (Outdoor) areRelationsValid: true - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -3642,7 +3642,7 @@ interactions: attributes: title: Revenue per Customer areRelationsValid: true - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 content: format: $#,##0.0 maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) @@ -3657,7 +3657,7 @@ interactions: attributes: title: Revenue per Dollar Spent areRelationsValid: true - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 content: format: $#,##0.0 maql: SELECT {metric/revenue} / {metric/campaign_spend} @@ -3672,7 +3672,7 @@ interactions: attributes: title: Revenue / Top 10 areRelationsValid: true - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) @@ -3687,7 +3687,7 @@ interactions: attributes: title: Revenue / Top 10% areRelationsValid: true - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) @@ -3702,7 +3702,7 @@ interactions: attributes: title: Total Revenue areRelationsValid: true - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 content: format: $#,##0 maql: SELECT {metric/revenue} BY ALL OTHER @@ -3717,7 +3717,7 @@ interactions: attributes: title: Total Revenue (No Filters) areRelationsValid: true - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 content: format: $#,##0 maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_clone_workspace.yaml b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_clone_workspace.yaml index 62baaff10..ab8b09d87 100644 --- a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_clone_workspace.yaml +++ b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_clone_workspace.yaml @@ -79,7 +79,7 @@ interactions: to access it. status: 404 title: Not Found - traceId: 6cf9e7d268df9beb + traceId: c23b83f2edb4ed25 - request: method: POST uri: http://localhost:3000/api/v1/entities/dataSources @@ -173,8 +173,8 @@ interactions: url: jdbc:postgresql://localhost:5432/demo?autosave=false username: demouser enableCaching: false - type: POSTGRESQL name: Test2 + type: POSTGRESQL schema: demo links: self: http://localhost:3000/api/v1/entities/dataSources/demo-bigquery-ds @@ -303,7 +303,7 @@ interactions: drills: [] properties: {} version: '2' - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -342,7 +342,7 @@ interactions: type: dashboardPlugin version: '2' version: '2' - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -492,7 +492,7 @@ interactions: drills: [] properties: {} version: '2' - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -503,7 +503,7 @@ interactions: - content: url: https://www.example.com version: '2' - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -513,7 +513,7 @@ interactions: - content: url: https://www.example.com version: '2' - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -562,7 +562,7 @@ interactions: - content: format: '#,##0' maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -571,7 +571,7 @@ interactions: - content: format: '#,##0' maql: SELECT COUNT({attribute/order_id}) - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -581,7 +581,7 @@ interactions: format: '#,##0' maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT {metric/revenue} BY {attribute/customer_id}) > 10000 ' - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -591,7 +591,7 @@ interactions: format: '#,##0.00' maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} IN ("Returned", "Canceled")) - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -601,7 +601,7 @@ interactions: - content: format: $#,##0 maql: SELECT SUM({fact/spend}) - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -610,7 +610,7 @@ interactions: - content: format: $#,##0 maql: SELECT SUM({fact/price}*{fact/quantity}) - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -619,7 +619,7 @@ interactions: - content: format: '#,##0.0%' maql: SELECT {metric/revenue} / {metric/total_revenue} - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -629,7 +629,7 @@ interactions: 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: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -639,7 +639,7 @@ interactions: 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: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -649,7 +649,7 @@ interactions: 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: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -659,7 +659,7 @@ interactions: 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: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -669,7 +669,7 @@ interactions: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, ALL OTHER) - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -679,7 +679,7 @@ interactions: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL {attribute/product_id}) - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -689,7 +689,7 @@ interactions: format: $#,##0 maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} IN ("Returned", "Canceled")) - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -700,7 +700,7 @@ interactions: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Clothing") - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -710,7 +710,7 @@ interactions: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ( "Electronics") - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -720,7 +720,7 @@ interactions: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Home") - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -730,7 +730,7 @@ interactions: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Outdoor") - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -739,7 +739,7 @@ interactions: - content: format: $#,##0.0 maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -748,7 +748,7 @@ interactions: - content: format: $#,##0.0 maql: SELECT {metric/revenue} / {metric/campaign_spend} - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -757,7 +757,7 @@ interactions: - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -766,7 +766,7 @@ interactions: - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -775,7 +775,7 @@ interactions: - content: format: $#,##0 maql: SELECT {metric/revenue} BY ALL OTHER - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -784,7 +784,7 @@ interactions: - content: format: $#,##0 maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -849,7 +849,7 @@ interactions: position: bottom version: '2' visualizationUrl: local:treemap - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -925,7 +925,7 @@ interactions: rotation: auto version: '2' visualizationUrl: local:combo2 - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -1004,7 +1004,7 @@ interactions: direction: asc version: '2' visualizationUrl: local:table - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -1063,7 +1063,7 @@ interactions: stackMeasuresToPercent: true version: '2' visualizationUrl: local:area - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -1120,7 +1120,7 @@ interactions: position: bottom version: '2' visualizationUrl: local:treemap - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -1173,7 +1173,7 @@ interactions: position: bottom version: '2' visualizationUrl: local:donut - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -1248,7 +1248,7 @@ interactions: visible: false version: '2' visualizationUrl: local:column - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -1305,7 +1305,7 @@ interactions: enabled: true version: '2' visualizationUrl: local:scatter - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -1404,7 +1404,7 @@ interactions: direction: asc version: '2' visualizationUrl: local:table - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -1460,7 +1460,7 @@ interactions: position: bottom version: '2' visualizationUrl: local:line - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -1499,7 +1499,7 @@ interactions: properties: {} version: '2' visualizationUrl: local:bar - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -1555,7 +1555,7 @@ interactions: min: '0' version: '2' visualizationUrl: local:scatter - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -1623,7 +1623,7 @@ interactions: rotation: auto version: '2' visualizationUrl: local:combo2 - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -1680,7 +1680,7 @@ interactions: position: bottom version: '2' visualizationUrl: local:bar - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -1737,7 +1737,7 @@ interactions: position: bottom version: '2' visualizationUrl: local:bar - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -2223,7 +2223,7 @@ interactions: to access it. status: 404 title: Not Found - traceId: 2c803b92471cdc57 + traceId: f23b1d0bea09b2b1 - request: method: GET uri: http://localhost:3000/api/v1/entities/workspaces/demo_clone?include=workspaces @@ -2301,7 +2301,7 @@ interactions: to access it. status: 404 title: Not Found - traceId: f1fac8a76f99b9ef + traceId: 4526b9d4b0c8d2fb - request: method: POST uri: http://localhost:3000/api/v1/entities/workspaces @@ -2977,7 +2977,7 @@ interactions: id: campaign title: Campaign description: '' - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -3015,7 +3015,7 @@ interactions: version: '2' id: dashboard_plugin title: Dashboard plugin - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -3166,7 +3166,7 @@ interactions: id: product_and_category title: Product & Category description: '' - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -3178,7 +3178,7 @@ interactions: id: dashboard_plugin_1 title: dashboard_plugin_1 description: Testing record dashboard_plugin_1 - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -3188,7 +3188,7 @@ interactions: id: dashboard_plugin_2 title: dashboard_plugin_2 description: Testing record dashboard_plugin_2 - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -3236,7 +3236,7 @@ interactions: maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) id: amount_of_active_customers title: '# of Active Customers' - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -3245,7 +3245,7 @@ interactions: maql: SELECT COUNT({attribute/order_id}) id: amount_of_orders title: '# of Orders' - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -3255,7 +3255,7 @@ interactions: BY {attribute/customer_id}) > 10000 ' id: amount_of_top_customers title: '# of Top Customers' - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -3266,7 +3266,7 @@ interactions: id: amount_of_valid_orders title: '# of Valid Orders' description: '' - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -3275,7 +3275,7 @@ interactions: maql: SELECT SUM({fact/spend}) id: campaign_spend title: Campaign Spend - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -3284,7 +3284,7 @@ interactions: maql: SELECT SUM({fact/price}*{fact/quantity}) id: order_amount title: Order Amount - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -3293,7 +3293,7 @@ interactions: maql: SELECT {metric/revenue} / {metric/total_revenue} id: percent_revenue title: '% Revenue' - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -3303,7 +3303,7 @@ interactions: \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" id: percent_revenue_from_top_10_customers title: '% Revenue from Top 10 Customers' - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -3313,7 +3313,7 @@ interactions: \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" id: percent_revenue_from_top_10_percent_customers title: '% Revenue from Top 10% Customers' - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -3323,7 +3323,7 @@ interactions: \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" id: percent_revenue_from_top_10_percent_products title: '% Revenue from Top 10% Products' - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -3333,7 +3333,7 @@ interactions: \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" id: percent_revenue_from_top_10_products title: '% Revenue from Top 10 Products' - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -3343,7 +3343,7 @@ interactions: ALL OTHER) id: percent_revenue_in_category title: '% Revenue in Category' - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -3352,7 +3352,7 @@ interactions: maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL {attribute/product_id}) id: percent_revenue_per_product title: '% Revenue per Product' - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -3363,7 +3363,7 @@ interactions: id: revenue title: Revenue description: '' - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -3372,7 +3372,7 @@ interactions: maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Clothing") id: revenue-clothing title: Revenue (Clothing) - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -3382,7 +3382,7 @@ interactions: "Electronics") id: revenue-electronic title: Revenue (Electronic) - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -3391,7 +3391,7 @@ interactions: maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Home") id: revenue-home title: Revenue (Home) - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -3400,7 +3400,7 @@ interactions: maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Outdoor") id: revenue-outdoor title: Revenue (Outdoor) - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -3409,7 +3409,7 @@ interactions: maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) id: revenue_per_customer title: Revenue per Customer - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -3418,7 +3418,7 @@ interactions: maql: SELECT {metric/revenue} / {metric/campaign_spend} id: revenue_per_dollar_spent title: Revenue per Dollar Spent - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -3427,7 +3427,7 @@ interactions: maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) id: revenue_top_10 title: Revenue / Top 10 - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -3436,7 +3436,7 @@ interactions: maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) id: revenue_top_10_percent title: Revenue / Top 10% - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -3445,7 +3445,7 @@ interactions: maql: SELECT {metric/revenue} BY ALL OTHER id: total_revenue title: Total Revenue - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -3454,7 +3454,7 @@ interactions: maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER id: total_revenue-no_filters title: Total Revenue (No Filters) - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -3519,7 +3519,7 @@ interactions: visualizationUrl: local:treemap id: campaign_spend title: Campaign Spend - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -3595,7 +3595,7 @@ interactions: visualizationUrl: local:combo2 id: customers_trend title: Customers Trend - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -3674,7 +3674,7 @@ interactions: visualizationUrl: local:table id: percent_revenue_per_product_by_customer_and_category title: '% Revenue per Product by Customer and Category' - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -3733,7 +3733,7 @@ interactions: visualizationUrl: local:area id: percentage_of_customers_by_region title: Percentage of Customers by Region - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -3790,7 +3790,7 @@ interactions: visualizationUrl: local:treemap id: product_breakdown title: Product Breakdown - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -3843,7 +3843,7 @@ interactions: visualizationUrl: local:donut id: product_categories_pie_chart title: Product Categories Pie Chart - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -3918,7 +3918,7 @@ interactions: visualizationUrl: local:column id: product_revenue_comparison-over_previous_period title: Product Revenue Comparison (over previous period) - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -3975,7 +3975,7 @@ interactions: visualizationUrl: local:scatter id: product_saleability title: Product Saleability - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -4074,7 +4074,7 @@ interactions: visualizationUrl: local:table id: revenue_and_quantity_by_product_and_category title: Revenue and Quantity by Product and Category - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -4130,7 +4130,7 @@ interactions: visualizationUrl: local:line id: revenue_by_category_trend title: Revenue by Category Trend - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -4169,7 +4169,7 @@ interactions: visualizationUrl: local:bar id: revenue_by_product title: Revenue by Product - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -4225,7 +4225,7 @@ interactions: visualizationUrl: local:scatter id: revenue_per_usd_vs_spend_by_campaign title: Revenue per $ vs Spend by Campaign - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -4293,7 +4293,7 @@ interactions: visualizationUrl: local:combo2 id: revenue_trend title: Revenue Trend - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -4350,7 +4350,7 @@ interactions: visualizationUrl: local:bar id: top_10_customers title: Top 10 Customers - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -4407,7 +4407,7 @@ interactions: visualizationUrl: local:bar id: top_10_products title: Top 10 Products - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -4861,7 +4861,7 @@ interactions: drills: [] properties: {} version: '2' - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -4900,7 +4900,7 @@ interactions: type: dashboardPlugin version: '2' version: '2' - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -5050,7 +5050,7 @@ interactions: drills: [] properties: {} version: '2' - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -5061,7 +5061,7 @@ interactions: - content: url: https://www.example.com version: '2' - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -5071,7 +5071,7 @@ interactions: - content: url: https://www.example.com version: '2' - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -5120,7 +5120,7 @@ interactions: - content: format: '#,##0' maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -5129,7 +5129,7 @@ interactions: - content: format: '#,##0' maql: SELECT COUNT({attribute/order_id}) - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -5139,7 +5139,7 @@ interactions: format: '#,##0' maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT {metric/revenue} BY {attribute/customer_id}) > 10000 ' - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -5149,7 +5149,7 @@ interactions: format: '#,##0.00' maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} IN ("Returned", "Canceled")) - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -5159,7 +5159,7 @@ interactions: - content: format: $#,##0 maql: SELECT SUM({fact/spend}) - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -5168,7 +5168,7 @@ interactions: - content: format: $#,##0 maql: SELECT SUM({fact/price}*{fact/quantity}) - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -5177,7 +5177,7 @@ interactions: - content: format: '#,##0.0%' maql: SELECT {metric/revenue} / {metric/total_revenue} - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -5187,7 +5187,7 @@ interactions: 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: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -5197,7 +5197,7 @@ interactions: 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: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -5207,7 +5207,7 @@ interactions: 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: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -5217,7 +5217,7 @@ interactions: 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: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -5227,7 +5227,7 @@ interactions: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, ALL OTHER) - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -5237,7 +5237,7 @@ interactions: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL {attribute/product_id}) - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -5247,7 +5247,7 @@ interactions: format: $#,##0 maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} IN ("Returned", "Canceled")) - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -5258,7 +5258,7 @@ interactions: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Clothing") - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -5268,7 +5268,7 @@ interactions: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ( "Electronics") - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -5278,7 +5278,7 @@ interactions: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Home") - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -5288,7 +5288,7 @@ interactions: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Outdoor") - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -5297,7 +5297,7 @@ interactions: - content: format: $#,##0.0 maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -5306,7 +5306,7 @@ interactions: - content: format: $#,##0.0 maql: SELECT {metric/revenue} / {metric/campaign_spend} - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -5315,7 +5315,7 @@ interactions: - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -5324,7 +5324,7 @@ interactions: - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -5333,7 +5333,7 @@ interactions: - content: format: $#,##0 maql: SELECT {metric/revenue} BY ALL OTHER - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -5342,7 +5342,7 @@ interactions: - content: format: $#,##0 maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -5407,7 +5407,7 @@ interactions: position: bottom version: '2' visualizationUrl: local:treemap - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -5483,7 +5483,7 @@ interactions: rotation: auto version: '2' visualizationUrl: local:combo2 - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -5562,7 +5562,7 @@ interactions: direction: asc version: '2' visualizationUrl: local:table - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -5621,7 +5621,7 @@ interactions: stackMeasuresToPercent: true version: '2' visualizationUrl: local:area - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -5678,7 +5678,7 @@ interactions: position: bottom version: '2' visualizationUrl: local:treemap - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -5731,7 +5731,7 @@ interactions: position: bottom version: '2' visualizationUrl: local:donut - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -5806,7 +5806,7 @@ interactions: visible: false version: '2' visualizationUrl: local:column - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -5863,7 +5863,7 @@ interactions: enabled: true version: '2' visualizationUrl: local:scatter - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -5962,7 +5962,7 @@ interactions: direction: asc version: '2' visualizationUrl: local:table - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -6018,7 +6018,7 @@ interactions: position: bottom version: '2' visualizationUrl: local:line - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -6057,7 +6057,7 @@ interactions: properties: {} version: '2' visualizationUrl: local:bar - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -6113,7 +6113,7 @@ interactions: min: '0' version: '2' visualizationUrl: local:scatter - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -6181,7 +6181,7 @@ interactions: rotation: auto version: '2' visualizationUrl: local:combo2 - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -6238,7 +6238,7 @@ interactions: position: bottom version: '2' visualizationUrl: local:bar - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -6295,7 +6295,7 @@ interactions: position: bottom version: '2' visualizationUrl: local:bar - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -6749,7 +6749,7 @@ interactions: drills: [] properties: {} version: '2' - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -6788,7 +6788,7 @@ interactions: type: dashboardPlugin version: '2' version: '2' - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -6938,7 +6938,7 @@ interactions: drills: [] properties: {} version: '2' - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -6949,7 +6949,7 @@ interactions: - content: url: https://www.example.com version: '2' - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -6959,7 +6959,7 @@ interactions: - content: url: https://www.example.com version: '2' - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -7008,7 +7008,7 @@ interactions: - content: format: '#,##0' maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -7017,7 +7017,7 @@ interactions: - content: format: '#,##0' maql: SELECT COUNT({attribute/order_id}) - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -7027,7 +7027,7 @@ interactions: format: '#,##0' maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT {metric/revenue} BY {attribute/customer_id}) > 10000 ' - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -7037,7 +7037,7 @@ interactions: format: '#,##0.00' maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} IN ("Returned", "Canceled")) - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -7047,7 +7047,7 @@ interactions: - content: format: $#,##0 maql: SELECT SUM({fact/spend}) - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -7056,7 +7056,7 @@ interactions: - content: format: $#,##0 maql: SELECT SUM({fact/price}*{fact/quantity}) - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -7065,7 +7065,7 @@ interactions: - content: format: '#,##0.0%' maql: SELECT {metric/revenue} / {metric/total_revenue} - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -7075,7 +7075,7 @@ interactions: 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: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -7085,7 +7085,7 @@ interactions: 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: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -7095,7 +7095,7 @@ interactions: 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: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -7105,7 +7105,7 @@ interactions: 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: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -7115,7 +7115,7 @@ interactions: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, ALL OTHER) - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -7125,7 +7125,7 @@ interactions: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL {attribute/product_id}) - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -7135,7 +7135,7 @@ interactions: format: $#,##0 maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} IN ("Returned", "Canceled")) - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -7146,7 +7146,7 @@ interactions: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Clothing") - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -7156,7 +7156,7 @@ interactions: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ( "Electronics") - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -7166,7 +7166,7 @@ interactions: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Home") - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -7176,7 +7176,7 @@ interactions: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Outdoor") - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -7185,7 +7185,7 @@ interactions: - content: format: $#,##0.0 maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -7194,7 +7194,7 @@ interactions: - content: format: $#,##0.0 maql: SELECT {metric/revenue} / {metric/campaign_spend} - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -7203,7 +7203,7 @@ interactions: - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -7212,7 +7212,7 @@ interactions: - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -7221,7 +7221,7 @@ interactions: - content: format: $#,##0 maql: SELECT {metric/revenue} BY ALL OTHER - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -7230,7 +7230,7 @@ interactions: - content: format: $#,##0 maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -7295,7 +7295,7 @@ interactions: position: bottom version: '2' visualizationUrl: local:treemap - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -7371,7 +7371,7 @@ interactions: rotation: auto version: '2' visualizationUrl: local:combo2 - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -7450,7 +7450,7 @@ interactions: direction: asc version: '2' visualizationUrl: local:table - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -7509,7 +7509,7 @@ interactions: stackMeasuresToPercent: true version: '2' visualizationUrl: local:area - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -7566,7 +7566,7 @@ interactions: position: bottom version: '2' visualizationUrl: local:treemap - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -7619,7 +7619,7 @@ interactions: position: bottom version: '2' visualizationUrl: local:donut - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -7694,7 +7694,7 @@ interactions: visible: false version: '2' visualizationUrl: local:column - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -7751,7 +7751,7 @@ interactions: enabled: true version: '2' visualizationUrl: local:scatter - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -7850,7 +7850,7 @@ interactions: direction: asc version: '2' visualizationUrl: local:table - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -7906,7 +7906,7 @@ interactions: position: bottom version: '2' visualizationUrl: local:line - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -7945,7 +7945,7 @@ interactions: properties: {} version: '2' visualizationUrl: local:bar - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -8001,7 +8001,7 @@ interactions: min: '0' version: '2' visualizationUrl: local:scatter - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -8069,7 +8069,7 @@ interactions: rotation: auto version: '2' visualizationUrl: local:combo2 - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -8126,7 +8126,7 @@ interactions: position: bottom version: '2' visualizationUrl: local:bar - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -8183,7 +8183,7 @@ interactions: position: bottom version: '2' visualizationUrl: local:bar - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -8669,7 +8669,7 @@ interactions: to access it. status: 404 title: Not Found - traceId: cb213fdb9ade2866 + traceId: 6669a494fa06fe96 - request: method: GET uri: http://localhost:3000/api/v1/entities/workspaces/demo_jacek?include=workspaces @@ -8747,7 +8747,7 @@ interactions: to access it. status: 404 title: Not Found - traceId: 5c2b0c2ef023fddf + traceId: c75fcd701bfd7a83 - request: method: POST uri: http://localhost:3000/api/v1/entities/workspaces @@ -9437,7 +9437,7 @@ interactions: id: campaign title: Campaign description: '' - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -9475,7 +9475,7 @@ interactions: version: '2' id: dashboard_plugin title: Dashboard plugin - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -9626,7 +9626,7 @@ interactions: id: product_and_category title: Product & Category description: '' - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -9638,7 +9638,7 @@ interactions: id: dashboard_plugin_1 title: dashboard_plugin_1 description: Testing record dashboard_plugin_1 - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -9648,7 +9648,7 @@ interactions: id: dashboard_plugin_2 title: dashboard_plugin_2 description: Testing record dashboard_plugin_2 - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -9696,7 +9696,7 @@ interactions: maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) id: amount_of_active_customers title: '# of Active Customers' - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -9705,7 +9705,7 @@ interactions: maql: SELECT COUNT({attribute/order_id}) id: amount_of_orders title: '# of Orders' - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -9715,7 +9715,7 @@ interactions: BY {attribute/customer_id}) > 10000 ' id: amount_of_top_customers title: '# of Top Customers' - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -9726,7 +9726,7 @@ interactions: id: amount_of_valid_orders title: '# of Valid Orders' description: '' - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -9735,7 +9735,7 @@ interactions: maql: SELECT SUM({fact/spend}) id: campaign_spend title: Campaign Spend - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -9744,7 +9744,7 @@ interactions: maql: SELECT SUM({fact/price}*{fact/quantity}) id: order_amount title: Order Amount - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -9753,7 +9753,7 @@ interactions: maql: SELECT {metric/revenue} / {metric/total_revenue} id: percent_revenue title: '% Revenue' - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -9763,7 +9763,7 @@ interactions: \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" id: percent_revenue_from_top_10_customers title: '% Revenue from Top 10 Customers' - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -9773,7 +9773,7 @@ interactions: \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" id: percent_revenue_from_top_10_percent_customers title: '% Revenue from Top 10% Customers' - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -9783,7 +9783,7 @@ interactions: \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" id: percent_revenue_from_top_10_percent_products title: '% Revenue from Top 10% Products' - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -9793,7 +9793,7 @@ interactions: \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" id: percent_revenue_from_top_10_products title: '% Revenue from Top 10 Products' - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -9803,7 +9803,7 @@ interactions: ALL OTHER) id: percent_revenue_in_category title: '% Revenue in Category' - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -9812,7 +9812,7 @@ interactions: maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL {attribute/product_id}) id: percent_revenue_per_product title: '% Revenue per Product' - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -9823,7 +9823,7 @@ interactions: id: revenue title: Revenue description: '' - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -9832,7 +9832,7 @@ interactions: maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Clothing") id: revenue-clothing title: Revenue (Clothing) - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -9842,7 +9842,7 @@ interactions: "Electronics") id: revenue-electronic title: Revenue (Electronic) - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -9851,7 +9851,7 @@ interactions: maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Home") id: revenue-home title: Revenue (Home) - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -9860,7 +9860,7 @@ interactions: maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Outdoor") id: revenue-outdoor title: Revenue (Outdoor) - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -9869,7 +9869,7 @@ interactions: maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) id: revenue_per_customer title: Revenue per Customer - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -9878,7 +9878,7 @@ interactions: maql: SELECT {metric/revenue} / {metric/campaign_spend} id: revenue_per_dollar_spent title: Revenue per Dollar Spent - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -9887,7 +9887,7 @@ interactions: maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) id: revenue_top_10 title: Revenue / Top 10 - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -9896,7 +9896,7 @@ interactions: maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) id: revenue_top_10_percent title: Revenue / Top 10% - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -9905,7 +9905,7 @@ interactions: maql: SELECT {metric/revenue} BY ALL OTHER id: total_revenue title: Total Revenue - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -9914,7 +9914,7 @@ interactions: maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER id: total_revenue-no_filters title: Total Revenue (No Filters) - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -9979,7 +9979,7 @@ interactions: visualizationUrl: local:treemap id: campaign_spend title: Campaign Spend - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -10055,7 +10055,7 @@ interactions: visualizationUrl: local:combo2 id: customers_trend title: Customers Trend - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -10134,7 +10134,7 @@ interactions: visualizationUrl: local:table id: percent_revenue_per_product_by_customer_and_category title: '% Revenue per Product by Customer and Category' - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -10193,7 +10193,7 @@ interactions: visualizationUrl: local:area id: percentage_of_customers_by_region title: Percentage of Customers by Region - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -10250,7 +10250,7 @@ interactions: visualizationUrl: local:treemap id: product_breakdown title: Product Breakdown - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -10303,7 +10303,7 @@ interactions: visualizationUrl: local:donut id: product_categories_pie_chart title: Product Categories Pie Chart - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -10378,7 +10378,7 @@ interactions: visualizationUrl: local:column id: product_revenue_comparison-over_previous_period title: Product Revenue Comparison (over previous period) - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -10435,7 +10435,7 @@ interactions: visualizationUrl: local:scatter id: product_saleability title: Product Saleability - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -10534,7 +10534,7 @@ interactions: visualizationUrl: local:table id: revenue_and_quantity_by_product_and_category title: Revenue and Quantity by Product and Category - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -10590,7 +10590,7 @@ interactions: visualizationUrl: local:line id: revenue_by_category_trend title: Revenue by Category Trend - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -10629,7 +10629,7 @@ interactions: visualizationUrl: local:bar id: revenue_by_product title: Revenue by Product - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -10685,7 +10685,7 @@ interactions: visualizationUrl: local:scatter id: revenue_per_usd_vs_spend_by_campaign title: Revenue per $ vs Spend by Campaign - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -10753,7 +10753,7 @@ interactions: visualizationUrl: local:combo2 id: revenue_trend title: Revenue Trend - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -10810,7 +10810,7 @@ interactions: visualizationUrl: local:bar id: top_10_customers title: Top 10 Customers - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -10867,7 +10867,7 @@ interactions: visualizationUrl: local:bar id: top_10_products title: Top 10 Products - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -11507,7 +11507,7 @@ interactions: drills: [] properties: {} version: '2' - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -11546,7 +11546,7 @@ interactions: type: dashboardPlugin version: '2' version: '2' - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -11696,7 +11696,7 @@ interactions: drills: [] properties: {} version: '2' - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -11707,7 +11707,7 @@ interactions: - content: url: https://www.example.com version: '2' - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -11717,7 +11717,7 @@ interactions: - content: url: https://www.example.com version: '2' - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -11766,7 +11766,7 @@ interactions: - content: format: '#,##0' maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -11775,7 +11775,7 @@ interactions: - content: format: '#,##0' maql: SELECT COUNT({attribute/order_id}) - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -11785,7 +11785,7 @@ interactions: format: '#,##0' maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT {metric/revenue} BY {attribute/customer_id}) > 10000 ' - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -11795,7 +11795,7 @@ interactions: format: '#,##0.00' maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} IN ("Returned", "Canceled")) - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -11805,7 +11805,7 @@ interactions: - content: format: $#,##0 maql: SELECT SUM({fact/spend}) - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -11814,7 +11814,7 @@ interactions: - content: format: $#,##0 maql: SELECT SUM({fact/price}*{fact/quantity}) - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -11823,7 +11823,7 @@ interactions: - content: format: '#,##0.0%' maql: SELECT {metric/revenue} / {metric/total_revenue} - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -11833,7 +11833,7 @@ interactions: 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: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -11843,7 +11843,7 @@ interactions: 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: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -11853,7 +11853,7 @@ interactions: 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: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -11863,7 +11863,7 @@ interactions: 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: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -11873,7 +11873,7 @@ interactions: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, ALL OTHER) - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -11883,7 +11883,7 @@ interactions: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL {attribute/product_id}) - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -11893,7 +11893,7 @@ interactions: format: $#,##0 maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} IN ("Returned", "Canceled")) - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -11904,7 +11904,7 @@ interactions: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Clothing") - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -11914,7 +11914,7 @@ interactions: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ( "Electronics") - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -11924,7 +11924,7 @@ interactions: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Home") - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -11934,7 +11934,7 @@ interactions: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Outdoor") - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -11943,7 +11943,7 @@ interactions: - content: format: $#,##0.0 maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -11952,7 +11952,7 @@ interactions: - content: format: $#,##0.0 maql: SELECT {metric/revenue} / {metric/campaign_spend} - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -11961,7 +11961,7 @@ interactions: - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -11970,7 +11970,7 @@ interactions: - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -11979,7 +11979,7 @@ interactions: - content: format: $#,##0 maql: SELECT {metric/revenue} BY ALL OTHER - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -11988,7 +11988,7 @@ interactions: - content: format: $#,##0 maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -12053,7 +12053,7 @@ interactions: position: bottom version: '2' visualizationUrl: local:treemap - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -12129,7 +12129,7 @@ interactions: rotation: auto version: '2' visualizationUrl: local:combo2 - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -12208,7 +12208,7 @@ interactions: direction: asc version: '2' visualizationUrl: local:table - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -12267,7 +12267,7 @@ interactions: stackMeasuresToPercent: true version: '2' visualizationUrl: local:area - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -12324,7 +12324,7 @@ interactions: position: bottom version: '2' visualizationUrl: local:treemap - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -12377,7 +12377,7 @@ interactions: position: bottom version: '2' visualizationUrl: local:donut - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -12452,7 +12452,7 @@ interactions: visible: false version: '2' visualizationUrl: local:column - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -12509,7 +12509,7 @@ interactions: enabled: true version: '2' visualizationUrl: local:scatter - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -12608,7 +12608,7 @@ interactions: direction: asc version: '2' visualizationUrl: local:table - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -12664,7 +12664,7 @@ interactions: position: bottom version: '2' visualizationUrl: local:line - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -12703,7 +12703,7 @@ interactions: properties: {} version: '2' visualizationUrl: local:bar - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -12759,7 +12759,7 @@ interactions: min: '0' version: '2' visualizationUrl: local:scatter - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -12827,7 +12827,7 @@ interactions: rotation: auto version: '2' visualizationUrl: local:combo2 - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -12884,7 +12884,7 @@ interactions: position: bottom version: '2' visualizationUrl: local:bar - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -12941,7 +12941,7 @@ interactions: position: bottom version: '2' visualizationUrl: local:bar - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -13704,7 +13704,7 @@ interactions: to access it. status: 404 title: Not Found - traceId: 2c1bdda726782aa8 + traceId: 3e4a3c1a971fa604 - request: method: POST uri: http://localhost:3000/api/v1/entities/workspaces @@ -14394,7 +14394,7 @@ interactions: id: campaign title: Campaign description: '' - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -14432,7 +14432,7 @@ interactions: version: '2' id: dashboard_plugin title: Dashboard plugin - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -14583,7 +14583,7 @@ interactions: id: product_and_category title: Product & Category description: '' - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -14595,7 +14595,7 @@ interactions: id: dashboard_plugin_1 title: dashboard_plugin_1 description: Testing record dashboard_plugin_1 - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -14605,7 +14605,7 @@ interactions: id: dashboard_plugin_2 title: dashboard_plugin_2 description: Testing record dashboard_plugin_2 - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -14653,7 +14653,7 @@ interactions: maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) id: amount_of_active_customers title: '# of Active Customers' - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -14662,7 +14662,7 @@ interactions: maql: SELECT COUNT({attribute/order_id}) id: amount_of_orders title: '# of Orders' - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -14672,7 +14672,7 @@ interactions: BY {attribute/customer_id}) > 10000 ' id: amount_of_top_customers title: '# of Top Customers' - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -14683,7 +14683,7 @@ interactions: id: amount_of_valid_orders title: '# of Valid Orders' description: '' - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -14692,7 +14692,7 @@ interactions: maql: SELECT SUM({fact/spend}) id: campaign_spend title: Campaign Spend - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -14701,7 +14701,7 @@ interactions: maql: SELECT SUM({fact/price}*{fact/quantity}) id: order_amount title: Order Amount - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -14710,7 +14710,7 @@ interactions: maql: SELECT {metric/revenue} / {metric/total_revenue} id: percent_revenue title: '% Revenue' - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -14720,7 +14720,7 @@ interactions: \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" id: percent_revenue_from_top_10_customers title: '% Revenue from Top 10 Customers' - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -14730,7 +14730,7 @@ interactions: \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" id: percent_revenue_from_top_10_percent_customers title: '% Revenue from Top 10% Customers' - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -14740,7 +14740,7 @@ interactions: \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" id: percent_revenue_from_top_10_percent_products title: '% Revenue from Top 10% Products' - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -14750,7 +14750,7 @@ interactions: \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" id: percent_revenue_from_top_10_products title: '% Revenue from Top 10 Products' - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -14760,7 +14760,7 @@ interactions: ALL OTHER) id: percent_revenue_in_category title: '% Revenue in Category' - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -14769,7 +14769,7 @@ interactions: maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL {attribute/product_id}) id: percent_revenue_per_product title: '% Revenue per Product' - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -14780,7 +14780,7 @@ interactions: id: revenue title: Revenue description: '' - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -14789,7 +14789,7 @@ interactions: maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Clothing") id: revenue-clothing title: Revenue (Clothing) - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -14799,7 +14799,7 @@ interactions: "Electronics") id: revenue-electronic title: Revenue (Electronic) - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -14808,7 +14808,7 @@ interactions: maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Home") id: revenue-home title: Revenue (Home) - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -14817,7 +14817,7 @@ interactions: maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Outdoor") id: revenue-outdoor title: Revenue (Outdoor) - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -14826,7 +14826,7 @@ interactions: maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) id: revenue_per_customer title: Revenue per Customer - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -14835,7 +14835,7 @@ interactions: maql: SELECT {metric/revenue} / {metric/campaign_spend} id: revenue_per_dollar_spent title: Revenue per Dollar Spent - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -14844,7 +14844,7 @@ interactions: maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) id: revenue_top_10 title: Revenue / Top 10 - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -14853,7 +14853,7 @@ interactions: maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) id: revenue_top_10_percent title: Revenue / Top 10% - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -14862,7 +14862,7 @@ interactions: maql: SELECT {metric/revenue} BY ALL OTHER id: total_revenue title: Total Revenue - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -14871,7 +14871,7 @@ interactions: maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER id: total_revenue-no_filters title: Total Revenue (No Filters) - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -14936,7 +14936,7 @@ interactions: visualizationUrl: local:treemap id: campaign_spend title: Campaign Spend - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -15012,7 +15012,7 @@ interactions: visualizationUrl: local:combo2 id: customers_trend title: Customers Trend - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -15091,7 +15091,7 @@ interactions: visualizationUrl: local:table id: percent_revenue_per_product_by_customer_and_category title: '% Revenue per Product by Customer and Category' - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -15150,7 +15150,7 @@ interactions: visualizationUrl: local:area id: percentage_of_customers_by_region title: Percentage of Customers by Region - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -15207,7 +15207,7 @@ interactions: visualizationUrl: local:treemap id: product_breakdown title: Product Breakdown - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -15260,7 +15260,7 @@ interactions: visualizationUrl: local:donut id: product_categories_pie_chart title: Product Categories Pie Chart - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -15335,7 +15335,7 @@ interactions: visualizationUrl: local:column id: product_revenue_comparison-over_previous_period title: Product Revenue Comparison (over previous period) - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -15392,7 +15392,7 @@ interactions: visualizationUrl: local:scatter id: product_saleability title: Product Saleability - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -15491,7 +15491,7 @@ interactions: visualizationUrl: local:table id: revenue_and_quantity_by_product_and_category title: Revenue and Quantity by Product and Category - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -15547,7 +15547,7 @@ interactions: visualizationUrl: local:line id: revenue_by_category_trend title: Revenue by Category Trend - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -15586,7 +15586,7 @@ interactions: visualizationUrl: local:bar id: revenue_by_product title: Revenue by Product - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -15642,7 +15642,7 @@ interactions: visualizationUrl: local:scatter id: revenue_per_usd_vs_spend_by_campaign title: Revenue per $ vs Spend by Campaign - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -15710,7 +15710,7 @@ interactions: visualizationUrl: local:combo2 id: revenue_trend title: Revenue Trend - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -15767,7 +15767,7 @@ interactions: visualizationUrl: local:bar id: top_10_customers title: Top 10 Customers - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -15824,7 +15824,7 @@ interactions: visualizationUrl: local:bar id: top_10_products title: Top 10 Products - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_create_workspace.yaml b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_create_workspace.yaml index f9c035c86..6189a3b5b 100644 --- a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_create_workspace.yaml +++ b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_create_workspace.yaml @@ -197,7 +197,7 @@ interactions: to access it. status: 404 title: Not Found - traceId: a2853ff5f325866d + traceId: 01e6922c9d474477 - request: method: POST uri: http://localhost:3000/api/v1/entities/workspaces diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_load_and_put_declarative_user_data_filters.yaml b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_load_and_put_declarative_user_data_filters.yaml index 328511452..5fd78822a 100644 --- a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_load_and_put_declarative_user_data_filters.yaml +++ b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_load_and_put_declarative_user_data_filters.yaml @@ -320,7 +320,7 @@ interactions: Connection: - keep-alive Content-Length: - - '255' + - '275' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -372,7 +372,8 @@ interactions: attributes: name: Default Organization hostname: localhost - oauthClientId: f0ec3cf7-fc0f-4915-837b-e77af36ece4a + allowedOrigins: [] + oauthClientId: a7ab866a-75fd-41b8-8d28-8b5ffc3bd1ac links: self: http://localhost:3000/api/v1/entities/admin/organizations/default - request: diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_load_and_put_declarative_workspace.yaml b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_load_and_put_declarative_workspace.yaml index 8654ac4ad..9f232e093 100644 --- a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_load_and_put_declarative_workspace.yaml +++ b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_load_and_put_declarative_workspace.yaml @@ -1964,7 +1964,7 @@ interactions: Connection: - keep-alive Content-Length: - - '255' + - '275' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -2016,7 +2016,8 @@ interactions: attributes: name: Default Organization hostname: localhost - oauthClientId: f0ec3cf7-fc0f-4915-837b-e77af36ece4a + allowedOrigins: [] + oauthClientId: a7ab866a-75fd-41b8-8d28-8b5ffc3bd1ac links: self: http://localhost:3000/api/v1/entities/admin/organizations/default - request: diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_load_and_put_declarative_workspace_data_filters.yaml b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_load_and_put_declarative_workspace_data_filters.yaml index d42212156..4cda1313f 100644 --- a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_load_and_put_declarative_workspace_data_filters.yaml +++ b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_load_and_put_declarative_workspace_data_filters.yaml @@ -348,7 +348,7 @@ interactions: Connection: - keep-alive Content-Length: - - '255' + - '275' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -400,7 +400,8 @@ interactions: attributes: name: Default Organization hostname: localhost - oauthClientId: f0ec3cf7-fc0f-4915-837b-e77af36ece4a + allowedOrigins: [] + oauthClientId: a7ab866a-75fd-41b8-8d28-8b5ffc3bd1ac links: self: http://localhost:3000/api/v1/entities/admin/organizations/default - request: diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_load_and_put_declarative_workspaces.yaml b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_load_and_put_declarative_workspaces.yaml index 1449d7316..698c5844e 100644 --- a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_load_and_put_declarative_workspaces.yaml +++ b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_load_and_put_declarative_workspaces.yaml @@ -246,7 +246,7 @@ interactions: Connection: - keep-alive Content-Length: - - '255' + - '275' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -298,7 +298,8 @@ interactions: attributes: name: Default Organization hostname: localhost - oauthClientId: f0ec3cf7-fc0f-4915-837b-e77af36ece4a + allowedOrigins: [] + oauthClientId: a7ab866a-75fd-41b8-8d28-8b5ffc3bd1ac links: self: http://localhost:3000/api/v1/entities/admin/organizations/default - request: diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_put_declarative_workspace.yaml b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_put_declarative_workspace.yaml index 69d45a19c..b932d955c 100644 --- a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_put_declarative_workspace.yaml +++ b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_put_declarative_workspace.yaml @@ -79,7 +79,7 @@ interactions: to access it. status: 404 title: Not Found - traceId: f82c4829488d0be5 + traceId: e87d6625532755a6 - request: method: POST uri: http://localhost:3000/api/v1/entities/workspaces diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_store_declarative_user_data_filters.yaml b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_store_declarative_user_data_filters.yaml index e4bcef9f9..82f3d38ae 100644 --- a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_store_declarative_user_data_filters.yaml +++ b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_store_declarative_user_data_filters.yaml @@ -250,7 +250,7 @@ interactions: Connection: - keep-alive Content-Length: - - '255' + - '275' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -302,7 +302,8 @@ interactions: attributes: name: Default Organization hostname: localhost - oauthClientId: f0ec3cf7-fc0f-4915-837b-e77af36ece4a + allowedOrigins: [] + oauthClientId: a7ab866a-75fd-41b8-8d28-8b5ffc3bd1ac links: self: http://localhost:3000/api/v1/entities/admin/organizations/default - request: @@ -401,7 +402,7 @@ interactions: Connection: - keep-alive Content-Length: - - '255' + - '275' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -453,6 +454,7 @@ interactions: attributes: name: Default Organization hostname: localhost - oauthClientId: f0ec3cf7-fc0f-4915-837b-e77af36ece4a + allowedOrigins: [] + oauthClientId: a7ab866a-75fd-41b8-8d28-8b5ffc3bd1ac links: self: http://localhost:3000/api/v1/entities/admin/organizations/default diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_store_declarative_workspace.yaml b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_store_declarative_workspace.yaml index 4aeba3f76..3cfc50251 100644 --- a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_store_declarative_workspace.yaml +++ b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_store_declarative_workspace.yaml @@ -1810,7 +1810,7 @@ interactions: Connection: - keep-alive Content-Length: - - '255' + - '275' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -1862,7 +1862,8 @@ interactions: attributes: name: Default Organization hostname: localhost - oauthClientId: f0ec3cf7-fc0f-4915-837b-e77af36ece4a + allowedOrigins: [] + oauthClientId: a7ab866a-75fd-41b8-8d28-8b5ffc3bd1ac links: self: http://localhost:3000/api/v1/entities/admin/organizations/default - request: @@ -3673,7 +3674,7 @@ interactions: Connection: - keep-alive Content-Length: - - '255' + - '275' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -3725,6 +3726,7 @@ interactions: attributes: name: Default Organization hostname: localhost - oauthClientId: f0ec3cf7-fc0f-4915-837b-e77af36ece4a + allowedOrigins: [] + oauthClientId: a7ab866a-75fd-41b8-8d28-8b5ffc3bd1ac links: self: http://localhost:3000/api/v1/entities/admin/organizations/default diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_store_declarative_workspace_data_filters.yaml b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_store_declarative_workspace_data_filters.yaml index 3f35d7188..9f003baa0 100644 --- a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_store_declarative_workspace_data_filters.yaml +++ b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_store_declarative_workspace_data_filters.yaml @@ -306,7 +306,7 @@ interactions: Connection: - keep-alive Content-Length: - - '255' + - '275' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -358,7 +358,8 @@ interactions: attributes: name: Default Organization hostname: localhost - oauthClientId: f0ec3cf7-fc0f-4915-837b-e77af36ece4a + allowedOrigins: [] + oauthClientId: a7ab866a-75fd-41b8-8d28-8b5ffc3bd1ac links: self: http://localhost:3000/api/v1/entities/admin/organizations/default - request: @@ -457,7 +458,7 @@ interactions: Connection: - keep-alive Content-Length: - - '255' + - '275' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -509,6 +510,7 @@ interactions: attributes: name: Default Organization hostname: localhost - oauthClientId: f0ec3cf7-fc0f-4915-837b-e77af36ece4a + allowedOrigins: [] + oauthClientId: a7ab866a-75fd-41b8-8d28-8b5ffc3bd1ac links: self: http://localhost:3000/api/v1/entities/admin/organizations/default diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_store_declarative_workspaces.yaml b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_store_declarative_workspaces.yaml index 81865a24a..9363209ec 100644 --- a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_store_declarative_workspaces.yaml +++ b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_store_declarative_workspaces.yaml @@ -169,7 +169,7 @@ interactions: drills: [] properties: {} version: '2' - createdAt: 2023-10-01 19:55 + createdAt: 2023-10-24 11:17 createdBy: id: admin type: user @@ -208,7 +208,7 @@ interactions: type: dashboardPlugin version: '2' version: '2' - createdAt: 2023-10-01 19:55 + createdAt: 2023-10-24 11:17 createdBy: id: admin type: user @@ -359,7 +359,7 @@ interactions: drills: [] properties: {} version: '2' - createdAt: 2023-10-01 19:55 + createdAt: 2023-10-24 11:17 createdBy: id: admin type: user @@ -370,7 +370,7 @@ interactions: - content: url: https://www.example.com version: '2' - createdAt: 2023-10-01 19:55 + createdAt: 2023-10-24 11:17 createdBy: id: admin type: user @@ -380,7 +380,7 @@ interactions: - content: url: https://www.example.com version: '2' - createdAt: 2023-10-01 19:55 + createdAt: 2023-10-24 11:17 createdBy: id: admin type: user @@ -429,7 +429,7 @@ interactions: - content: format: '#,##0' maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) - createdAt: 2023-10-01 19:55 + createdAt: 2023-10-24 11:17 createdBy: id: admin type: user @@ -438,7 +438,7 @@ interactions: - content: format: '#,##0' maql: SELECT COUNT({attribute/order_id}) - createdAt: 2023-10-01 19:55 + createdAt: 2023-10-24 11:17 createdBy: id: admin type: user @@ -448,7 +448,7 @@ interactions: format: '#,##0' maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT {metric/revenue} BY {attribute/customer_id}) > 10000 ' - createdAt: 2023-10-01 19:55 + createdAt: 2023-10-24 11:17 createdBy: id: admin type: user @@ -458,7 +458,7 @@ interactions: format: '#,##0.00' maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} IN ("Returned", "Canceled")) - createdAt: 2023-10-01 19:55 + createdAt: 2023-10-24 11:17 createdBy: id: admin type: user @@ -468,7 +468,7 @@ interactions: - content: format: $#,##0 maql: SELECT SUM({fact/spend}) - createdAt: 2023-10-01 19:55 + createdAt: 2023-10-24 11:17 createdBy: id: admin type: user @@ -477,7 +477,7 @@ interactions: - content: format: $#,##0 maql: SELECT SUM({fact/price}*{fact/quantity}) - createdAt: 2023-10-01 19:55 + createdAt: 2023-10-24 11:17 createdBy: id: admin type: user @@ -486,7 +486,7 @@ interactions: - content: format: '#,##0.0%' maql: SELECT {metric/revenue} / {metric/total_revenue} - createdAt: 2023-10-01 19:55 + createdAt: 2023-10-24 11:17 createdBy: id: admin type: user @@ -496,7 +496,7 @@ interactions: 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: 2023-10-01 19:55 + createdAt: 2023-10-24 11:17 createdBy: id: admin type: user @@ -506,7 +506,7 @@ interactions: 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: 2023-10-01 19:55 + createdAt: 2023-10-24 11:17 createdBy: id: admin type: user @@ -516,7 +516,7 @@ interactions: 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: 2023-10-01 19:55 + createdAt: 2023-10-24 11:17 createdBy: id: admin type: user @@ -526,7 +526,7 @@ interactions: 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: 2023-10-01 19:55 + createdAt: 2023-10-24 11:17 createdBy: id: admin type: user @@ -536,7 +536,7 @@ interactions: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, ALL OTHER) - createdAt: 2023-10-01 19:55 + createdAt: 2023-10-24 11:17 createdBy: id: admin type: user @@ -546,7 +546,7 @@ interactions: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL {attribute/product_id}) - createdAt: 2023-10-01 19:55 + createdAt: 2023-10-24 11:17 createdBy: id: admin type: user @@ -556,7 +556,7 @@ interactions: format: $#,##0 maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} IN ("Returned", "Canceled")) - createdAt: 2023-10-01 19:55 + createdAt: 2023-10-24 11:17 createdBy: id: admin type: user @@ -567,7 +567,7 @@ interactions: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Clothing") - createdAt: 2023-10-01 19:55 + createdAt: 2023-10-24 11:17 createdBy: id: admin type: user @@ -577,7 +577,7 @@ interactions: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ( "Electronics") - createdAt: 2023-10-01 19:55 + createdAt: 2023-10-24 11:17 createdBy: id: admin type: user @@ -587,7 +587,7 @@ interactions: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Home") - createdAt: 2023-10-01 19:55 + createdAt: 2023-10-24 11:17 createdBy: id: admin type: user @@ -597,7 +597,7 @@ interactions: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Outdoor") - createdAt: 2023-10-01 19:55 + createdAt: 2023-10-24 11:17 createdBy: id: admin type: user @@ -606,7 +606,7 @@ interactions: - content: format: $#,##0.0 maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) - createdAt: 2023-10-01 19:55 + createdAt: 2023-10-24 11:17 createdBy: id: admin type: user @@ -615,7 +615,7 @@ interactions: - content: format: $#,##0.0 maql: SELECT {metric/revenue} / {metric/campaign_spend} - createdAt: 2023-10-01 19:55 + createdAt: 2023-10-24 11:17 createdBy: id: admin type: user @@ -624,7 +624,7 @@ interactions: - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) - createdAt: 2023-10-01 19:55 + createdAt: 2023-10-24 11:17 createdBy: id: admin type: user @@ -633,7 +633,7 @@ interactions: - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) - createdAt: 2023-10-01 19:55 + createdAt: 2023-10-24 11:17 createdBy: id: admin type: user @@ -642,7 +642,7 @@ interactions: - content: format: $#,##0 maql: SELECT {metric/revenue} BY ALL OTHER - createdAt: 2023-10-01 19:55 + createdAt: 2023-10-24 11:17 createdBy: id: admin type: user @@ -651,7 +651,7 @@ interactions: - content: format: $#,##0 maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER - createdAt: 2023-10-01 19:55 + createdAt: 2023-10-24 11:17 createdBy: id: admin type: user @@ -716,7 +716,7 @@ interactions: position: bottom version: '2' visualizationUrl: local:treemap - createdAt: 2023-10-01 19:55 + createdAt: 2023-10-24 11:17 createdBy: id: admin type: user @@ -792,7 +792,7 @@ interactions: rotation: auto version: '2' visualizationUrl: local:combo2 - createdAt: 2023-10-01 19:55 + createdAt: 2023-10-24 11:17 createdBy: id: admin type: user @@ -871,7 +871,7 @@ interactions: direction: asc version: '2' visualizationUrl: local:table - createdAt: 2023-10-01 19:55 + createdAt: 2023-10-24 11:17 createdBy: id: admin type: user @@ -930,7 +930,7 @@ interactions: stackMeasuresToPercent: true version: '2' visualizationUrl: local:area - createdAt: 2023-10-01 19:55 + createdAt: 2023-10-24 11:17 createdBy: id: admin type: user @@ -987,7 +987,7 @@ interactions: position: bottom version: '2' visualizationUrl: local:treemap - createdAt: 2023-10-01 19:55 + createdAt: 2023-10-24 11:17 createdBy: id: admin type: user @@ -1040,7 +1040,7 @@ interactions: position: bottom version: '2' visualizationUrl: local:donut - createdAt: 2023-10-01 19:55 + createdAt: 2023-10-24 11:17 createdBy: id: admin type: user @@ -1115,7 +1115,7 @@ interactions: visible: false version: '2' visualizationUrl: local:column - createdAt: 2023-10-01 19:55 + createdAt: 2023-10-24 11:17 createdBy: id: admin type: user @@ -1172,7 +1172,7 @@ interactions: enabled: true version: '2' visualizationUrl: local:scatter - createdAt: 2023-10-01 19:55 + createdAt: 2023-10-24 11:17 createdBy: id: admin type: user @@ -1271,7 +1271,7 @@ interactions: direction: asc version: '2' visualizationUrl: local:table - createdAt: 2023-10-01 19:55 + createdAt: 2023-10-24 11:17 createdBy: id: admin type: user @@ -1327,7 +1327,7 @@ interactions: position: bottom version: '2' visualizationUrl: local:line - createdAt: 2023-10-01 19:55 + createdAt: 2023-10-24 11:17 createdBy: id: admin type: user @@ -1366,7 +1366,7 @@ interactions: properties: {} version: '2' visualizationUrl: local:bar - createdAt: 2023-10-01 19:55 + createdAt: 2023-10-24 11:17 createdBy: id: admin type: user @@ -1422,7 +1422,7 @@ interactions: min: '0' version: '2' visualizationUrl: local:scatter - createdAt: 2023-10-01 19:55 + createdAt: 2023-10-24 11:17 createdBy: id: admin type: user @@ -1490,7 +1490,7 @@ interactions: rotation: auto version: '2' visualizationUrl: local:combo2 - createdAt: 2023-10-01 19:55 + createdAt: 2023-10-24 11:17 createdBy: id: admin type: user @@ -1547,7 +1547,7 @@ interactions: position: bottom version: '2' visualizationUrl: local:bar - createdAt: 2023-10-01 19:55 + createdAt: 2023-10-24 11:17 createdBy: id: admin type: user @@ -1604,7 +1604,7 @@ interactions: position: bottom version: '2' visualizationUrl: local:bar - createdAt: 2023-10-01 19:55 + createdAt: 2023-10-24 11:17 createdBy: id: admin type: user @@ -2162,7 +2162,7 @@ interactions: drills: [] properties: {} version: '2' - createdAt: 2023-10-01 19:55 + createdAt: 2023-10-24 11:17 createdBy: id: admin type: user @@ -2201,7 +2201,7 @@ interactions: type: dashboardPlugin version: '2' version: '2' - createdAt: 2023-10-01 19:55 + createdAt: 2023-10-24 11:17 createdBy: id: admin type: user @@ -2352,7 +2352,7 @@ interactions: drills: [] properties: {} version: '2' - createdAt: 2023-10-01 19:55 + createdAt: 2023-10-24 11:17 createdBy: id: admin type: user @@ -2363,7 +2363,7 @@ interactions: - content: url: https://www.example.com version: '2' - createdAt: 2023-10-01 19:55 + createdAt: 2023-10-24 11:17 createdBy: id: admin type: user @@ -2373,7 +2373,7 @@ interactions: - content: url: https://www.example.com version: '2' - createdAt: 2023-10-01 19:55 + createdAt: 2023-10-24 11:17 createdBy: id: admin type: user @@ -2422,7 +2422,7 @@ interactions: - content: format: '#,##0' maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) - createdAt: 2023-10-01 19:55 + createdAt: 2023-10-24 11:17 createdBy: id: admin type: user @@ -2431,7 +2431,7 @@ interactions: - content: format: '#,##0' maql: SELECT COUNT({attribute/order_id}) - createdAt: 2023-10-01 19:55 + createdAt: 2023-10-24 11:17 createdBy: id: admin type: user @@ -2441,7 +2441,7 @@ interactions: format: '#,##0' maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT {metric/revenue} BY {attribute/customer_id}) > 10000 ' - createdAt: 2023-10-01 19:55 + createdAt: 2023-10-24 11:17 createdBy: id: admin type: user @@ -2451,7 +2451,7 @@ interactions: format: '#,##0.00' maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} IN ("Returned", "Canceled")) - createdAt: 2023-10-01 19:55 + createdAt: 2023-10-24 11:17 createdBy: id: admin type: user @@ -2461,7 +2461,7 @@ interactions: - content: format: $#,##0 maql: SELECT SUM({fact/spend}) - createdAt: 2023-10-01 19:55 + createdAt: 2023-10-24 11:17 createdBy: id: admin type: user @@ -2470,7 +2470,7 @@ interactions: - content: format: $#,##0 maql: SELECT SUM({fact/price}*{fact/quantity}) - createdAt: 2023-10-01 19:55 + createdAt: 2023-10-24 11:17 createdBy: id: admin type: user @@ -2479,7 +2479,7 @@ interactions: - content: format: '#,##0.0%' maql: SELECT {metric/revenue} / {metric/total_revenue} - createdAt: 2023-10-01 19:55 + createdAt: 2023-10-24 11:17 createdBy: id: admin type: user @@ -2489,7 +2489,7 @@ interactions: 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: 2023-10-01 19:55 + createdAt: 2023-10-24 11:17 createdBy: id: admin type: user @@ -2499,7 +2499,7 @@ interactions: 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: 2023-10-01 19:55 + createdAt: 2023-10-24 11:17 createdBy: id: admin type: user @@ -2509,7 +2509,7 @@ interactions: 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: 2023-10-01 19:55 + createdAt: 2023-10-24 11:17 createdBy: id: admin type: user @@ -2519,7 +2519,7 @@ interactions: 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: 2023-10-01 19:55 + createdAt: 2023-10-24 11:17 createdBy: id: admin type: user @@ -2529,7 +2529,7 @@ interactions: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, ALL OTHER) - createdAt: 2023-10-01 19:55 + createdAt: 2023-10-24 11:17 createdBy: id: admin type: user @@ -2539,7 +2539,7 @@ interactions: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL {attribute/product_id}) - createdAt: 2023-10-01 19:55 + createdAt: 2023-10-24 11:17 createdBy: id: admin type: user @@ -2549,7 +2549,7 @@ interactions: format: $#,##0 maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} IN ("Returned", "Canceled")) - createdAt: 2023-10-01 19:55 + createdAt: 2023-10-24 11:17 createdBy: id: admin type: user @@ -2560,7 +2560,7 @@ interactions: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Clothing") - createdAt: 2023-10-01 19:55 + createdAt: 2023-10-24 11:17 createdBy: id: admin type: user @@ -2570,7 +2570,7 @@ interactions: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ( "Electronics") - createdAt: 2023-10-01 19:55 + createdAt: 2023-10-24 11:17 createdBy: id: admin type: user @@ -2580,7 +2580,7 @@ interactions: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Home") - createdAt: 2023-10-01 19:55 + createdAt: 2023-10-24 11:17 createdBy: id: admin type: user @@ -2590,7 +2590,7 @@ interactions: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Outdoor") - createdAt: 2023-10-01 19:55 + createdAt: 2023-10-24 11:17 createdBy: id: admin type: user @@ -2599,7 +2599,7 @@ interactions: - content: format: $#,##0.0 maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) - createdAt: 2023-10-01 19:55 + createdAt: 2023-10-24 11:17 createdBy: id: admin type: user @@ -2608,7 +2608,7 @@ interactions: - content: format: $#,##0.0 maql: SELECT {metric/revenue} / {metric/campaign_spend} - createdAt: 2023-10-01 19:55 + createdAt: 2023-10-24 11:17 createdBy: id: admin type: user @@ -2617,7 +2617,7 @@ interactions: - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) - createdAt: 2023-10-01 19:55 + createdAt: 2023-10-24 11:17 createdBy: id: admin type: user @@ -2626,7 +2626,7 @@ interactions: - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) - createdAt: 2023-10-01 19:55 + createdAt: 2023-10-24 11:17 createdBy: id: admin type: user @@ -2635,7 +2635,7 @@ interactions: - content: format: $#,##0 maql: SELECT {metric/revenue} BY ALL OTHER - createdAt: 2023-10-01 19:55 + createdAt: 2023-10-24 11:17 createdBy: id: admin type: user @@ -2644,7 +2644,7 @@ interactions: - content: format: $#,##0 maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER - createdAt: 2023-10-01 19:55 + createdAt: 2023-10-24 11:17 createdBy: id: admin type: user @@ -2709,7 +2709,7 @@ interactions: position: bottom version: '2' visualizationUrl: local:treemap - createdAt: 2023-10-01 19:55 + createdAt: 2023-10-24 11:17 createdBy: id: admin type: user @@ -2785,7 +2785,7 @@ interactions: rotation: auto version: '2' visualizationUrl: local:combo2 - createdAt: 2023-10-01 19:55 + createdAt: 2023-10-24 11:17 createdBy: id: admin type: user @@ -2864,7 +2864,7 @@ interactions: direction: asc version: '2' visualizationUrl: local:table - createdAt: 2023-10-01 19:55 + createdAt: 2023-10-24 11:17 createdBy: id: admin type: user @@ -2923,7 +2923,7 @@ interactions: stackMeasuresToPercent: true version: '2' visualizationUrl: local:area - createdAt: 2023-10-01 19:55 + createdAt: 2023-10-24 11:17 createdBy: id: admin type: user @@ -2980,7 +2980,7 @@ interactions: position: bottom version: '2' visualizationUrl: local:treemap - createdAt: 2023-10-01 19:55 + createdAt: 2023-10-24 11:17 createdBy: id: admin type: user @@ -3033,7 +3033,7 @@ interactions: position: bottom version: '2' visualizationUrl: local:donut - createdAt: 2023-10-01 19:55 + createdAt: 2023-10-24 11:17 createdBy: id: admin type: user @@ -3108,7 +3108,7 @@ interactions: visible: false version: '2' visualizationUrl: local:column - createdAt: 2023-10-01 19:55 + createdAt: 2023-10-24 11:17 createdBy: id: admin type: user @@ -3165,7 +3165,7 @@ interactions: enabled: true version: '2' visualizationUrl: local:scatter - createdAt: 2023-10-01 19:55 + createdAt: 2023-10-24 11:17 createdBy: id: admin type: user @@ -3264,7 +3264,7 @@ interactions: direction: asc version: '2' visualizationUrl: local:table - createdAt: 2023-10-01 19:55 + createdAt: 2023-10-24 11:17 createdBy: id: admin type: user @@ -3320,7 +3320,7 @@ interactions: position: bottom version: '2' visualizationUrl: local:line - createdAt: 2023-10-01 19:55 + createdAt: 2023-10-24 11:17 createdBy: id: admin type: user @@ -3359,7 +3359,7 @@ interactions: properties: {} version: '2' visualizationUrl: local:bar - createdAt: 2023-10-01 19:55 + createdAt: 2023-10-24 11:17 createdBy: id: admin type: user @@ -3415,7 +3415,7 @@ interactions: min: '0' version: '2' visualizationUrl: local:scatter - createdAt: 2023-10-01 19:55 + createdAt: 2023-10-24 11:17 createdBy: id: admin type: user @@ -3483,7 +3483,7 @@ interactions: rotation: auto version: '2' visualizationUrl: local:combo2 - createdAt: 2023-10-01 19:55 + createdAt: 2023-10-24 11:17 createdBy: id: admin type: user @@ -3540,7 +3540,7 @@ interactions: position: bottom version: '2' visualizationUrl: local:bar - createdAt: 2023-10-01 19:55 + createdAt: 2023-10-24 11:17 createdBy: id: admin type: user @@ -3597,7 +3597,7 @@ interactions: position: bottom version: '2' visualizationUrl: local:bar - createdAt: 2023-10-01 19:55 + createdAt: 2023-10-24 11:17 createdBy: id: admin type: user @@ -4084,7 +4084,7 @@ interactions: Connection: - keep-alive Content-Length: - - '255' + - '275' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -4136,7 +4136,8 @@ interactions: attributes: name: Default Organization hostname: localhost - oauthClientId: f0ec3cf7-fc0f-4915-837b-e77af36ece4a + allowedOrigins: [] + oauthClientId: a7ab866a-75fd-41b8-8d28-8b5ffc3bd1ac links: self: http://localhost:3000/api/v1/entities/admin/organizations/default - request: @@ -4235,7 +4236,7 @@ interactions: Connection: - keep-alive Content-Length: - - '255' + - '275' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -4287,6 +4288,7 @@ interactions: attributes: name: Default Organization hostname: localhost - oauthClientId: f0ec3cf7-fc0f-4915-837b-e77af36ece4a + allowedOrigins: [] + oauthClientId: a7ab866a-75fd-41b8-8d28-8b5ffc3bd1ac links: self: http://localhost:3000/api/v1/entities/admin/organizations/default diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_translate_workspace.yaml b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_translate_workspace.yaml index 215a15c27..6679d9657 100644 --- a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_translate_workspace.yaml +++ b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_translate_workspace.yaml @@ -207,7 +207,7 @@ interactions: drills: [] properties: {} version: '2' - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -246,7 +246,7 @@ interactions: type: dashboardPlugin version: '2' version: '2' - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -396,7 +396,7 @@ interactions: drills: [] properties: {} version: '2' - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -407,7 +407,7 @@ interactions: - content: url: https://www.example.com version: '2' - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -417,7 +417,7 @@ interactions: - content: url: https://www.example.com version: '2' - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -466,7 +466,7 @@ interactions: - content: format: '#,##0' maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -475,7 +475,7 @@ interactions: - content: format: '#,##0' maql: SELECT COUNT({attribute/order_id}) - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -485,7 +485,7 @@ interactions: format: '#,##0' maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT {metric/revenue} BY {attribute/customer_id}) > 10000 ' - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -495,7 +495,7 @@ interactions: format: '#,##0.00' maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} IN ("Returned", "Canceled")) - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -505,7 +505,7 @@ interactions: - content: format: $#,##0 maql: SELECT SUM({fact/spend}) - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -514,7 +514,7 @@ interactions: - content: format: $#,##0 maql: SELECT SUM({fact/price}*{fact/quantity}) - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -523,7 +523,7 @@ interactions: - content: format: '#,##0.0%' maql: SELECT {metric/revenue} / {metric/total_revenue} - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -533,7 +533,7 @@ interactions: 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: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -543,7 +543,7 @@ interactions: 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: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -553,7 +553,7 @@ interactions: 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: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -563,7 +563,7 @@ interactions: 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: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -573,7 +573,7 @@ interactions: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, ALL OTHER) - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -583,7 +583,7 @@ interactions: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL {attribute/product_id}) - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -593,7 +593,7 @@ interactions: format: $#,##0 maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} IN ("Returned", "Canceled")) - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -604,7 +604,7 @@ interactions: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Clothing") - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -614,7 +614,7 @@ interactions: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ( "Electronics") - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -624,7 +624,7 @@ interactions: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Home") - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -634,7 +634,7 @@ interactions: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Outdoor") - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -643,7 +643,7 @@ interactions: - content: format: $#,##0.0 maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -652,7 +652,7 @@ interactions: - content: format: $#,##0.0 maql: SELECT {metric/revenue} / {metric/campaign_spend} - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -661,7 +661,7 @@ interactions: - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -670,7 +670,7 @@ interactions: - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -679,7 +679,7 @@ interactions: - content: format: $#,##0 maql: SELECT {metric/revenue} BY ALL OTHER - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -688,7 +688,7 @@ interactions: - content: format: $#,##0 maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -753,7 +753,7 @@ interactions: position: bottom version: '2' visualizationUrl: local:treemap - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -829,7 +829,7 @@ interactions: rotation: auto version: '2' visualizationUrl: local:combo2 - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -908,7 +908,7 @@ interactions: direction: asc version: '2' visualizationUrl: local:table - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -967,7 +967,7 @@ interactions: stackMeasuresToPercent: true version: '2' visualizationUrl: local:area - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -1024,7 +1024,7 @@ interactions: position: bottom version: '2' visualizationUrl: local:treemap - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -1077,7 +1077,7 @@ interactions: position: bottom version: '2' visualizationUrl: local:donut - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -1152,7 +1152,7 @@ interactions: visible: false version: '2' visualizationUrl: local:column - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -1209,7 +1209,7 @@ interactions: enabled: true version: '2' visualizationUrl: local:scatter - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -1308,7 +1308,7 @@ interactions: direction: asc version: '2' visualizationUrl: local:table - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -1364,7 +1364,7 @@ interactions: position: bottom version: '2' visualizationUrl: local:line - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -1403,7 +1403,7 @@ interactions: properties: {} version: '2' visualizationUrl: local:bar - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -1459,7 +1459,7 @@ interactions: min: '0' version: '2' visualizationUrl: local:scatter - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -1527,7 +1527,7 @@ interactions: rotation: auto version: '2' visualizationUrl: local:combo2 - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -1584,7 +1584,7 @@ interactions: position: bottom version: '2' visualizationUrl: local:bar - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -1641,7 +1641,7 @@ interactions: position: bottom version: '2' visualizationUrl: local:bar - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -2119,7 +2119,7 @@ interactions: name: Default Organization hostname: localhost allowedOrigins: [] - oauthClientId: 7b57451a-4c98-473b-8135-9e86cdb05b18 + oauthClientId: a7ab866a-75fd-41b8-8d28-8b5ffc3bd1ac links: self: http://localhost:3000/api/v1/entities/admin/organizations/default - request: @@ -2327,7 +2327,7 @@ interactions: drills: [] properties: {} version: '2' - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -2366,7 +2366,7 @@ interactions: type: dashboardPlugin version: '2' version: '2' - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -2516,7 +2516,7 @@ interactions: drills: [] properties: {} version: '2' - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -2527,7 +2527,7 @@ interactions: - content: url: https://www.example.com version: '2' - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -2537,7 +2537,7 @@ interactions: - content: url: https://www.example.com version: '2' - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -2586,7 +2586,7 @@ interactions: - content: format: '#,##0' maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -2595,7 +2595,7 @@ interactions: - content: format: '#,##0' maql: SELECT COUNT({attribute/order_id}) - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -2605,7 +2605,7 @@ interactions: format: '#,##0' maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT {metric/revenue} BY {attribute/customer_id}) > 10000 ' - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -2615,7 +2615,7 @@ interactions: format: '#,##0.00' maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} IN ("Returned", "Canceled")) - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -2625,7 +2625,7 @@ interactions: - content: format: $#,##0 maql: SELECT SUM({fact/spend}) - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -2634,7 +2634,7 @@ interactions: - content: format: $#,##0 maql: SELECT SUM({fact/price}*{fact/quantity}) - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -2643,7 +2643,7 @@ interactions: - content: format: '#,##0.0%' maql: SELECT {metric/revenue} / {metric/total_revenue} - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -2653,7 +2653,7 @@ interactions: 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: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -2663,7 +2663,7 @@ interactions: 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: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -2673,7 +2673,7 @@ interactions: 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: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -2683,7 +2683,7 @@ interactions: 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: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -2693,7 +2693,7 @@ interactions: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, ALL OTHER) - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -2703,7 +2703,7 @@ interactions: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL {attribute/product_id}) - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -2713,7 +2713,7 @@ interactions: format: $#,##0 maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} IN ("Returned", "Canceled")) - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -2724,7 +2724,7 @@ interactions: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Clothing") - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -2734,7 +2734,7 @@ interactions: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ( "Electronics") - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -2744,7 +2744,7 @@ interactions: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Home") - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -2754,7 +2754,7 @@ interactions: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Outdoor") - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -2763,7 +2763,7 @@ interactions: - content: format: $#,##0.0 maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -2772,7 +2772,7 @@ interactions: - content: format: $#,##0.0 maql: SELECT {metric/revenue} / {metric/campaign_spend} - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -2781,7 +2781,7 @@ interactions: - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -2790,7 +2790,7 @@ interactions: - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -2799,7 +2799,7 @@ interactions: - content: format: $#,##0 maql: SELECT {metric/revenue} BY ALL OTHER - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -2808,7 +2808,7 @@ interactions: - content: format: $#,##0 maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -2873,7 +2873,7 @@ interactions: position: bottom version: '2' visualizationUrl: local:treemap - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -2949,7 +2949,7 @@ interactions: rotation: auto version: '2' visualizationUrl: local:combo2 - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -3028,7 +3028,7 @@ interactions: direction: asc version: '2' visualizationUrl: local:table - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -3087,7 +3087,7 @@ interactions: stackMeasuresToPercent: true version: '2' visualizationUrl: local:area - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -3144,7 +3144,7 @@ interactions: position: bottom version: '2' visualizationUrl: local:treemap - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -3197,7 +3197,7 @@ interactions: position: bottom version: '2' visualizationUrl: local:donut - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -3272,7 +3272,7 @@ interactions: visible: false version: '2' visualizationUrl: local:column - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -3329,7 +3329,7 @@ interactions: enabled: true version: '2' visualizationUrl: local:scatter - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -3428,7 +3428,7 @@ interactions: direction: asc version: '2' visualizationUrl: local:table - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -3484,7 +3484,7 @@ interactions: position: bottom version: '2' visualizationUrl: local:line - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -3523,7 +3523,7 @@ interactions: properties: {} version: '2' visualizationUrl: local:bar - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -3579,7 +3579,7 @@ interactions: min: '0' version: '2' visualizationUrl: local:scatter - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -3647,7 +3647,7 @@ interactions: rotation: auto version: '2' visualizationUrl: local:combo2 - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -3704,7 +3704,7 @@ interactions: position: bottom version: '2' visualizationUrl: local:bar - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -3761,7 +3761,7 @@ interactions: position: bottom version: '2' visualizationUrl: local:bar - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -4167,7 +4167,7 @@ interactions: to access it. status: 404 title: Not Found - traceId: 9dd2581e7f549022 + traceId: e62df2f6113250ca - request: method: POST uri: http://localhost:3000/api/v1/entities/workspaces @@ -4843,7 +4843,7 @@ interactions: id: campaign title: Campaign description: '' - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -4881,7 +4881,7 @@ interactions: version: '2' id: dashboard_plugin title: Dashboard plugin - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -5032,7 +5032,7 @@ interactions: id: product_and_category title: Product & Category description: '' - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -5044,7 +5044,7 @@ interactions: id: dashboard_plugin_1 title: dashboard_plugin_1 description: Testing record dashboard_plugin_1 - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -5054,7 +5054,7 @@ interactions: id: dashboard_plugin_2 title: dashboard_plugin_2 description: Testing record dashboard_plugin_2 - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -5102,7 +5102,7 @@ interactions: maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) id: amount_of_active_customers title: '# of Active Customers' - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -5111,7 +5111,7 @@ interactions: maql: SELECT COUNT({attribute/order_id}) id: amount_of_orders title: '# of Orders' - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -5121,7 +5121,7 @@ interactions: BY {attribute/customer_id}) > 10000 ' id: amount_of_top_customers title: '# of Top Customers' - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -5132,7 +5132,7 @@ interactions: id: amount_of_valid_orders title: '# of Valid Orders' description: '' - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -5141,7 +5141,7 @@ interactions: maql: SELECT SUM({fact/spend}) id: campaign_spend title: Campaign Spend - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -5150,7 +5150,7 @@ interactions: maql: SELECT SUM({fact/price}*{fact/quantity}) id: order_amount title: Order Amount - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -5159,7 +5159,7 @@ interactions: maql: SELECT {metric/revenue} / {metric/total_revenue} id: percent_revenue title: '% Revenue' - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -5169,7 +5169,7 @@ interactions: \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" id: percent_revenue_from_top_10_customers title: '% Revenue from Top 10 Customers' - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -5179,7 +5179,7 @@ interactions: \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" id: percent_revenue_from_top_10_percent_customers title: '% Revenue from Top 10% Customers' - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -5189,7 +5189,7 @@ interactions: \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" id: percent_revenue_from_top_10_percent_products title: '% Revenue from Top 10% Products' - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -5199,7 +5199,7 @@ interactions: \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" id: percent_revenue_from_top_10_products title: '% Revenue from Top 10 Products' - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -5209,7 +5209,7 @@ interactions: ALL OTHER) id: percent_revenue_in_category title: '% Revenue in Category' - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -5218,7 +5218,7 @@ interactions: maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL {attribute/product_id}) id: percent_revenue_per_product title: '% Revenue per Product' - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -5229,7 +5229,7 @@ interactions: id: revenue title: Revenue description: '' - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -5238,7 +5238,7 @@ interactions: maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Clothing") id: revenue-clothing title: Revenue (Clothing) - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -5248,7 +5248,7 @@ interactions: "Electronics") id: revenue-electronic title: Revenue (Electronic) - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -5257,7 +5257,7 @@ interactions: maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Home") id: revenue-home title: Revenue (Home) - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -5266,7 +5266,7 @@ interactions: maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Outdoor") id: revenue-outdoor title: Revenue (Outdoor) - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -5275,7 +5275,7 @@ interactions: maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) id: revenue_per_customer title: Revenue per Customer - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -5284,7 +5284,7 @@ interactions: maql: SELECT {metric/revenue} / {metric/campaign_spend} id: revenue_per_dollar_spent title: Revenue per Dollar Spent - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -5293,7 +5293,7 @@ interactions: maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) id: revenue_top_10 title: Revenue / Top 10 - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -5302,7 +5302,7 @@ interactions: maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) id: revenue_top_10_percent title: Revenue / Top 10% - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -5311,7 +5311,7 @@ interactions: maql: SELECT {metric/revenue} BY ALL OTHER id: total_revenue title: Total Revenue - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -5320,7 +5320,7 @@ interactions: maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER id: total_revenue-no_filters title: Total Revenue (No Filters) - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -5385,7 +5385,7 @@ interactions: visualizationUrl: local:treemap id: campaign_spend title: Campaign Spend - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -5461,7 +5461,7 @@ interactions: visualizationUrl: local:combo2 id: customers_trend title: Customers Trend - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -5540,7 +5540,7 @@ interactions: visualizationUrl: local:table id: percent_revenue_per_product_by_customer_and_category title: '% Revenue per Product by Customer and Category' - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -5599,7 +5599,7 @@ interactions: visualizationUrl: local:area id: percentage_of_customers_by_region title: Percentage of Customers by Region - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -5656,7 +5656,7 @@ interactions: visualizationUrl: local:treemap id: product_breakdown title: Product Breakdown - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -5709,7 +5709,7 @@ interactions: visualizationUrl: local:donut id: product_categories_pie_chart title: Product Categories Pie Chart - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -5784,7 +5784,7 @@ interactions: visualizationUrl: local:column id: product_revenue_comparison-over_previous_period title: Product Revenue Comparison (over previous period) - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -5841,7 +5841,7 @@ interactions: visualizationUrl: local:scatter id: product_saleability title: Product Saleability - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -5940,7 +5940,7 @@ interactions: visualizationUrl: local:table id: revenue_and_quantity_by_product_and_category title: Revenue and Quantity by Product and Category - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -5996,7 +5996,7 @@ interactions: visualizationUrl: local:line id: revenue_by_category_trend title: Revenue by Category Trend - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -6035,7 +6035,7 @@ interactions: visualizationUrl: local:bar id: revenue_by_product title: Revenue by Product - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -6091,7 +6091,7 @@ interactions: visualizationUrl: local:scatter id: revenue_per_usd_vs_spend_by_campaign title: Revenue per $ vs Spend by Campaign - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -6159,7 +6159,7 @@ interactions: visualizationUrl: local:combo2 id: revenue_trend title: Revenue Trend - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -6216,7 +6216,7 @@ interactions: visualizationUrl: local:bar id: top_10_customers title: Top 10 Customers - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -6273,7 +6273,7 @@ interactions: visualizationUrl: local:bar id: top_10_products title: Top 10 Products - createdAt: 2023-10-23 18:45 + createdAt: 2023-10-24 11:18 createdBy: id: admin type: user @@ -6553,7 +6553,7 @@ interactions: to access it. status: 404 title: Not Found - traceId: 72a9a05777dc49fe + traceId: 3e2a623784fb702e - request: method: POST uri: http://localhost:3000/api/v1/entities/workspaces/demo_cs/workspaceSettings @@ -6726,7 +6726,7 @@ interactions: to access it. status: 404 title: Not Found - traceId: 45efaa6be6d02b9e + traceId: 713f51e3cc81ff9d - request: method: POST uri: http://localhost:3000/api/v1/entities/workspaces/demo_cs/workspaceSettings diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/user_data_filters_life_cycle.yaml b/gooddata-sdk/tests/catalog/fixtures/workspaces/user_data_filters_life_cycle.yaml index 66561602e..1bba39352 100644 --- a/gooddata-sdk/tests/catalog/fixtures/workspaces/user_data_filters_life_cycle.yaml +++ b/gooddata-sdk/tests/catalog/fixtures/workspaces/user_data_filters_life_cycle.yaml @@ -156,7 +156,7 @@ interactions: to access it. status: 404 title: Not Found - traceId: 3a83b2c80ed88562 + traceId: 2ac74a61282936d5 - request: method: POST uri: http://localhost:3000/api/v1/entities/workspaces/demo/userDataFilters @@ -367,7 +367,7 @@ interactions: - id: demo type: user attributes: - authenticationId: CiQzMzBlZTg2Zi00MWU1LTRhNzAtOWVlZC03MTI5OWZkNDlhZTUSBWxvY2Fs + authenticationId: CiQ3YmY3ZTAxNS0xOWNkLTQ3MDgtYTEyNi1kYzg0NzI4MTdjZDgSBWxvY2Fs links: self: http://localhost:3000/api/v1/entities/workspaces/demo/users/demo links: @@ -470,7 +470,7 @@ interactions: - id: demo type: user attributes: - authenticationId: CiQzMzBlZTg2Zi00MWU1LTRhNzAtOWVlZC03MTI5OWZkNDlhZTUSBWxvY2Fs + authenticationId: CiQ3YmY3ZTAxNS0xOWNkLTQ3MDgtYTEyNi1kYzg0NzI4MTdjZDgSBWxvY2Fs links: self: http://localhost:3000/api/v1/entities/workspaces/demo/users/demo - id: order_status diff --git a/gooddata-sdk/tests/catalog/test_catalog_permission.py b/gooddata-sdk/tests/catalog/test_catalog_permission.py index eebfc4026..1fa750466 100644 --- a/gooddata-sdk/tests/catalog/test_catalog_permission.py +++ b/gooddata-sdk/tests/catalog/test_catalog_permission.py @@ -8,12 +8,15 @@ from tests_support.vcrpy_utils import get_vcr from gooddata_sdk import ( + CatalogAssigneeIdentifier, + CatalogAssigneeRule, CatalogDashboardAssigneeIdentifier, CatalogDeclarativeDataSourcePermission, CatalogDeclarativeSingleWorkspacePermission, CatalogDeclarativeWorkspaceHierarchyPermission, CatalogDeclarativeWorkspacePermissions, CatalogPermissionsForAssignee, + CatalogPermissionsForAssigneeRule, GoodDataApiClient, GoodDataSdk, ) @@ -56,11 +59,11 @@ def _validation_helper(class_type, attribute_name: str): allowed_values = list(client_class.allowed_values.get((attribute_name,)).values()) for allowed_value in allowed_values: try: - class_type(name=allowed_value, assignee=CatalogDashboardAssigneeIdentifier(id="", type="user")) + class_type(name=allowed_value, assignee=CatalogAssigneeIdentifier(id="", type="user")) except ValueError: assert False with pytest.raises(ValueError): - class_type(name="nonsense", assignee=CatalogDashboardAssigneeIdentifier(id="", type="user")) + class_type(name="nonsense", assignee=CatalogAssigneeIdentifier(id="", type="user")) def test_single_workspace_permission_validation(test_config): @@ -121,21 +124,27 @@ def test_list_available_assignees(test_config): @gd_vcr.use_cassette(str(_fixtures_dir / "list_dashboard_permissions.yaml")) def test_list_dashboard_permissions(test_config): sdk = GoodDataSdk.create(host_=test_config["host"], token_=test_config["token"]) - # Add dashboard permission VIEW to one group + # Add dashboard permission VIEW to one group and allWorkspaceUsers sdk.catalog_permission.manage_dashboard_permissions( "demo", "campaign", [ CatalogPermissionsForAssignee( - assignee_identifier=CatalogDashboardAssigneeIdentifier(id="visitorsGroup", type="userGroup"), + assignee_identifier=CatalogAssigneeIdentifier(id="visitorsGroup", type="userGroup"), + permissions=["VIEW"], + ), + CatalogPermissionsForAssigneeRule( + assignee_rule=CatalogAssigneeRule(type="allWorkspaceUsers"), permissions=["VIEW"], - ) + ), ], ) - # check, that just one group has dashboard permission + # check that just one group and allWorkspaceUsers has dashboard permission dashboard_permissions = sdk.catalog_permission.list_dashboard_permissions("demo", "campaign") assert len(dashboard_permissions.user_groups) == 1 - # remove dashboard permissions to this group + assert len(dashboard_permissions.users) == 0 + assert len(dashboard_permissions.rules) == 1 + # remove dashboard permissions of the group and allWorkspaceUsers sdk.catalog_permission.manage_dashboard_permissions( "demo", "campaign", @@ -143,9 +152,15 @@ def test_list_dashboard_permissions(test_config): CatalogPermissionsForAssignee( assignee_identifier=CatalogDashboardAssigneeIdentifier(id="visitorsGroup", type="userGroup"), permissions=[], - ) + ), + CatalogPermissionsForAssigneeRule( + assignee_rule=CatalogAssigneeRule(type="allWorkspaceUsers"), + permissions=[], + ), ], ) # check that it was properly removed dashboard_permissions = sdk.catalog_permission.list_dashboard_permissions("demo", "campaign") assert len(dashboard_permissions.user_groups) == 0 + assert len(dashboard_permissions.users) == 0 + assert len(dashboard_permissions.rules) == 0 diff --git a/gooddata-sdk/tests/catalog/test_catalog_workspace_content.py b/gooddata-sdk/tests/catalog/test_catalog_workspace_content.py index b3ffe9359..30bc13098 100644 --- a/gooddata-sdk/tests/catalog/test_catalog_workspace_content.py +++ b/gooddata-sdk/tests/catalog/test_catalog_workspace_content.py @@ -255,6 +255,23 @@ def test_get_declarative_analytics_model(test_config): assert analytics_model_o.to_api().to_dict(camel_case=True) == data +@gd_vcr.use_cassette(str(_fixtures_dir / "demo_get_declarative_analytics_model_child.yaml")) +def test_get_declarative_analytics_model_child(test_config): + sdk = GoodDataSdk.create(host_=test_config["host"], token_=test_config["token"]) + path = _current_dir / "expected" / "declarative_analytics_model_child.json" + analytics_model_o = sdk.catalog_workspace_content.get_declarative_analytics_model( + test_config["workspace_with_parent"], exclude=["ACTIVITY_INFO"] + ) + + with open(path) as f: + data = json.load(f) + + expected_o = CatalogDeclarativeAnalytics.from_dict(data) + + assert analytics_model_o == expected_o + assert analytics_model_o.to_api().to_dict(camel_case=True) == data + + @gd_vcr.use_cassette(str(_fixtures_dir / "demo_get_declarative_ldm.yaml")) def test_get_declarative_ldm(test_config): sdk = GoodDataSdk.create(host_=test_config["host"], token_=test_config["token"]) diff --git a/gooddata-sdk/tests/export/fixtures/test_export_csv.yaml b/gooddata-sdk/tests/export/fixtures/test_export_csv.yaml index 8abdd1cce..b3f91cf2b 100644 --- a/gooddata-sdk/tests/export/fixtures/test_export_csv.yaml +++ b/gooddata-sdk/tests/export/fixtures/test_export_csv.yaml @@ -161,12 +161,12 @@ interactions: name: Order Amount localIdentifier: dim_1 links: - executionResult: ca1c21ad62d8114bce7916ae13e90d1a47d3ac72 + executionResult: 9cc4d5e5d01a8a6c15dd52a5a9113375507c1699 - request: method: POST uri: http://localhost:3000/api/v1/actions/workspaces/demo/export/tabular body: - executionResult: ca1c21ad62d8114bce7916ae13e90d1a47d3ac72 + executionResult: 9cc4d5e5d01a8a6c15dd52a5a9113375507c1699 fileName: test_csv format: CSV customOverride: @@ -251,10 +251,10 @@ interactions: - 1 ; mode=block body: string: - exportResult: 18b822385bbe6693d3a8f1f5beee13be4c4de8d3 + exportResult: 12d2a1a1eddd5ccabda84adfb333e1607d3c2f80 - request: method: GET - uri: http://localhost:3000/api/v1/actions/workspaces/demo/export/tabular/18b822385bbe6693d3a8f1f5beee13be4c4de8d3 + uri: http://localhost:3000/api/v1/actions/workspaces/demo/export/tabular/12d2a1a1eddd5ccabda84adfb333e1607d3c2f80 body: null headers: Accept: @@ -325,78 +325,7 @@ interactions: string: '' - request: method: GET - uri: http://localhost:3000/api/v1/actions/workspaces/demo/export/tabular/18b822385bbe6693d3a8f1f5beee13be4c4de8d3 - body: null - headers: - Accept: - - application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, text/csv - Accept-Encoding: - - br, gzip, deflate - X-GDC-VALIDATE-RELATIONS: - - 'true' - X-Requested-With: - - XMLHttpRequest - response: - status: - code: 202 - message: Accepted - headers: - Access-Control-Allow-Credentials: - - 'true' - Access-Control-Expose-Headers: - - Content-Disposition, Content-Length, Content-Range, Set-Cookie - Cache-Control: - - no-cache, no-store, max-age=0, must-revalidate - Connection: - - keep-alive - Content-Length: - - '0' - Content-Security-Policy: - - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' - ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com - src.litix.io matomo.anywhere.gooddata.com *.jquery.com unpkg.com cdn.jsdelivr.net - cdnjs.cloudflare.com; img-src ''self'' data: blob: *.wistia.com *.wistia.net - *.hsforms.net *.hsforms.com embedwistia-a.akamaihd.net privacy-policy.truste.com - www.gooddata.com; style-src ''self'' ''unsafe-inline'' fonts.googleapis.com - cdn.jsdelivr.net fast.fonts.net; font-src ''self'' data: fonts.gstatic.com - *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src - ''self'' *.hsforms.net *.hsforms.com; object-src ''none''; worker-src - ''self'' blob:; child-src blob:; connect-src ''self'' *.tiles.mapbox.com - *.mapbox.com *.litix.io *.wistia.com *.hsforms.net *.hsforms.com embedwistia-a.akamaihd.net - matomo.anywhere.gooddata.com; media-src ''self'' blob: data: *.wistia.com - *.wistia.net embedwistia-a.akamaihd.net' - DATE: *id001 - Expires: - - '0' - GoodData-Deployment: - - aio - Permission-Policy: - - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera - 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment - 'none'; - Pragma: - - no-cache - Referrer-Policy: - - no-referrer - Server: - - nginx - Set-Cookie: - - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 - GMT; HttpOnly; SameSite=Lax - Vary: - - Origin - - Access-Control-Request-Method - - Access-Control-Request-Headers - X-Content-Type-Options: - - nosniff - X-GDC-TRACE-ID: *id001 - X-XSS-Protection: - - 1 ; mode=block - body: - string: '' - - request: - method: GET - uri: http://localhost:3000/api/v1/actions/workspaces/demo/export/tabular/18b822385bbe6693d3a8f1f5beee13be4c4de8d3 + uri: http://localhost:3000/api/v1/actions/workspaces/demo/export/tabular/12d2a1a1eddd5ccabda84adfb333e1607d3c2f80 body: null headers: Accept: diff --git a/gooddata-sdk/tests/export/fixtures/test_export_csv_by_insight_id.yaml b/gooddata-sdk/tests/export/fixtures/test_export_csv_by_insight_id.yaml index 8b7c969e2..594137033 100644 --- a/gooddata-sdk/tests/export/fixtures/test_export_csv_by_insight_id.yaml +++ b/gooddata-sdk/tests/export/fixtures/test_export_csv_by_insight_id.yaml @@ -151,7 +151,7 @@ interactions: rotation: auto version: '2' visualizationUrl: local:combo2 - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 relationships: createdBy: data: @@ -195,7 +195,7 @@ interactions: type: metric attributes: title: '# of Active Customers' - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 content: format: '#,##0' maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) @@ -205,7 +205,7 @@ interactions: type: metric attributes: title: Revenue per Customer - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 content: format: $#,##0.0 maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) @@ -375,10 +375,10 @@ interactions: name: Revenue per Customer localIdentifier: dim_1 links: - executionResult: 450bebe463cc16dc0d6a02fa2074a3fe981b55b4 + executionResult: 6423dcf3a78558dfc3702a9d4a1231489f0a3ff2 - request: method: GET - uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/450bebe463cc16dc0d6a02fa2074a3fe981b55b4?offset=0%2C0&limit=512%2C256 + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/6423dcf3a78558dfc3702a9d4a1231489f0a3ff2?offset=0%2C0&limit=512%2C256 body: null headers: Accept: @@ -536,7 +536,7 @@ interactions: method: POST uri: http://localhost:3000/api/v1/actions/workspaces/demo/export/tabular body: - executionResult: 450bebe463cc16dc0d6a02fa2074a3fe981b55b4 + executionResult: 6423dcf3a78558dfc3702a9d4a1231489f0a3ff2 fileName: Customers Trend format: CSV customOverride: @@ -621,10 +621,10 @@ interactions: - 1 ; mode=block body: string: - exportResult: a5b86ea777a93b0edf1b13f49836b8175de90001 + exportResult: aa2711f02d4f56bb8d637e9a470930ef30950fe9 - request: method: GET - uri: http://localhost:3000/api/v1/actions/workspaces/demo/export/tabular/a5b86ea777a93b0edf1b13f49836b8175de90001 + uri: http://localhost:3000/api/v1/actions/workspaces/demo/export/tabular/aa2711f02d4f56bb8d637e9a470930ef30950fe9 body: null headers: Accept: @@ -695,7 +695,7 @@ interactions: string: '' - request: method: GET - uri: http://localhost:3000/api/v1/actions/workspaces/demo/export/tabular/a5b86ea777a93b0edf1b13f49836b8175de90001 + uri: http://localhost:3000/api/v1/actions/workspaces/demo/export/tabular/aa2711f02d4f56bb8d637e9a470930ef30950fe9 body: null headers: Accept: diff --git a/gooddata-sdk/tests/export/fixtures/test_export_excel.yaml b/gooddata-sdk/tests/export/fixtures/test_export_excel.yaml index 0c287ff0d..08d7911ae 100644 --- a/gooddata-sdk/tests/export/fixtures/test_export_excel.yaml +++ b/gooddata-sdk/tests/export/fixtures/test_export_excel.yaml @@ -161,12 +161,12 @@ interactions: name: Order Amount localIdentifier: dim_1 links: - executionResult: ca1c21ad62d8114bce7916ae13e90d1a47d3ac72 + executionResult: 9cc4d5e5d01a8a6c15dd52a5a9113375507c1699 - request: method: POST uri: http://localhost:3000/api/v1/actions/workspaces/demo/export/tabular body: - executionResult: ca1c21ad62d8114bce7916ae13e90d1a47d3ac72 + executionResult: 9cc4d5e5d01a8a6c15dd52a5a9113375507c1699 fileName: test_xlsx format: XLSX customOverride: @@ -251,10 +251,10 @@ interactions: - 1 ; mode=block body: string: - exportResult: 6a3d3cf077f0cf142129a4f918841e806c993dae + exportResult: e3e74d1c8ec1333b94185b33b82567d7da66c867 - request: method: GET - uri: http://localhost:3000/api/v1/actions/workspaces/demo/export/tabular/6a3d3cf077f0cf142129a4f918841e806c993dae + uri: http://localhost:3000/api/v1/actions/workspaces/demo/export/tabular/e3e74d1c8ec1333b94185b33b82567d7da66c867 body: null headers: Accept: @@ -325,7 +325,7 @@ interactions: string: '' - request: method: GET - uri: http://localhost:3000/api/v1/actions/workspaces/demo/export/tabular/6a3d3cf077f0cf142129a4f918841e806c993dae + uri: http://localhost:3000/api/v1/actions/workspaces/demo/export/tabular/e3e74d1c8ec1333b94185b33b82567d7da66c867 body: null headers: Accept: @@ -354,7 +354,7 @@ interactions: Content-Disposition: - attachment;filename*=utf-8''test_xlsx.xlsx Content-Length: - - '7610' + - '7609' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -508,29 +508,29 @@ interactions: BzREgkKnU5EgZF+Vdr6GmVPXn68zRmWfmasr0+J3SI4IG2TV28zst1A06yalI3Lc6aDZpuoahv3/ 8OTjrph8zh4PFoLc88wirtb0tUfBxtupcM5Hbd1scd1b+1GbwuEDZV/QuKnw2WK+HfADiD6aT5QI EvFSqyy/+eYQdG5pxmWs/tkxahGC1op4X+TwqTm7scLZZ4t7c2d7Bl97Z7vaXi5RWzvI5KulP574 - 8D7I3oGD0oQpWbxNegBHze7sLwPgYy9It/4GUEsDBBQAAAAIAAAAPwC1eIxLJQEAAFACAAARAAAA - ZG9jUHJvcHMvY29yZS54bWydks1qwzAQhO99CqO7LcumoRW2A23JqYFCU1pyE9ImEbV+kNQ6efvK - TuIk4FOPq5n9dnZRNd+rNvkF56XRNSJZjhLQ3AiptzX6WC3SB5T4wLRgrdFQowN4NG/uKm4pNw7e - nLHgggSfRJD2lNsa7UKwFGPPd6CYz6JDR3FjnGIhlm6LLePfbAu4yPMZVhCYYIHhHpjakYhOSMFH - pP1x7QAQHEMLCnTwmGQEX7wBnPKTDYNy5VQyHCxMWs/i6N57ORq7rsu6crDG/AR/LV/fh1VTqftT - cUBNJTjlDlgwrqnwdREP1zIflvHEGwni6RD1ibfTIsc+EEkMQI9xz8pn+fyyWqCmyIsyJXmakxV5 - pPczWpB1P/Km/wJUpyH/Jp4Bx9y3n6D5A1BLAwQUAAAACAAAAD8ABHFFY3sBAAATAwAAEAAAAGRv - Y1Byb3BzL2FwcC54bWydUsFO4zAQvfMVke/UabVaocoxWpVd9bCISi1wXBln0lh1bMszRClfj5Oq - IYU94dObN0/PzzMWt11jsxYiGu8KNp/lLAOnfWncvmCPuz/XNyxDUq5U1jso2BGQ3corsYk+QCQD - mCUHhwWricKSc9Q1NApnqe1Sp/KxUZTKuOe+qoyGO69fG3DEF3n+k0NH4Eoor8NoyE6Oy5a+a1p6 - 3efDp90xJD8pfoVgjVaUHinvjY4efUXZ706DFXzaFMloC/o1GjrKXPBpKbZaWVglY1kpiyD4ByHW - oPqZbZSJKEVLyxY0+ZiheUtTW7DsRSH0cQrWqmiUI3aSnYoB24AU5bOPB6wBCAUfyQFOtVNsfsj5 - IEjgUsjHIAlfRtwZsoAP1UZF+k/i+TTxkIFNMhIg/essdl8ini/7ZL/yTVAuzZCP6K9xB3wMO3+n - CM4TvSTFtlYRyrSEceIjIdYpWrS9flUrt4fyrPna6Pf/dPrjcr6Y5ekMaz9zgn98Z/kOUEsBAhQD - FAAAAAgAAAA/AGFdSTpPAQAAjwQAABMAAAAAAAAAAAAAAICBAAAAAFtDb250ZW50X1R5cGVzXS54 - bWxQSwECFAMUAAAACAAAAD8A8p9J2ukAAABLAgAACwAAAAAAAAAAAAAAgIGAAQAAX3JlbHMvLnJl - bHNQSwECFAMUAAAACAAAAD8ARHVb8OgAAAC5AgAAGgAAAAAAAAAAAAAAgIGSAgAAeGwvX3JlbHMv - d29ya2Jvb2sueG1sLnJlbHNQSwECFAMUAAAACAAAAD8ApzA+QlsHAABQIwAAGAAAAAAAAAAAAAAA - gIGyAwAAeGwvd29ya3NoZWV0cy9zaGVldDEueG1sUEsBAhQDFAAAAAgAAAA/AAjizPlMAQAAKQIA - AA8AAAAAAAAAAAAAAICBQwsAAHhsL3dvcmtib29rLnhtbFBLAQIUAxQAAAAIAAAAPwBbh3NUDwIA - ACwGAAAUAAAAAAAAAAAAAACAgbwMAAB4bC9zaGFyZWRTdHJpbmdzLnhtbFBLAQIUAxQAAAAIAAAA - PwCCg3RkHgMAAIUTAAANAAAAAAAAAAAAAACAgf0OAAB4bC9zdHlsZXMueG1sUEsBAhQDFAAAAAgA - AAA/ABj6RlSwBQAAUhsAABMAAAAAAAAAAAAAAICBRhIAAHhsL3RoZW1lL3RoZW1lMS54bWxQSwEC - FAMUAAAACAAAAD8AtXiMSyUBAABQAgAAEQAAAAAAAAAAAAAAgIEnGAAAZG9jUHJvcHMvY29yZS54 - bWxQSwECFAMUAAAACAAAAD8ABHFFY3sBAAATAwAAEAAAAAAAAAAAAAAAgIF7GQAAZG9jUHJvcHMv - YXBwLnhtbFBLBQYAAAAACgAKAIACAAAkGwAAAAA= + 8D7I3oGD0oQpWbxNegBHze7sLwPgYy9It/4GUEsDBBQAAAAIAAAAPwC5WmGxJAEAAFACAAARAAAA + ZG9jUHJvcHMvY29yZS54bWydks1qwzAQhO99CqO7LcsOJQjbgbbk1EChLi29CWmTiFo/SGodv30V + J3ESyCnH1cx+O7uoWuxUl/yB89LoGpEsRwloboTUmxp9tMt0jhIfmBasMxpqNIBHi+ah4pZy4+DN + GQsuSPBJBGlPua3RNgRLMfZ8C4r5LDp0FNfGKRZi6TbYMv7DNoCLPH/ECgITLDC8B6Z2IqIjUvAJ + aX9dNwIEx9CBAh08JhnBZ28Ap/zNhlG5cCoZBgs3rSdxcu+8nIx932d9OVpjfoK/Vq/v46qp1PtT + cUBNJTjlDlgwrqnwZREP1zEfVvHEawniaYj6jbfjIoc+EEkMQA9xT8pn+fzSLlFT5EWZkjwtZi0h + lMzprPzej7zqPwPVccjdxBPgkPv6EzT/UEsDBBQAAAAIAAAAPwAEcUVjewEAABMDAAAQAAAAZG9j + UHJvcHMvYXBwLnhtbJ1SwU7jMBC98xWR79RptVqhyjFalV31sIhKLXBcGWfSWHVsyzNEKV+Pk6oh + hT3h05s3T8/PMxa3XWOzFiIa7wo2n+UsA6d9ady+YI+7P9c3LENSrlTWOyjYEZDdyiuxiT5AJAOY + JQeHBauJwpJz1DU0Cmep7VKn8rFRlMq4576qjIY7r18bcMQXef6TQ0fgSiivw2jITo7Llr5rWnrd + 58On3TEkPyl+hWCNVpQeKe+Njh59RdnvToMVfNoUyWgL+jUaOspc8GkptlpZWCVjWSmLIPgHIdag + +pltlIkoRUvLFjT5mKF5S1NbsOxFIfRxCtaqaJQjdpKdigHbgBTls48HrAEIBR/JAU61U2x+yPkg + SOBSyMcgCV9G3BmygA/VRkX6T+L5NPGQgU0yEiD96yx2XyKeL/tkv/JNUC7NkI/or3EHfAw7f6cI + zhO9JMW2VhHKtIRx4iMh1ilatL1+VSu3h/Ks+dro9/90+uNyvpjl6QxrP3OCf3xn+Q5QSwECFAMU + AAAACAAAAD8AYV1JOk8BAACPBAAAEwAAAAAAAAAAAAAAgIEAAAAAW0NvbnRlbnRfVHlwZXNdLnht + bFBLAQIUAxQAAAAIAAAAPwDyn0na6QAAAEsCAAALAAAAAAAAAAAAAACAgYABAABfcmVscy8ucmVs + c1BLAQIUAxQAAAAIAAAAPwBEdVvw6AAAALkCAAAaAAAAAAAAAAAAAACAgZICAAB4bC9fcmVscy93 + b3JrYm9vay54bWwucmVsc1BLAQIUAxQAAAAIAAAAPwCnMD5CWwcAAFAjAAAYAAAAAAAAAAAAAACA + gbIDAAB4bC93b3Jrc2hlZXRzL3NoZWV0MS54bWxQSwECFAMUAAAACAAAAD8ACOLM+UwBAAApAgAA + DwAAAAAAAAAAAAAAgIFDCwAAeGwvd29ya2Jvb2sueG1sUEsBAhQDFAAAAAgAAAA/AFuHc1QPAgAA + LAYAABQAAAAAAAAAAAAAAICBvAwAAHhsL3NoYXJlZFN0cmluZ3MueG1sUEsBAhQDFAAAAAgAAAA/ + AIKDdGQeAwAAhRMAAA0AAAAAAAAAAAAAAICB/Q4AAHhsL3N0eWxlcy54bWxQSwECFAMUAAAACAAA + AD8AGPpGVLAFAABSGwAAEwAAAAAAAAAAAAAAgIFGEgAAeGwvdGhlbWUvdGhlbWUxLnhtbFBLAQIU + AxQAAAAIAAAAPwC5WmGxJAEAAFACAAARAAAAAAAAAAAAAACAgScYAABkb2NQcm9wcy9jb3JlLnht + bFBLAQIUAxQAAAAIAAAAPwAEcUVjewEAABMDAAAQAAAAAAAAAAAAAACAgXoZAABkb2NQcm9wcy9h + cHAueG1sUEsFBgAAAAAKAAoAgAIAACMbAAAAAA== diff --git a/gooddata-sdk/tests/export/fixtures/test_export_excel_by_insight_id.yaml b/gooddata-sdk/tests/export/fixtures/test_export_excel_by_insight_id.yaml index 18da17349..da364b0ce 100644 --- a/gooddata-sdk/tests/export/fixtures/test_export_excel_by_insight_id.yaml +++ b/gooddata-sdk/tests/export/fixtures/test_export_excel_by_insight_id.yaml @@ -151,7 +151,7 @@ interactions: rotation: auto version: '2' visualizationUrl: local:combo2 - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 relationships: createdBy: data: @@ -195,7 +195,7 @@ interactions: type: metric attributes: title: '# of Active Customers' - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 content: format: '#,##0' maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) @@ -205,7 +205,7 @@ interactions: type: metric attributes: title: Revenue per Customer - createdAt: 2023-10-01 19:56 + createdAt: 2023-10-24 11:18 content: format: $#,##0.0 maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) @@ -375,10 +375,10 @@ interactions: name: Revenue per Customer localIdentifier: dim_1 links: - executionResult: 450bebe463cc16dc0d6a02fa2074a3fe981b55b4 + executionResult: 6423dcf3a78558dfc3702a9d4a1231489f0a3ff2 - request: method: GET - uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/450bebe463cc16dc0d6a02fa2074a3fe981b55b4?offset=0%2C0&limit=512%2C256 + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/6423dcf3a78558dfc3702a9d4a1231489f0a3ff2?offset=0%2C0&limit=512%2C256 body: null headers: Accept: @@ -536,7 +536,7 @@ interactions: method: POST uri: http://localhost:3000/api/v1/actions/workspaces/demo/export/tabular body: - executionResult: 450bebe463cc16dc0d6a02fa2074a3fe981b55b4 + executionResult: 6423dcf3a78558dfc3702a9d4a1231489f0a3ff2 fileName: Customers Trend format: XLSX customOverride: @@ -621,10 +621,10 @@ interactions: - 1 ; mode=block body: string: - exportResult: 40f40b86ada7b4b2e6f486402e134ccf04d33759 + exportResult: 042970ef8de7afd71bbc95234948116e7610e769 - request: method: GET - uri: http://localhost:3000/api/v1/actions/workspaces/demo/export/tabular/40f40b86ada7b4b2e6f486402e134ccf04d33759 + uri: http://localhost:3000/api/v1/actions/workspaces/demo/export/tabular/042970ef8de7afd71bbc95234948116e7610e769 body: null headers: Accept: @@ -695,7 +695,7 @@ interactions: string: '' - request: method: GET - uri: http://localhost:3000/api/v1/actions/workspaces/demo/export/tabular/40f40b86ada7b4b2e6f486402e134ccf04d33759 + uri: http://localhost:3000/api/v1/actions/workspaces/demo/export/tabular/042970ef8de7afd71bbc95234948116e7610e769 body: null headers: Accept: @@ -853,12 +853,12 @@ interactions: G2TV28zst1A06yalI3Lc6aDZpuoahv3/8OTjrph8zh4PFoLc88wirtb0tUfBxtupcM5Hbd1scd1b +1GbwuEDZV/QuKnw2WK+HfADiD6aT5QIEvFSqyy/+eYQdG5pxmWs/tkxahGC1op4X+TwqTm7scLZ Z4t7c2d7Bl97Z7vaXi5RWzvI5KulP5748D7I3oGD0oQpWbxNegBHze7sLwPgYy9It/4GUEsDBBQA - AAAIAAAAPwDT2cyqJQEAAFACAAARAAAAZG9jUHJvcHMvY29yZS54bWydks1qwzAQhO99CqO7Lcum - oRW2A23JqYFCU1pyE9ImEbV+kNQ6efvKTuIk4FOPq5n9dnZRNd+rNvkF56XRNSJZjhLQ3AiptzX6 - WC3SB5T4wLRgrdFQowN4NG/uKm4pNw7enLHgggSfRJD2lNsa7UKwFGPPd6CYz6JDR3FjnGIhlm6L - LePfbAu4yPMZVhCYYIHhHpjakYhOSMFHpP1x7QAQHEMLCnTwmGQEX7wBnPKTDYNy5VQyHCxMWs/i - 6N57ORq7rsu6crDG/AR/LV/fh1VTqftTcUBNJTjlDlgwrqnwdREP1zIflvHEGwni6RD1ibfTIsc+ - EEkMQI9xz8pn+fyyWqCmyIsyJXmakxV5pPczWhTrfuRN/wWoTkP+TTwDjrlvP0HzB1BLAwQUAAAA + AAAIAAAAPwAWga73JQEAAFACAAARAAAAZG9jUHJvcHMvY29yZS54bWydks1qwzAQhO99CqO7Lcsx + JQjbgbbk1EChKS29CWmTiFo/SGodv30VJ3ES8CnH1cx+O7uoWuxVm/yB89LoGpEsRwloboTU2xp9 + rJfpHCU+MC1YazTUqAePFs1DxS3lxsGbMxZckOCTCNKeclujXQiWYuz5DhTzWXToKG6MUyzE0m2x + ZfyHbQEXef6IFQQmWGD4AEztSEQnpOAj0v66dgAIjqEFBTp4TDKCL94ATvnJhkG5cioZeguT1rM4 + uvdejsau67JuNlhjfoK/Vq/vw6qp1IdTcUBNJTjlDlgwrqnwdREP1zIfVvHEGwniqY/6xNtpkWMf + iCQGoMe4Z+Vz9vyyXqKmyItZSvK0KNeEUDKnZfl9GHnTfwGq05C7iWfAMfftJ2j+AVBLAwQUAAAA CAAAAD8AssAyR34BAAAZAwAAEAAAAGRvY1Byb3BzL2FwcC54bWydUsFO6zAQvPMVke/UaYXQU+UY oQLiwNOr1ABn42waC8e2vNuofV+Pk6ohBU7kNDs7Gk92V9zsW5t1ENF4V7D5LGcZOO0r47YFey4f Lv+wDEm5SlnvoGAHQHYjL8Q6+gCRDGCWHBwWrCEKS85RN9AqnKW2S53ax1ZRKuOW+7o2Gu683rXg @@ -875,6 +875,6 @@ interactions: LnhtbFBLAQIUAxQAAAAIAAAAPwCICTc14wAAAB0CAAAUAAAAAAAAAAAAAACAgVEIAAB4bC9zaGFy ZWRTdHJpbmdzLnhtbFBLAQIUAxQAAAAIAAAAPwAf9bHeAwMAAA8RAAANAAAAAAAAAAAAAACAgWYJ AAB4bC9zdHlsZXMueG1sUEsBAhQDFAAAAAgAAAA/ABj6RlSwBQAAUhsAABMAAAAAAAAAAAAAAICB - lAwAAHhsL3RoZW1lL3RoZW1lMS54bWxQSwECFAMUAAAACAAAAD8A09nMqiUBAABQAgAAEQAAAAAA + lAwAAHhsL3RoZW1lL3RoZW1lMS54bWxQSwECFAMUAAAACAAAAD8AFoGu9yUBAABQAgAAEQAAAAAA AAAAAAAAgIF1EgAAZG9jUHJvcHMvY29yZS54bWxQSwECFAMUAAAACAAAAD8AssAyR34BAAAZAwAA EAAAAAAAAAAAAAAAgIHJEwAAZG9jUHJvcHMvYXBwLnhtbFBLBQYAAAAACgAKAIACAAB1FQAAAAA= diff --git a/gooddata-sdk/tests/table/fixtures/table_with_attribute_and_metric.yaml b/gooddata-sdk/tests/table/fixtures/table_with_attribute_and_metric.yaml index 928aba080..a68c2556c 100644 --- a/gooddata-sdk/tests/table/fixtures/table_with_attribute_and_metric.yaml +++ b/gooddata-sdk/tests/table/fixtures/table_with_attribute_and_metric.yaml @@ -130,10 +130,10 @@ interactions: name: Order Amount localIdentifier: dim_1 links: - executionResult: cfe3946e445c0503ae3cc6cb8aea5c1f77b11704 + executionResult: 23c0b20d992f606c72bd750badb057b482c778e3 - request: method: GET - uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/cfe3946e445c0503ae3cc6cb8aea5c1f77b11704?offset=0%2C0&limit=512%2C256 + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/23c0b20d992f606c72bd750badb057b482c778e3?offset=0%2C0&limit=512%2C256 body: null headers: Accept: diff --git a/gooddata-sdk/tests/table/fixtures/table_with_attribute_metric_and_filter.yaml b/gooddata-sdk/tests/table/fixtures/table_with_attribute_metric_and_filter.yaml index 42eec1f8c..a50e54916 100644 --- a/gooddata-sdk/tests/table/fixtures/table_with_attribute_metric_and_filter.yaml +++ b/gooddata-sdk/tests/table/fixtures/table_with_attribute_metric_and_filter.yaml @@ -137,10 +137,10 @@ interactions: name: Order Amount localIdentifier: dim_1 links: - executionResult: 1b8adea111e9f29e289113d99517606d14680b0a + executionResult: a3e8f46b7e5cc76950fdedd0d197428be2989a87 - request: method: GET - uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/1b8adea111e9f29e289113d99517606d14680b0a?offset=0%2C0&limit=512%2C256 + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/a3e8f46b7e5cc76950fdedd0d197428be2989a87?offset=0%2C0&limit=512%2C256 body: null headers: Accept: diff --git a/gooddata-sdk/tests/table/fixtures/table_with_attribute_show_all_values.yaml b/gooddata-sdk/tests/table/fixtures/table_with_attribute_show_all_values.yaml index 397a1c296..8924b35bd 100644 --- a/gooddata-sdk/tests/table/fixtures/table_with_attribute_show_all_values.yaml +++ b/gooddata-sdk/tests/table/fixtures/table_with_attribute_show_all_values.yaml @@ -132,10 +132,10 @@ interactions: - localIdentifier: metric1 localIdentifier: dim_1 links: - executionResult: 9f044631ef5e7fe1758e3e783dc4cee676f8b027 + executionResult: 744ba03ada81e31c22f09cd8e6a41bbd9a94b688 - request: method: GET - uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/9f044631ef5e7fe1758e3e783dc4cee676f8b027?offset=0%2C0&limit=512%2C256 + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/744ba03ada81e31c22f09cd8e6a41bbd9a94b688?offset=0%2C0&limit=512%2C256 body: null headers: Accept: @@ -570,10 +570,10 @@ interactions: - localIdentifier: metric1 localIdentifier: dim_1 links: - executionResult: e360761ed867128fa8d0f3a28de53ff12338bf18 + executionResult: 4ac6567eb133d203aadb748dc3af6389ea90b1b3 - request: method: GET - uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/e360761ed867128fa8d0f3a28de53ff12338bf18?offset=0%2C0&limit=512%2C256 + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/4ac6567eb133d203aadb748dc3af6389ea90b1b3?offset=0%2C0&limit=512%2C256 body: null headers: Accept: @@ -1004,10 +1004,10 @@ interactions: - localIdentifier: metric1 localIdentifier: dim_1 links: - executionResult: 90e27bd6798a9b195b2b24660d8b70c67f49906a + executionResult: ebcc3526b0ed3405f656eb2a45183df03a7e2bcc - request: method: GET - uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/90e27bd6798a9b195b2b24660d8b70c67f49906a?offset=0%2C0&limit=512%2C256 + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/ebcc3526b0ed3405f656eb2a45183df03a7e2bcc?offset=0%2C0&limit=512%2C256 body: null headers: Accept: diff --git a/gooddata-sdk/tests/table/fixtures/table_with_just_attribute.yaml b/gooddata-sdk/tests/table/fixtures/table_with_just_attribute.yaml index 358dc425d..c9164bb79 100644 --- a/gooddata-sdk/tests/table/fixtures/table_with_just_attribute.yaml +++ b/gooddata-sdk/tests/table/fixtures/table_with_just_attribute.yaml @@ -112,10 +112,10 @@ interactions: type: label localIdentifier: dim_0 links: - executionResult: 003a995d65891393d79eefc059de52f062ebf547 + executionResult: 79bb15d1d68bbd4be392d1031ed7c930215302e9 - request: method: GET - uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/003a995d65891393d79eefc059de52f062ebf547?offset=0&limit=512 + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/79bb15d1d68bbd4be392d1031ed7c930215302e9?offset=0&limit=512 body: null headers: Accept: diff --git a/gooddata-sdk/tests/table/fixtures/table_with_just_metric.yaml b/gooddata-sdk/tests/table/fixtures/table_with_just_metric.yaml index 1deb08dcd..a5181aeb6 100644 --- a/gooddata-sdk/tests/table/fixtures/table_with_just_metric.yaml +++ b/gooddata-sdk/tests/table/fixtures/table_with_just_metric.yaml @@ -106,10 +106,10 @@ interactions: name: Order Amount localIdentifier: dim_0 links: - executionResult: 1af672b405029e3a4e9fa7cce42022338584c000 + executionResult: 478e6971b94d29ae201a82868cbafa70d2757c6a - request: method: GET - uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/1af672b405029e3a4e9fa7cce42022338584c000?offset=0&limit=256 + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/478e6971b94d29ae201a82868cbafa70d2757c6a?offset=0&limit=256 body: null headers: Accept: diff --git a/schemas/gooddata-afm-client.json b/schemas/gooddata-afm-client.json index 822a9ebfe..6a0f654f4 100644 --- a/schemas/gooddata-afm-client.json +++ b/schemas/gooddata-afm-client.json @@ -756,7 +756,7 @@ "type": "boolean" }, "dataSamplingPercentage": { - "default": 100, + "default": 100.0, "deprecated": true, "description": "Specifies percentage of source table data scanned during the computation. This field is deprecated and is no longer used during the elements computation.", "format": "float", @@ -765,7 +765,7 @@ "exactFilter": { "description": "Return only items, whose ```label``` title exactly matches one of ```filter```.", "items": { - "description": "Return only items, whose ```label``` title exactly matches one of ```filter```.", + "nullable": true, "type": "string" }, "type": "array" @@ -780,6 +780,7 @@ }, "label": { "description": "Requested label.", + "example": "label_id", "pattern": "^(?!\\.)[.A-Za-z0-9_-]{1,255}$", "type": "string" }, @@ -885,7 +886,7 @@ "description": "A multi-dimensional array of computed results. The most common one being a 2-dimensional array. The arrays can be composed of Double or null values.", "example": [ [ - 1, + 1.0, 2.5 ], [ @@ -930,7 +931,7 @@ "description": "A multi-dimensional array of computed results. The most common one being a 2-dimensional array. The arrays can be composed of Double or null values.", "example": [ [ - 1, + 1.0, 2.5 ], [ diff --git a/schemas/gooddata-api-client.json b/schemas/gooddata-api-client.json index 7969dc027..bc2cd070a 100644 --- a/schemas/gooddata-api-client.json +++ b/schemas/gooddata-api-client.json @@ -432,6 +432,7 @@ "Contract", "CustomTheming", "ExtraCache", + "Hipaa", "PdfExports", "ManagedOIDC", "UiLocalization", @@ -510,6 +511,21 @@ ], "type": "object" }, + "AssigneeRule": { + "description": "Identifier of an assignee rule.", + "properties": { + "type": { + "enum": [ + "allWorkspaceUsers" + ], + "type": "string" + } + }, + "required": [ + "type" + ], + "type": "object" + }, "AttributeExecutionResultHeader": { "properties": { "attributeHeader": { @@ -821,6 +837,13 @@ }, "DashboardPermissions": { "properties": { + "rules": { + "description": "List of rules", + "items": { + "$ref": "#/components/schemas/RulePermission" + }, + "type": "array" + }, "userGroups": { "description": "List of user groups", "items": { @@ -837,11 +860,32 @@ } }, "required": [ + "rules", "userGroups", "users" ], "type": "object" }, + "DashboardPermissionsAssignment": { + "description": "Desired levels of permissions for an assignee.", + "properties": { + "permissions": { + "items": { + "enum": [ + "EDIT", + "SHARE", + "VIEW" + ], + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "permissions" + ], + "type": "object" + }, "DataColumnLocator": { "description": "Mapping from dimension items (either 'localIdentifier' from 'AttributeItem', or \"measureGroup\") to their respective values. This effectively specifies the path (location) of the data column used for sorting. Therefore values for all dimension items must be specified.", "example": { @@ -1083,7 +1127,14 @@ "permissions": { "description": "A list of permissions.", "items": { - "$ref": "#/components/schemas/DeclarativeAnalyticalDashboardPermission" + "oneOf": [ + { + "$ref": "#/components/schemas/DeclarativeAnalyticalDashboardPermissionForAssignee" + }, + { + "$ref": "#/components/schemas/DeclarativeAnalyticalDashboardPermissionForAssigneeRule" + } + ] }, "type": "array" }, @@ -1125,7 +1176,14 @@ "permissions": { "description": "A list of permissions.", "items": { - "$ref": "#/components/schemas/DeclarativeAnalyticalDashboardPermission" + "oneOf": [ + { + "$ref": "#/components/schemas/DeclarativeAnalyticalDashboardPermissionForAssignee" + }, + { + "$ref": "#/components/schemas/DeclarativeAnalyticalDashboardPermissionForAssigneeRule" + } + ] }, "type": "array" } @@ -1136,12 +1194,9 @@ ], "type": "object" }, - "DeclarativeAnalyticalDashboardPermission": { + "DeclarativeAnalyticalDashboardPermissionAssignment": { "description": "Analytical dashboard permission.", "properties": { - "assignee": { - "$ref": "#/components/schemas/AssigneeIdentifier" - }, "name": { "description": "Permission name.", "enum": [ @@ -1152,12 +1207,53 @@ "type": "string" } }, + "required": [ + "name" + ], + "type": "object" + }, + "DeclarativeAnalyticalDashboardPermissionForAssignee": { + "allOf": [ + { + "$ref": "#/components/schemas/DeclarativeAnalyticalDashboardPermissionAssignment" + }, + { + "properties": { + "assignee": { + "$ref": "#/components/schemas/AssigneeIdentifier" + } + }, + "type": "object" + } + ], + "description": "Analytical dashboard permission for an assignee.", "required": [ "assignee", "name" ], "type": "object" }, + "DeclarativeAnalyticalDashboardPermissionForAssigneeRule": { + "allOf": [ + { + "$ref": "#/components/schemas/DeclarativeAnalyticalDashboardPermissionAssignment" + }, + { + "properties": { + "assigneeRule": { + "$ref": "#/components/schemas/AssigneeRule" + } + }, + "type": "object" + } + ], + "description": "Analytical dashboard permission for a collection of assignees identified by a rule.", + "required": [ + "assigneeRule", + "name" + ], + "type": "object" + }, "DeclarativeAnalytics": { "description": "Entities describing users' view on data.", "properties": { @@ -2293,7 +2389,8 @@ "name": { "description": "Permission name.", "enum": [ - "MANAGE" + "MANAGE", + "SELF_CREATE_TOKEN" ], "type": "string" } @@ -3419,7 +3516,7 @@ "type": "boolean" }, "dataSamplingPercentage": { - "default": 100, + "default": 100.0, "deprecated": true, "description": "Specifies percentage of source table data scanned during the computation. This field is deprecated and is no longer used during the elements computation.", "format": "float", @@ -3428,7 +3525,7 @@ "exactFilter": { "description": "Return only items, whose ```label``` title exactly matches one of ```filter```.", "items": { - "description": "Return only items, whose ```label``` title exactly matches one of ```filter```.", + "nullable": true, "type": "string" }, "type": "array" @@ -3443,6 +3540,7 @@ }, "label": { "description": "Requested label.", + "example": "label_id", "pattern": "^(?!\\.)[.A-Za-z0-9_-]{1,255}$", "type": "string" }, @@ -3521,6 +3619,7 @@ "Contract", "CustomTheming", "ExtraCache", + "Hipaa", "PdfExports", "ManagedOIDC", "UiLocalization", @@ -3609,7 +3708,7 @@ "description": "A multi-dimensional array of computed results. The most common one being a 2-dimensional array. The arrays can be composed of Double or null values.", "example": [ [ - 1, + 1.0, 2.5 ], [ @@ -3654,7 +3753,7 @@ "description": "A multi-dimensional array of computed results. The most common one being a 2-dimensional array. The arrays can be composed of Double or null values.", "example": [ [ - 1, + 1.0, 2.5 ], [ @@ -9436,7 +9535,8 @@ "description": "List of valid permissions for a logged-in user.", "items": { "enum": [ - "MANAGE" + "MANAGE", + "SELF_CREATE_TOKEN" ], "type": "string" }, @@ -13196,6 +13296,29 @@ }, "type": "object" }, + "OrganizationPermissionAssignment": { + "description": "Organization permission assignments", + "properties": { + "assigneeIdentifier": { + "$ref": "#/components/schemas/AssigneeIdentifier" + }, + "permissions": { + "items": { + "enum": [ + "MANAGE", + "SELF_CREATE_TOKEN" + ], + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "assigneeIdentifier", + "permissions" + ], + "type": "object" + }, "Paging": { "description": "Current page description.", "properties": { @@ -13316,29 +13439,47 @@ "type": "object" }, "PermissionsForAssignee": { - "description": "Desired levels of permissions for an assignee.", - "properties": { - "assigneeIdentifier": { - "$ref": "#/components/schemas/AssigneeIdentifier" + "allOf": [ + { + "$ref": "#/components/schemas/DashboardPermissionsAssignment" }, - "permissions": { - "items": { - "enum": [ - "EDIT", - "SHARE", - "VIEW" - ], - "type": "string" + { + "properties": { + "assigneeIdentifier": { + "$ref": "#/components/schemas/AssigneeIdentifier" + } }, - "type": "array" + "type": "object" } - }, + ], + "description": "Desired levels of permissions for an assignee identified by an identifier.", "required": [ "assigneeIdentifier", "permissions" ], "type": "object" }, + "PermissionsForAssigneeRule": { + "allOf": [ + { + "$ref": "#/components/schemas/DashboardPermissionsAssignment" + }, + { + "properties": { + "assigneeRule": { + "$ref": "#/components/schemas/AssigneeRule" + } + }, + "type": "object" + } + ], + "description": "Desired levels of permissions for a collection of assignees identified by a rule.", + "required": [ + "assigneeRule", + "permissions" + ], + "type": "object" + }, "PlatformUsage": { "properties": { "count": { @@ -13897,6 +14038,27 @@ ], "type": "object" }, + "RulePermission": { + "description": "List of rules", + "properties": { + "permissions": { + "description": "Permissions granted by the rule", + "items": { + "$ref": "#/components/schemas/GrantedPermission" + }, + "type": "array" + }, + "type": { + "description": "Type of the rule", + "example": "allWorkspaceUsers", + "type": "string" + } + }, + "required": [ + "type" + ], + "type": "object" + }, "ScanRequest": { "description": "A request containing all information critical to model scanning.", "properties": { @@ -14935,7 +15097,7 @@ "x-gdc-security-info": { "description": "Minimal permission required to use this endpoint.", "permissions": [ - "MANAGE" + "USE" ] } } @@ -15181,6 +15343,35 @@ } } }, + "/api/v1/actions/organization/managePermissions": { + "post": { + "description": "Manage Permissions for a Organization", + "operationId": "manageOrganizationPermissions", + "requestBody": { + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/OrganizationPermissionAssignment" + }, + "type": "array" + } + } + }, + "required": true + }, + "responses": { + "204": { + "description": "No Content" + } + }, + "summary": "Manage Permissions for a Organization", + "tags": [ + "Permissions", + "actions" + ] + } + }, "/api/v1/actions/resolveEntitlements": { "get": { "description": "Resolves values of available entitlements for the organization.", @@ -15380,7 +15571,14 @@ "schema": { "description": "An array of permissions assignments", "items": { - "$ref": "#/components/schemas/PermissionsForAssignee" + "oneOf": [ + { + "$ref": "#/components/schemas/PermissionsForAssignee" + }, + { + "$ref": "#/components/schemas/PermissionsForAssigneeRule" + } + ] }, "type": "array" } @@ -25889,9 +26087,9 @@ "workspace-object-controller" ], "x-gdc-security-info": { - "description": "Contains minimal permission level required to manage this object type.", + "description": "Contains minimal permission level required to manage WorkspaceDataFilter/Settings for the workspace the WDF originates and related workspace hierarchy.", "permissions": [ - "ANALYZE" + "MANAGE" ] } } @@ -25938,9 +26136,9 @@ "workspace-object-controller" ], "x-gdc-security-info": { - "description": "Contains minimal permission level required to manage this object type.", + "description": "Contains minimal permission level required to manage WorkspaceDataFilter/Settings for the workspace the WDF originates and related workspace hierarchy.", "permissions": [ - "ANALYZE" + "MANAGE" ] } }, @@ -26105,9 +26303,9 @@ "workspace-object-controller" ], "x-gdc-security-info": { - "description": "Contains minimal permission level required to manage this object type.", + "description": "Contains minimal permission level required to manage WorkspaceDataFilter/Settings for the workspace the WDF originates and related workspace hierarchy.", "permissions": [ - "ANALYZE" + "MANAGE" ] } }, @@ -26189,9 +26387,9 @@ "workspace-object-controller" ], "x-gdc-security-info": { - "description": "Contains minimal permission level required to manage this object type.", + "description": "Contains minimal permission level required to manage WorkspaceDataFilter/Settings for the workspace the WDF originates and related workspace hierarchy.", "permissions": [ - "ANALYZE" + "MANAGE" ] } } @@ -26357,9 +26555,9 @@ "workspace-object-controller" ], "x-gdc-security-info": { - "description": "Contains minimal permission level required to manage this object type.", + "description": "Contains minimal permission level required to manage WorkspaceDataFilter/Settings for the workspace the WDF originates and related workspace hierarchy.", "permissions": [ - "ANALYZE" + "MANAGE" ] } } @@ -26406,9 +26604,9 @@ "workspace-object-controller" ], "x-gdc-security-info": { - "description": "Contains minimal permission level required to manage this object type.", + "description": "Contains minimal permission level required to manage WorkspaceDataFilter/Settings for the workspace the WDF originates and related workspace hierarchy.", "permissions": [ - "ANALYZE" + "MANAGE" ] } }, @@ -26573,9 +26771,9 @@ "workspace-object-controller" ], "x-gdc-security-info": { - "description": "Contains minimal permission level required to manage this object type.", + "description": "Contains minimal permission level required to manage WorkspaceDataFilter/Settings for the workspace the WDF originates and related workspace hierarchy.", "permissions": [ - "ANALYZE" + "MANAGE" ] } }, @@ -26657,9 +26855,9 @@ "workspace-object-controller" ], "x-gdc-security-info": { - "description": "Contains minimal permission level required to manage this object type.", + "description": "Contains minimal permission level required to manage WorkspaceDataFilter/Settings for the workspace the WDF originates and related workspace hierarchy.", "permissions": [ - "ANALYZE" + "MANAGE" ] } } @@ -27290,6 +27488,71 @@ } } }, + "/api/v1/layout/organization/permissions": { + "get": { + "description": "Retrieve organization permissions", + "operationId": "getOrganizationPermissions", + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/DeclarativeOrganizationPermission" + }, + "type": "array" + } + } + }, + "description": "Retrieved all organization permissions." + } + }, + "summary": "Get organization permissions", + "tags": [ + "layout", + "Permissions" + ], + "x-gdc-security-info": { + "description": "Permission required to get organization permissions.", + "permissions": [ + "MANAGE" + ] + } + }, + "put": { + "description": "Sets organization permissions", + "operationId": "setOrganizationPermissions", + "requestBody": { + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/DeclarativeOrganizationPermission" + }, + "type": "array" + } + } + }, + "required": true + }, + "responses": { + "204": { + "description": "Organization permissions set." + } + }, + "summary": "Set organization permissions", + "tags": [ + "layout", + "Permissions" + ], + "x-gdc-security-info": { + "description": "Permission required to set organization permissions.", + "permissions": [ + "MANAGE" + ] + } + } + }, "/api/v1/layout/userGroups": { "get": { "description": "Retrieve all user-groups eventually with parent group.", diff --git a/schemas/gooddata-metadata-client.json b/schemas/gooddata-metadata-client.json index 9bcac1689..e6e96b43c 100644 --- a/schemas/gooddata-metadata-client.json +++ b/schemas/gooddata-metadata-client.json @@ -58,6 +58,7 @@ "Contract", "CustomTheming", "ExtraCache", + "Hipaa", "PdfExports", "ManagedOIDC", "UiLocalization", @@ -99,6 +100,21 @@ ], "type": "object" }, + "AssigneeRule": { + "description": "Identifier of an assignee rule.", + "properties": { + "type": { + "enum": [ + "allWorkspaceUsers" + ], + "type": "string" + } + }, + "required": [ + "type" + ], + "type": "object" + }, "AvailableAssignees": { "properties": { "userGroups": { @@ -124,6 +140,13 @@ }, "DashboardPermissions": { "properties": { + "rules": { + "description": "List of rules", + "items": { + "$ref": "#/components/schemas/RulePermission" + }, + "type": "array" + }, "userGroups": { "description": "List of user groups", "items": { @@ -140,11 +163,32 @@ } }, "required": [ + "rules", "userGroups", "users" ], "type": "object" }, + "DashboardPermissionsAssignment": { + "description": "Desired levels of permissions for an assignee.", + "properties": { + "permissions": { + "items": { + "enum": [ + "EDIT", + "SHARE", + "VIEW" + ], + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "permissions" + ], + "type": "object" + }, "DataSourceTableIdentifier": { "description": "An id of the table from PDM mapped to this dataset. Including ID of data source.", "example": { @@ -295,7 +339,14 @@ "permissions": { "description": "A list of permissions.", "items": { - "$ref": "#/components/schemas/DeclarativeAnalyticalDashboardPermission" + "oneOf": [ + { + "$ref": "#/components/schemas/DeclarativeAnalyticalDashboardPermissionForAssignee" + }, + { + "$ref": "#/components/schemas/DeclarativeAnalyticalDashboardPermissionForAssigneeRule" + } + ] }, "type": "array" }, @@ -337,7 +388,14 @@ "permissions": { "description": "A list of permissions.", "items": { - "$ref": "#/components/schemas/DeclarativeAnalyticalDashboardPermission" + "oneOf": [ + { + "$ref": "#/components/schemas/DeclarativeAnalyticalDashboardPermissionForAssignee" + }, + { + "$ref": "#/components/schemas/DeclarativeAnalyticalDashboardPermissionForAssigneeRule" + } + ] }, "type": "array" } @@ -348,12 +406,9 @@ ], "type": "object" }, - "DeclarativeAnalyticalDashboardPermission": { + "DeclarativeAnalyticalDashboardPermissionAssignment": { "description": "Analytical dashboard permission.", "properties": { - "assignee": { - "$ref": "#/components/schemas/AssigneeIdentifier" - }, "name": { "description": "Permission name.", "enum": [ @@ -364,12 +419,53 @@ "type": "string" } }, + "required": [ + "name" + ], + "type": "object" + }, + "DeclarativeAnalyticalDashboardPermissionForAssignee": { + "allOf": [ + { + "$ref": "#/components/schemas/DeclarativeAnalyticalDashboardPermissionAssignment" + }, + { + "properties": { + "assignee": { + "$ref": "#/components/schemas/AssigneeIdentifier" + } + }, + "type": "object" + } + ], + "description": "Analytical dashboard permission for an assignee.", "required": [ "assignee", "name" ], "type": "object" }, + "DeclarativeAnalyticalDashboardPermissionForAssigneeRule": { + "allOf": [ + { + "$ref": "#/components/schemas/DeclarativeAnalyticalDashboardPermissionAssignment" + }, + { + "properties": { + "assigneeRule": { + "$ref": "#/components/schemas/AssigneeRule" + } + }, + "type": "object" + } + ], + "description": "Analytical dashboard permission for a collection of assignees identified by a rule.", + "required": [ + "assigneeRule", + "name" + ], + "type": "object" + }, "DeclarativeAnalytics": { "description": "Entities describing users' view on data.", "properties": { @@ -1506,7 +1602,8 @@ "name": { "description": "Permission name.", "enum": [ - "MANAGE" + "MANAGE", + "SELF_CREATE_TOKEN" ], "type": "string" } @@ -2566,6 +2663,7 @@ "Contract", "CustomTheming", "ExtraCache", + "Hipaa", "PdfExports", "ManagedOIDC", "UiLocalization", @@ -8160,7 +8258,8 @@ "description": "List of valid permissions for a logged-in user.", "items": { "enum": [ - "MANAGE" + "MANAGE", + "SELF_CREATE_TOKEN" ], "type": "string" }, @@ -11792,6 +11891,29 @@ }, "type": "object" }, + "OrganizationPermissionAssignment": { + "description": "Organization permission assignments", + "properties": { + "assigneeIdentifier": { + "$ref": "#/components/schemas/AssigneeIdentifier" + }, + "permissions": { + "items": { + "enum": [ + "MANAGE", + "SELF_CREATE_TOKEN" + ], + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "assigneeIdentifier", + "permissions" + ], + "type": "object" + }, "Parameter": { "properties": { "name": { @@ -11855,29 +11977,47 @@ "type": "object" }, "PermissionsForAssignee": { - "description": "Desired levels of permissions for an assignee.", - "properties": { - "assigneeIdentifier": { - "$ref": "#/components/schemas/AssigneeIdentifier" + "allOf": [ + { + "$ref": "#/components/schemas/DashboardPermissionsAssignment" }, - "permissions": { - "items": { - "enum": [ - "EDIT", - "SHARE", - "VIEW" - ], - "type": "string" + { + "properties": { + "assigneeIdentifier": { + "$ref": "#/components/schemas/AssigneeIdentifier" + } }, - "type": "array" + "type": "object" } - }, + ], + "description": "Desired levels of permissions for an assignee identified by an identifier.", "required": [ "assigneeIdentifier", "permissions" ], "type": "object" }, + "PermissionsForAssigneeRule": { + "allOf": [ + { + "$ref": "#/components/schemas/DashboardPermissionsAssignment" + }, + { + "properties": { + "assigneeRule": { + "$ref": "#/components/schemas/AssigneeRule" + } + }, + "type": "object" + } + ], + "description": "Desired levels of permissions for a collection of assignees identified by a rule.", + "required": [ + "assigneeRule", + "permissions" + ], + "type": "object" + }, "PlatformUsage": { "properties": { "count": { @@ -12072,6 +12212,27 @@ ], "type": "object" }, + "RulePermission": { + "description": "List of rules", + "properties": { + "permissions": { + "description": "Permissions granted by the rule", + "items": { + "$ref": "#/components/schemas/GrantedPermission" + }, + "type": "array" + }, + "type": { + "description": "Type of the rule", + "example": "allWorkspaceUsers", + "type": "string" + } + }, + "required": [ + "type" + ], + "type": "object" + }, "SqlColumn": { "description": "Columns defining SQL dataset.", "properties": { @@ -12407,6 +12568,35 @@ } } }, + "/api/v1/actions/organization/managePermissions": { + "post": { + "description": "Manage Permissions for a Organization", + "operationId": "manageOrganizationPermissions", + "requestBody": { + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/OrganizationPermissionAssignment" + }, + "type": "array" + } + } + }, + "required": true + }, + "responses": { + "204": { + "description": "No Content" + } + }, + "summary": "Manage Permissions for a Organization", + "tags": [ + "Permissions", + "actions" + ] + } + }, "/api/v1/actions/resolveEntitlements": { "get": { "description": "Resolves values of available entitlements for the organization.", @@ -12606,7 +12796,14 @@ "schema": { "description": "An array of permissions assignments", "items": { - "$ref": "#/components/schemas/PermissionsForAssignee" + "oneOf": [ + { + "$ref": "#/components/schemas/PermissionsForAssignee" + }, + { + "$ref": "#/components/schemas/PermissionsForAssigneeRule" + } + ] }, "type": "array" } @@ -22350,9 +22547,9 @@ "workspace-object-controller" ], "x-gdc-security-info": { - "description": "Contains minimal permission level required to manage this object type.", + "description": "Contains minimal permission level required to manage WorkspaceDataFilter/Settings for the workspace the WDF originates and related workspace hierarchy.", "permissions": [ - "ANALYZE" + "MANAGE" ] } } @@ -22399,9 +22596,9 @@ "workspace-object-controller" ], "x-gdc-security-info": { - "description": "Contains minimal permission level required to manage this object type.", + "description": "Contains minimal permission level required to manage WorkspaceDataFilter/Settings for the workspace the WDF originates and related workspace hierarchy.", "permissions": [ - "ANALYZE" + "MANAGE" ] } }, @@ -22566,9 +22763,9 @@ "workspace-object-controller" ], "x-gdc-security-info": { - "description": "Contains minimal permission level required to manage this object type.", + "description": "Contains minimal permission level required to manage WorkspaceDataFilter/Settings for the workspace the WDF originates and related workspace hierarchy.", "permissions": [ - "ANALYZE" + "MANAGE" ] } }, @@ -22650,9 +22847,9 @@ "workspace-object-controller" ], "x-gdc-security-info": { - "description": "Contains minimal permission level required to manage this object type.", + "description": "Contains minimal permission level required to manage WorkspaceDataFilter/Settings for the workspace the WDF originates and related workspace hierarchy.", "permissions": [ - "ANALYZE" + "MANAGE" ] } } @@ -22818,9 +23015,9 @@ "workspace-object-controller" ], "x-gdc-security-info": { - "description": "Contains minimal permission level required to manage this object type.", + "description": "Contains minimal permission level required to manage WorkspaceDataFilter/Settings for the workspace the WDF originates and related workspace hierarchy.", "permissions": [ - "ANALYZE" + "MANAGE" ] } } @@ -22867,9 +23064,9 @@ "workspace-object-controller" ], "x-gdc-security-info": { - "description": "Contains minimal permission level required to manage this object type.", + "description": "Contains minimal permission level required to manage WorkspaceDataFilter/Settings for the workspace the WDF originates and related workspace hierarchy.", "permissions": [ - "ANALYZE" + "MANAGE" ] } }, @@ -23034,9 +23231,9 @@ "workspace-object-controller" ], "x-gdc-security-info": { - "description": "Contains minimal permission level required to manage this object type.", + "description": "Contains minimal permission level required to manage WorkspaceDataFilter/Settings for the workspace the WDF originates and related workspace hierarchy.", "permissions": [ - "ANALYZE" + "MANAGE" ] } }, @@ -23118,9 +23315,9 @@ "workspace-object-controller" ], "x-gdc-security-info": { - "description": "Contains minimal permission level required to manage this object type.", + "description": "Contains minimal permission level required to manage WorkspaceDataFilter/Settings for the workspace the WDF originates and related workspace hierarchy.", "permissions": [ - "ANALYZE" + "MANAGE" ] } } @@ -23751,6 +23948,71 @@ } } }, + "/api/v1/layout/organization/permissions": { + "get": { + "description": "Retrieve organization permissions", + "operationId": "getOrganizationPermissions", + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/DeclarativeOrganizationPermission" + }, + "type": "array" + } + } + }, + "description": "Retrieved all organization permissions." + } + }, + "summary": "Get organization permissions", + "tags": [ + "layout", + "Permissions" + ], + "x-gdc-security-info": { + "description": "Permission required to get organization permissions.", + "permissions": [ + "MANAGE" + ] + } + }, + "put": { + "description": "Sets organization permissions", + "operationId": "setOrganizationPermissions", + "requestBody": { + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/DeclarativeOrganizationPermission" + }, + "type": "array" + } + } + }, + "required": true + }, + "responses": { + "204": { + "description": "Organization permissions set." + } + }, + "summary": "Set organization permissions", + "tags": [ + "layout", + "Permissions" + ], + "x-gdc-security-info": { + "description": "Permission required to set organization permissions.", + "permissions": [ + "MANAGE" + ] + } + } + }, "/api/v1/layout/userGroups": { "get": { "description": "Retrieve all user-groups eventually with parent group.", diff --git a/schemas/gooddata-scan-client.json b/schemas/gooddata-scan-client.json index 96a9dbf5e..61ddcbb63 100644 --- a/schemas/gooddata-scan-client.json +++ b/schemas/gooddata-scan-client.json @@ -635,7 +635,7 @@ "x-gdc-security-info": { "description": "Minimal permission required to use this endpoint.", "permissions": [ - "MANAGE" + "USE" ] } } diff --git a/tests-support/fixtures/demo_declarative_hierarchy.json b/tests-support/fixtures/demo_declarative_hierarchy.json index d13abd9d7..2778de0a5 100644 --- a/tests-support/fixtures/demo_declarative_hierarchy.json +++ b/tests-support/fixtures/demo_declarative_hierarchy.json @@ -74,6 +74,14 @@ }, "version": "2" }, + "permissions": [ + { + "assigneeRule": { + "type": "allWorkspaceUsers" + }, + "name": "VIEW" + } + ], "description": "", "id": "campaign", "title": "Campaign" @@ -2656,6 +2664,19 @@ "model": { "analytics": { "analyticalDashboards": [], + "analyticalDashboardExtensions": [ + { + "id": "campaign", + "permissions": [ + { + "assigneeRule": { + "type": "allWorkspaceUsers" + }, + "name": "VIEW" + } + ] + } + ], "dashboardPlugins": [], "filterContexts": [], "metrics": [],