Top-Level Entities

The following are the top-level entities that compose the Tableau Semantics Authoring API and their API names (in parenthesis):

  • Semantic Model (SemanticModel) - Represents a group of Semantic Definitions consumed by an application or used to solve a particular use case.
  • Semantic Data Object (SemanticDataObject) - Represents a reference to an existing DMO or CIO that is part of a specific Semantic Model.
  • Semantic Relationship (SemanticRelationship) - Represents the join type and the joined fields between two Semantic Data Objects.
  • Semantic Calculated Dimension (SemanticCalDimension) - Represents a non-aggregatable field or dimension that you can create on top of your existing data.
  • Semantic Calculated Measurement (SemanticCalMeasurement) - Represents a numerical custom calculation that you can create on top of your existing data.
  • Semantic Data Object Field (SemanticDataObjectField) - Represents the fields that are included in a Semantic Data Object, which is added to a specific Semantic Model.
  • Semantic Metric Definition (SemanticMetricDefinition) - Represents a semantic metric, which is a business KPI that can be tracked over time in the semantic layer.
  • Semantic Override Element (SemanticOverrideElement) - Represents an audit table that tracks changes in specific semantic entity fields.
  • Semantic Parameter (SemanticParameter) - Represents a parameter that can be used in filters and/or calculated expressions in the semantic layer.
  • Semantic Parameter List (SemanticParameterList) - Represents a pre-defined list of parameter values when the parameter type is "List".
  • Semantic Parameter Range (SemanticParameterRange) - Represents a pre-defined list of parameter properties when the parameter type is "Range".
  • Semantic Logical View (SemanticLogicalView) - Represents a join view that is composed of multiple table representations of semantic data objects, such as data model objects (DMOs), calculated insights (CIs), and semantic model objects (SMOs).

The following sections provide a description of the entity and a table of its attributes and fields, including the entity name, field name, API name, entity type, whether the field is required, possible values, and a description.

Use the SemanticModel entity to define the Semantic Model being used. Define the required fields including the object ID, developer name, the display name of the Semantic Model and the dataspace in which the model is located. You can also define non-required fields including the description, category, and app.

EntityField LabelDeveloper NameTypeRequired?ValuesDescription
SemanticModelIDIDIDYRequired. Object ID that references the Semantic Model.
SemanticModelDeveloper NameDeveloperNameStringYRequired. API name of the Semantic Model.
SemanticModelDisplay NameDisplayNameStringYRequired. Display name of the Semantic Model.
SemanticModelDescriptionDescriptionStringNDescription of the Semantic Model.
SemanticModelDataspace DefinitionDataspaceDefinitionIDYRequired. Dataspace in which the Semantic Model is located.
SemanticModelCategoryCategoryStaticEnumNMarketing,Commerce, Sales, Service, OtherProduct category of the Semantic Model. Valid values are Marketing, Commerce, Sales, Service, and Other.
SemanticModelAppAppStringNApp to which the Semantic Model belongs.
SemanticModelUnrelated Data Objects Query BehaviorUnrelatedDataObjectsQueryBehaviorStaticEnumNException, UnionDefault behavior of the model when querying data objects without a predefined relationship at the model level. Valid values are Exception and Union.

Use the SemanticDataObject entity to reference to an existing DMO or CIO that is part of a specific Semantic Model. Define the required fields of the ID of the SemanticDataObject entity and the ID of each Semantic Data Object that is being references together with the object's developer name, data object type, and whether all of the object's fields should be included in the Semantic Model.

EntityField LabelDeveloper NameTypeRequired?ValuesDescription
SemanticDataObjectIDIDIDYRequired. Object ID that references a Semantic Data Object.
SemanticDataObjectSemantic DefinitionSemanticDefinitionIDYRequired. Foreign key ID that references the Semantic Definition referenced by the Semantic Data Object.
SemanticDataObjectData Object Developer NameDataObjectDeveloperNameStringYRequired. API name of the Semantic Data Object.
SemanticDataObjectData Object TypeDataObjectTypeStaticEnumYRequired. Semantic Data Object type. Values include DLO, DMO, and CIO.
SemanticDataObjectShould Include All FieldsShouldIncludeAllFieldsBooleanYRequired. Indicates whether to import all fields from the Data Object into the Semantic Data Object in the Semantic Model (true) or not (false).

