Workspace Objects Organization

The way how objects get organized in visualisation components is always determined by the component. Still there is a concept in the platform that can be called as general approach. It is based on tags of objects. Each object can have multiple tags, and each tag becomes a visualisation folder where the object is placed.

Components utilising tags

Analytical designer.

In the Analytical designer are tags of objects used for organizing the catalog. Tags are taken from datasets, attributes, facts, and metrics.

Attributes and labels of date dataset will always be placed in its own folder.

Embedded Analytical Designer and KPI Dashboard

When using these components in embedded way, you can use tags to limit available entities.

Setting tags

Tags can be set either via entities or declarative api for objects of analytical layer (namely mainly metrics). Tags of logical model can be set via declarative api only (dataset, attributes, facts, labels).

  • Tag is an ordinary string.

Examples

An example of tags definition from an entities api.

{
  "data": {
    "attributes": {
      "content": {
        "maql": "..."
      },
      "title": "Revenue",
      "tags": [
        "Revenue metrics"
      ]
    },
    "id": "revenue",
    "type": "metric"
  }
}

An example of tags definition from declarative api.

  • Dataset and related objects
{
  "id": "campaigns",
  "title": "Campaigns",
  "description": "Campaigns",
  "grain": [
    {
      "id": "campaigns.campaign_id",
      "type": "attribute"
    }
  ],
  "attributes": [
    {
      "id": "campaigns.campaign_name",
      "title": "Campaign name",
      "description": "Campaign name",
      "labels": [
        {
          "id": "campaigns.campaign_name",
          "title": "Campaign name",
          "description": "Campaign name",
          "primary": true,
          "sourceColumn": "campaign_name",
          "sourceColumnDataType": "STRING",
          "tags": [
            "Campaigns"
          ]
        }
      ],
      "tags": [
        "Campaigns"
      ]
    },
    {
      "id": "campaigns.campaign_id",
      "title": "Campaign id",
      "description": "Campaign id",
      "labels": [
        {
          "id": "campaigns.campaign_id",
          "title": "Campaign id",
          "description": "Campaign id",
          "primary": true,
          "sourceColumn": "campaign_id",
          "sourceColumnDataType": "STRING",
          "tags": [
            "Campaigns"
          ]
        }
      ],
      "tags": [
        "Campaigns"
      ]
    }
  ],
  "facts": [],
  "references": [],
  "dataSourceTableId": {
    "id": "campaigns",
    "path": ["demo_3920fbd8f33ec386", "campaign_channels"],
    "dataSourceId": "pg_local_docker-demo",
    "type": "dataSource"
  },
  "tags": [
    "Campaigns"
  ]
}
  • Date instance
{
  "id": "date",
  "title": "Date",
  "description": "",
  "granularitiesFormatting": {
    "titleBase": "",
    "titlePattern": "%titleBase - %granularityTitle"
  },
  "granularities": [
    "QUARTER",
    "DAY",
    "WEEK",
    "MONTH",
    "YEAR"
  ],
  "tags": [
    "Common date"
  ]
}