Bagikan melalui


Objek hubungan (TMSL)

Berlaku untuk: SQL Server 2016 dan yang lebih baru Analysis Services Azure Analysis Services Fabric/Power BI Premium

Menentukan hubungan antara tabel sumber dan target, dengan kemampuan untuk menentukan kardinalitas, serta arah kueri dan filter keamanan.

Definisi objek

Semua objek memiliki sekumpulan properti umum, termasuk nama, jenis, deskripsi, koleksi properti, dan anotasi. Objek hubungan juga memiliki properti berikut.

isActive
Boolean yang menunjukkan apakah hubungan ditandai sebagai Aktif atau Tidak Aktif. Hubungan Aktif secara otomatis digunakan untuk pemfilteran di seluruh tabel. Hubungan tidak aktif dapat digunakan secara eksplisit oleh perhitungan DAX dengan fungsi USERELATIONSHIP.

**crossFilteringBehavior ** Menunjukkan bagaimana hubungan memengaruhi pemfilteran data. Nilai yang valid adalah:

  • OneDirection (1) - Baris yang dipilih di akhir hubungan "Ke" akan secara otomatis memfilter pemindaian tabel di akhir "Dari" hubungan.

  • BothDirections (2) - Filter di salah satu akhir hubungan akan secara otomatis memfilter tabel lainnya.

  • Otomatis (3) - Mesin akan menganalisis hubungan dan memilih salah satu perilaku dengan menggunakan heuristik.

joinOnDateBehavior
Saat menggabungkan dua kolom waktu tanggal, menunjukkan apakah akan bergabung pada bagian tanggal dan waktu atau hanya pada bagian tanggal.

  • DateAndTime (1) - Saat menggabungkan dua kolom waktu tanggal, bergabunglah pada bagian tanggal dan waktu.

  • DatePartOnly (2) - Saat menggabungkan dua kolom waktu tanggal, bergabung hanya pada bagian tanggal.

relyOnReferentialIntegrity
Tidak terpakai; dicadangkan untuk digunakan di masa mendatang.

securityFilteringBehavior
Enumerasi yang menunjukkan bagaimana hubungan memengaruhi pemfilteran data saat mengevaluasi ekspresi keamanan tingkat baris. Nilai yang valid adalah sebagai berikut:

  • OneDirection (1) - Baris yang dipilih di akhir hubungan "Ke" akan secara otomatis memfilter pemindaian tabel di akhir "Dari" hubungan.

  • BothDirections (2) - Filter di salah satu akhir hubungan akan secara otomatis memfilter tabel lainnya.

Penggunaan

Objek hubungan digunakan dalam perintah Alter (TMSL), perintah Create (TMSL), perintah CreateOrReplace (TMSL), dan perintah Delete (TMSL).

Saat membuat, mengganti, atau mengubah objek hubungan, tentukan semua properti baca-tulis definisi objek. Kelalaian properti baca-tulis dianggap sebagai penghapusan.

Sintaks Penuh

Di bawah ini adalah representasi skema objek hubungan.

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