Use the SemanticRelationship entity to define the join type and the joined fields between two Semantic Data Objects within a Semantic Definition. Define the required fields of the ID of the SemanticRelationship entity and the ID of the Semantic Definition that the relationship extends. Also define the required fields of the developer names of the left and right joins, the join type, and the join criteria.

EntityField LabelDeveloper NameTypeRequired?ValuesDescription
SemanticRelationshipIDIDIDYRequired. Object ID that references the Semantic Relationship.
SemanticRelationshipSemantic DefinitionSemanticDefinitionIDYRequired. Object ID that references the Semantic Definition that this entity extends.
SemanticRelationshipLeft Semantic Definition Developer NameLeftSemanticDefinitionDeveloperNameStringYRequired. API name of the left table field Semantic Definition.
SemanticRelationshipRight Semantic Definition Developer NameRightSemanticDefinitionDeveloperNameStringYRequired. API name of the right table field Semantic Definition.
SemanticRelationshipJoin TypeJoinTypeStaticEnumYAuto, Left,Right,Inner,FullRequired. Type of join performed between the defined Data Cloud Objects. Valid values are AUTO, LEFT, RIGHT, FULL, and INNER.
SemanticRelationshipCriteriaCriteriaStringYRequired. JSON representation of the join conditions between two Data Cloud Objects.

Use the SemanticCalcDimension entity to define the attributes of a non-aggregatable field or dimension that you can create on top of your existing data. Use this entity for every Calculated Dimension you want to add to your Semantic Model. Define the required fields of the Semantic Calculated Dimension ID and the ID of the Semantic Definition that will use the Semantic Calculated Dimension, the data type, and the expression formula to create the dimension. You can also define non-required fields such as geo role, sort order, display category, and whether the dimension is visible in the consumption layer.

EntityField LabelDeveloper NameTypeRequired?ValuesDescription
SemanticCalculatedDimensionIDIDIDYRequired. Type of data stored in the Semantic Calculated Dimension. Valid values are Text,Date,DateTime,Image,Boolean,Geo, and Number.
SemanticCalculatedDimensionSemantic DefinitionSemanticDefinitionIDYRequired. Foreign key ID that references the Semantic Definition.
SemanticCalculatedDimensionData TypeDataTypeStaticEnumYText,Date,DateTime,Image,Boolean,Geo,
NumberRequired. Object ID that references the Semantic Definition.
SemanticCalculatedDimensionGeo RoleGeoRoleStaticEnumNAirport,Area Code (US),CBSA/MSA (US), City,Congressional,District (US),Country/Region,Country,NUTS Europe,Latitude,Longitude,State/Province,Zip Code/PostcodeGeographic role of the Semantic Calculated Dimension. Valid values are Airport,Area Code (US),CBSA/MSA (US), City,Congressional, District (US),Country/Region,Country,NUTS Europe,Latitude,Longitude,State/Province,and Zip Code/Postcode.
SemanticCalculatedDimensionSort OrderSortOrderStaticEnumNAscending,Descending, NoneSort order of the Semantic Calculated Dimension. Valid values are Ascending,Descending, and None.
SemanticCalculatedDimensionExpressionExpressionStringYRequired. A formula that creates a new Semantic Calculated Dimension based on a calculation that uses raw data fields and calculated fields.
SemanticCalculatedDimensionDisplay CategoryDisplayCategoryStaticEnumNDiscrete,ContinuousControls how data is represented in visualizations of the relationships between Semantic Calculated Dimensions and other Data Cloud Objects. Valid values are Discrete and Continuous.
SemanticCalculatedDimensionIs VisibleIsVisibleBooleanNIndicates whether the Semantic Calculated Dimension is visible in the consumption layer (true) or not (false). True is the default.

