Objeto Relationships (TMSL)

Se aplica a: SQL Server 2016 y versiones posteriores Analysis Services Azure Analysis Services Power BI Premium

Define una relación entre una tabla de origen y de destino, con la capacidad de especificar la cardinalidad y la dirección de los filtros de consulta y seguridad.

Definición del objeto

Todos los objetos tienen un conjunto común de propiedades, como nombre, tipo, descripción, una colección de propiedades y anotaciones. Los objetos de relación también tienen las siguientes propiedades.

isActive
Valor booleano que indica si la relación está marcada como Activa o Inactiva. Se usa automáticamente una relación activa para filtrar entre tablas. Las relaciones inactivas se pueden usar expresamente en los cálculos de DAX con la función USERELATIONSHIP.

**crossFilteringBehavior ** Indica cómo influyen las relaciones en el filtrado de datos. Los valores válidos son:

  • OneDirection (1): las filas seleccionadas en el extremo "To" de la relación filtrarán automáticamente los exámenes de la tabla en el final "From" de la relación.

  • BothDirections (2): los filtros de cualquier extremo de la relación filtrarán automáticamente la otra tabla.

  • Automático (3): el motor analizará las relaciones y elegirá uno de los comportamientos mediante heurística.

joinOnDateBehavior
Al combinar dos columnas de fecha y hora, indica si se deben unir en partes de fecha y hora o solo la parte de fecha.

  • DateAndTime (1): al unir dos columnas de fecha y hora, una en las partes de fecha y hora.

  • DatePartOnly (2): al unir dos columnas de fecha y hora, una solo en la parte de la fecha.

elyOnReferentialIntegrity
Unused: reservado para uso futuro.

securityFilteringBehavior
Enumeración que indica cómo influyen las relaciones en el filtrado de datos al evaluar expresiones de seguridad de nivel de fila. Los valores válidos son los siguientes:

  • OneDirection (1): las filas seleccionadas en el extremo "To" de la relación filtrarán automáticamente los exámenes de la tabla en el final "From" de la relación.

  • BothDirections (2): los filtros de cualquier extremo de la relación filtrarán automáticamente la otra tabla.

Uso

Los objetos de relación se usan en el comando Alter (TMSL), el comando Create (TMSL), el comando CreateOrReplace (TMSL) y el comando Delete (TMSL).

Al crear, reemplazar o modificar un objeto de relación, especifique todas las propiedades de lectura y escritura de la definición de objeto. La omisión de una propiedad de lectura y escritura se considera una eliminación.

Sintaxis completa

A continuación se muestra la representación de esquema de un objeto de relación.

"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  
              }  
            ]  
          }  
        }