Objeto Relationships (TMSL)
Aplica-se a: SQL Server 2016 e posteriores do Analysis Services Azure Analysis Services Fabric/Power BI Premium
Define uma relação entre uma tabela de origem e de destino, com a capacidade de especificar cardinalidade e a direção dos filtros de consulta e segurança.
Definição do objeto
Todos os objetos têm um conjunto comum de propriedades, incluindo nome, tipo, descrição, uma coleção de propriedades e anotações. Os objetos relationship também têm as propriedades a seguir.
Isactive
Um booliano que indica se a relação está marcada como Ativa ou Inativa. Uma relação Ativa é usada automaticamente para filtragem entre tabelas. Uma relação Inativas pode ser usada explicitamente por cálculos DAX através da função USERELATIONSHIP.
**crossFilteringBehavior ** Indica como as relações influenciam a filtragem de dados. Os valores válidos são:
OneDirection (1) – As linhas selecionadas no final "Para" da relação filtrarão automaticamente as verificações da tabela no final "De" da relação.
BothDirections (2) – Os filtros em ambas as extremidades da relação filtrarão automaticamente a outra tabela.
Automático (3) – o mecanismo analisará as relações e escolherá um dos comportamentos usando heurística.
joinOnDateBehavior
Ao unir duas colunas de data hora, indica se deve associar partes de data e hora ou apenas em parte de data.
DateAndTime (1) – Ao unir duas colunas de data e hora, participe de partes de data e hora.
DatePartOnly (2) – Ao unir duas colunas de data e hora, junte-se somente à parte de data.
relyOnReferentialIntegrity
Não utilizado, reservado para uso futuro.
securityFilteringBehavior
Uma enumeração que indica como as relações influenciam a filtragem de dados ao avaliar expressões de segurança em nível de linha. Estes são os valores válidos:
OneDirection (1) – As linhas selecionadas no final "Para" da relação filtrarão automaticamente as verificações da tabela no final "De" da relação.
BothDirections (2) – Os filtros em ambas as extremidades da relação filtrarão automaticamente a outra tabela.
Uso
Os objetos Relationship são usados no comando Alter (TMSL),no comando Create (TMSL), no comando CreateOrReplace (TMSL) e no comando Delete (TMSL).
Ao criar, substituir ou alterar um objeto de relação, especifique todas as propriedades de leitura/gravação da definição de objeto. A omissão de uma propriedade de leitura/gravação é considerada uma exclusão.
Sintaxe completa
Abaixo está a representação de esquema de um objeto de relação.
"relationships": {
"type": "array",
"items": {
"anyOf": [
{
"description": "SingleColumnRelationship object of Tabular Object Model (TOM)",
"type": "object",
"properties": {
"name": {
"type": "string"
},
"isActive": {
"type": "boolean"
},
"type": {
"enum": [
"singleColumn"
]
},
"crossFilteringBehavior": {
"enum": [
"oneDirection",
"bothDirections",
"automatic"
]
},
"joinOnDateBehavior": {
"enum": [
"dateAndTime",
"datePartOnly"
]
},
"relyOnReferentialIntegrity": {
"type": "boolean"
},
"securityFilteringBehavior": {
"enum": [
"oneDirection",
"bothDirections"
]
},
"fromCardinality": {
"enum": [
"none",
"one",
"many"
]
},
"toCardinality": {
"enum": [
"none",
"one",
"many"
]
},
"fromColumn": {
"type": "string"
},
"fromTable": {
"type": "string"
},
"toColumn": {
"type": "string"
},
"toTable": {
"type": "string"
},
"annotations": {
"type": "array",
"items": {
"description": "Annotation object of Tabular Object Model (TOM)",
"type": "object",
"properties": {
"name": {
"type": "string"
},
"value": {
"anyOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "string"
}
}
]
}
},
"additionalProperties": false
}
}
},
"additionalProperties": false
}
]
}
}