Use the SemanticCalcMeasurement entity to define the attributes of a numerical custom calculation that you can create on top of your existing data. Use this entity for every Calculated Measurement you want to add to your Semantic Model. Define the required fields of the Semantic Calculated Measurement ID and the ID of the Semantic Definition that will use the Semantic Calculated Measurement, the data type, aggregation type, decimal place, and the expression formula to create the dimension. You can also define the non-required fields of filter logic.

EntityField LabelDeveloper NameTypeRequired?ValuesDescription
SemanticCalcMeasurementIDIDIDYRequired. Object ID that references the Semantic Calculated Measurement.
SemanticCalcMeasurementSemantic DefinitionSemanticDefinitionIDYRequired. Foreign key ID that references the Semantic Definition.
SemanticCalcMeasurementData TypeDataTypeStaticEnumYCurrency,Number, Duration,PercentageRequired. Type of data stored in specific fields in a Semantic Calculated Measurement. Valid values are Currency,Number, Duration,and Percentage
SemanticCalcMeasurementAggregation TypeAggregationTypeStaticEnumYSum,Average,Min,Max,Median,Count Distinct,Count,Stddev,Stddevp,Var,Varp,Last,First,UserAgg, NoneRequired. Function that computes numerical calculations on data, allowing the query to return summarized information about the expression results. Valid values are Sum,Average,Min,Max,Median,Count Distinct,Count,Stddev,Stddevp,Var,Varp,Last,First, UserAgg, and None.
SemanticCalcMeasurementDecimal PlaceDecimalPlaceNumberYRequired. Number of decimal places to display in the Semantic Calculated Measurement.
SemanticCalcMeasurementExpressionExpressionStringYRequired. Formula that generates a new Semantic Calculated Measurement based on a calculation that uses raw data fields and calculated fields.
SemanticCalcMeasurementFilter LogicFilterLogicStringNLogical expression that defines how and when the filter conditions will be applied. Valid values are AND, OP, NOT, and parenthesis ().

Use the SemanticDataObjectField entity to define the attributes of each field that is included in a Semantic Data Object, which is added to a specific Semantic Model. The field options vary on whether the object is a Semantic Calculated Dimension or Semantic Calculated Measurement. Define the required fields including the ID of the Semantic Data Object Field, the ID of Semantic Definition in which the field is used, the data field developer name, the data role of the field (dimension or measurement), the display name, and the data type. You can also define non-required fields, depending on whether you are working with a dimension or measurement. These include the aggregation type, decimal place, geo role, sort order, display category, directionality, and whether the field is visible in the consumption layer.

EntityField LabelDeveloper NameTypeRequired?ValuesDescription
SemanticDataObjectFieldIDIDIDYRequired. Object ID that references the Semantic Data Object Field.
SemanticDataObjectFieldSemantic Definition IdSemanticDefinitionIDYRequired. Foreign key ID that references the Semantic Definition.
SemanticDataObjectFieldDataFieldDeveloperNameDataFieldDeveloperNameStringYRequired. API name of the Semantic Data Object Field.
SemanticDataObjectFieldDataRoleDataRoleStaticEnumYDimension,MeasurementRequired. Data role type of a Semantic Data Object Field. Valid values are Dimension and Measurement.
SemanticDataObjectFieldDisplay NameDisplayNameStringYRequired. Display name of the Semantic Data Object Field.
SemanticDataObjectFieldData TypeDataTypeStaticEnumYText,Date,DateTime,Image,Boolean,Geo,Currency,Number, Duration,PercentageRequired. Data type stored in a specific Semantic Data Object Field. Valid values are Text,Date,DateTime,Image,Boolean,Geo,Currency,Number, Duration,and Percentage.
SemanticDataObjectFieldAggregation TypeAggregationTypeStaticEnumNSum,Average,Min,Max,Median,Count Distinct,Count,Stddev,Stddevp,Var,Varp,Last,First,
UserAgg, NoneFunction that computes numerical calculations on data, allowing the query to return summarized information about the expression results. Valid values are Sum,Average,Min,Max,Median,Count Distinct,Count,Stddev,Stddevp,Var,Varp,Last,First, UserAgg, and None.
SemanticDataObjectFieldDecimal PlaceDecimalPlaceNumberNNumber of decimal places to display.
SemanticDataObjectFieldGeo RoleGeoRoleStaticEnumNAirport,Area Code (US),CBSA/MSA (US), City,Congressional,District (US),Country/Region,Country,NUTS Europe,Latitude,Longitude,State/Province,Zip Code/PostcodeGeographic role of the Semantic Calculated Dimension. Valid values are Airport,Area Code (US),CBSA/MSA (US), City,Congressional,District (US),Country/Region,Country,NUTS Europe,Latitude,Longitude,State/Province,and Zip Code/Postcode.
SemanticDataObjectFieldSort OrderSortOrderStaticEnumNAscending,Descending, NoneSort order of the Semantic Calculated Measurement. Valid values are Ascending,Descending, and None.
SemanticDataObjectFieldDisplay CategoryDisplayCategoryStaticEnumNDiscrete,ContinuousControls how data is represented in visualizations of the relationships between Data Cloud Objects. Valid values are Discrete and Continuous.
SemanticDataObjectFieldDirecionailtyDirectionailtyStaticEnumNUp, DownIndicates the directionality of the Semantic Calculated Measurement by establishing whether an upward or a downward trend is seen as positive (Up) or negative (Down).
SemanticDataObjectFieldIs VisibleIsVisibleBooleanNIndicates whether the Semantic Data Object Field is visible in the consumption layer (true) or not (false). True is the default.

Use the SemanticMetricDefinition entity to define a Semantic Metric Definition and associated properties, including the ID of the Metric Definition, the ID of the Semantic Definition used in the Metric Definition, and a variety of time measure and filtering settings.

EntityField LabelDeveloper NameTypeRequired?Description
SemanticMetricDefinitionIDIDIDYRequired. ID of the SemanticMetricDefinition entity.
SemanticMetricDefinitionSemantic DefinitionSemanticDefinitionENTITYIDYRequired. ID of the SemanticDefinition entity used in the SemanticMetricDefinition entity.
SemanticMetricDefinitionTime Dimension Api NameTimeDimensionApiNameTEXTYRequired. ID of the SemanticDataObjectField or SemanticCalculatedDimension that is used for time selection in the SemanticMetricDefinition.
SemanticMetricDefinitionMeasurement Api NameMeasurementApiNameTEXTYRequired. ID of the SemanticDataObjectField or SemanticCalculatedDimension that is used to evaluate the values of the SemanticMetricDefinition.
*SemanticMetricDefinitionAllowed Time Grain TypesAllowedTimeGrainsTEXTYRequired. List of available time grain types that can be used to query the data in the SemanticMetricDefinition.
SemanticMetricDefinitionAdjustables Filters Api NamesAdjustableFiltersApiNamesSTRINGPLUSCLOBNList of dimensions related to the SemanticMetricDefinition. These dimensions can be used by queries to provide different views of the metric data.
SemanticMetricDefinitionInsigths SettingsInsightsSettingsSTRINGPLUSCLOBNSet of configurations that specify which insight types and dimensions to use when generating insights based on the SemanticMetricDefinition.
SemanticMetricDefinitionFiltersFiltersTEXTYRequired. Textual represenation of the filters applied to the SemanticMetricDefinition.
SemanticMetricDefinitionFilterLogicFilterLogicSTRINGPLUSCLOBYRequired. Textual representation of the filter logic applied to the SemanticMetricDefinition.

Use the SemanticOverrideElement entity to override any existing Semantic entity.

EntityField LabelDeveloper NameTypeRequired?Description
SemanticOverrideElementIDIDIDYRequired. ID of the SemanticOverrideElement entity.
SemanticOverrideElementObject TypeObjectTypeStaticEnumYRequired. Entity type referenced by the SemanticOverrideElement. Valid values are SemanticDataObject and SemanticDataObjectField.
SemanticOverrideElementReferenced ObjectReferencedObjectIDYRequired.The ID of the entity that has been changed due to the Semantic Override Element entity.
SemanticOverrideElementOverrideElementNameOverrideElementNameStaticEnumYRequired. Element or attribute that was changed due to the SemanticOverrideElement entity.

Use the Semantic Parameter entity to define a Semantic Parameter and related properties, such as the Semantic Definition that is used by the Parameter, the data type, the parameter type, and parameter value.

EntityFieldDeveloper NameTypeRequired?Description
SemanticParameterIDIDIDYRequired. ID of the SemanticParameter entity.
SemanticParameterSemantic DefinitionSemanticDefinitionLookup(SemanticDefinition)YRequired. ID of the SemanticDefinition entity used in the SemanticParameter entity.
SemanticParameterData TypeDataTypeStaticEnumYRequired. SemanticParameter data type. Valid values are Text, Date, DateTime, Number, Percentage, Boolean, Url, and Phone number.
SemanticParameterTypeTypeStaticEnumYRequired. SemanticParameter type. Valid values are All, List, and Range.
SemanticParameterDefault ValueDefaultValueStringYRequired. Default value of the SemanticParameter.

Use the SemanticParameterList entity to define a Semantic Parameter List and related properties, such as the ID of the list entity, the ID of the parameter that is referenced by the list, and the value of the parameter.

EntityField LabelDeveloper NameData TypeRequired?Description
SemanticParameterListIDIDIDYRequired. ID of the SemanticParameterList entity.
SemanticParameterListSemantic ParameterSemanticParameterLookup(SemanticParameter)YRequired. ID of the SemanticParameter that is referenced in the SemanticParameterList entity.
SemanticParameterListValueValueStringYRequired. Value of the SemanticParameter in the SemanticParameterList entity.

Use the SemanticParameterRange entity to define a Semantic Parameter Range and related properties, such as the ID of the range entity, the ID of the parameter that is referenced by the range, the minimum and maximum values of the range, and a time scale for the range.

EntityField LabelDeveloper NameTypeRequired?Description
SemanticParameterRangeIDIDIDYRequired. ID of the SemanticDataParameter entity.
SemanticParameterRangeSemantic ParameterSemanticParameterLookup(SemanticParameter)YRequired. ID of the SemanticParameter that is referenced in the SemanticParameterRange entity.
SemanticParameterRangeMin ValueMinValueStringNMinimum value of the SemanticParameterRange.
SemanticParameterRangeMax ValueMaxValueStringNMaximum value of the SemanticParameterRange.
SemanticParameterRangeStep SizeStepSizeStringNValue that determines the time scale of the SemanticParameterRange by step size. A step size can be any time period, such as 30 days or 1 year.

Use the SemanticLogicalView entity to define a Semantic Logical View and related properties, including the ID of the logical view, the ID of the Semantic Definition used in the logical view, and filter representations to use with the logical view.

EntityField LabelDeveloper NameTypeRequired?Description
SemanticLogicalViewIDIDIDYRequired. ID of the SemanticLogicalView entity.
SemanticLogicalViewSemantic DefinitionSemanticDefinitionLookup(SemanticDefinition)YRequired. ID of the SemanticDefinition entity used in the SemanticLogicalView entity.
SemanticLogicalViewFiltersFiltersTextYRequired. Textual representation of the filters applied to the SemanticLogicalView.
SemanticLogicalViewFilterLogicFilterLogicTextYRequired. Textual representation of the filter logic applied to the SemanticLogicalView.

Use the SemanticModelLock entity to lock a Semantic Model. Properties include the ID of the lock entity, the ID of the Semantic Mode that is being locked, the ID of the user who owns the lock, and the time when the lock was imposed and will be released.

EntityField LabelDeveloper NameTypeRequired?Description
SemanticModelLockIDIDIDYRequired. ID of the SemanticModelLock entity.
SemanticModelLockSemantic Model IdSemanticModelIdIDYRequired. ID of the semantic model that is locked by the SemanticModelLock entity.
SemanticModelLockLock IdLockIdTEXTYRequired. Identifier of the user that owns the lock imposed on a semantic model by the SemanticModelLock entity.
SemanticModelLockEnd TimeEndTimeDateYRequired. Time when the lock imposed on a semantic model by the SemanticModelLock entity is automatically released.