Bagikan melalui


Anggota Terhitung dalam Sub-pilihan dan Subkubus

Berlaku untuk: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium

Anggota terhitung adalah anggota dimensi yang nilainya dihitung dari ekspresi pada durasi, dan dapat digunakan dalam sub-pilihan dan subkube untuk menentukan kubus kueri dengan lebih tepat.

Mengaktifkan anggota terhitung di sub-ruang

Properti subkueri string koneksi di ConnectionString atau properti DBPROPMSMDSUBQUERIES di Properti XMLA yang Didukung (XMLA) menentukan perilaku atau jatah anggota terhitung atau kumpulan terhitung pada sub-pilihan atau subkubus. Dalam konteks dokumen ini, subpilih mengacu pada sub-pilihan dan subkube kecuali dinyatakan lain.

Properti SubKueri memungkinkan nilai berikut ini.

Nilai Deskripsi
0 Anggota terhitung tidak diperbolehkan dalam sub-pilihan atau subkubus.

Kesalahan dimunculkan saat mengevaluasi sub-pilihan atau subkubus jika anggota terhitung direferensikan.
1 Anggota terhitung diperbolehkan dalam sub-pilihan atau subkubus tetapi tidak ada anggota naik yang diperkenalkan di sub-ruang yang dikembalikan.
2 Anggota terhitung diperbolehkan dalam sub-pilihan atau subkubus dan anggota naik diperkenalkan di sub-ruang yang dikembalikan. Selain itu, granularitas campuran diperbolehkan dalam pemilihan anggota terhitung.

Menggunakan nilai 1 atau 2 di properti SubKueri memungkinkan anggota terhitung digunakan untuk memfilter sub-ruang subpilih yang dikembalikan.

Contoh akan membantu mengklarifikasi konsep; pertama anggota terhitung harus dibuat dan kemudian kueri subpilih yang dikeluarkan untuk memperlihatkan perilaku yang disebutkan di atas.

Contoh berikut membuat anggota terhitung yang menambahkan [Seattle Metro] sebagai kota ke [Geography]. [Geografi] hierarki di bawah negara bagian Washington.

Untuk menjalankan contoh, string koneksi harus berisi properti SubQueries dengan nilai 1 dan semua pernyataan MDX harus dijalankan dalam sesi yang sama.

Penting

Jika Anda menggunakan Management Studio untuk menguji kueri, klik tombol Opsi di Pengelola Sambungan untuk mengakses panel properti string koneksi tambahan, di mana Anda bisa memasukkan subkueri=1 atau 2 untuk mengizinkan anggota terhitung di subspace.

Pertama-tama terbitkan ekspresi MDX berikut:

  
CREATE MEMBER [Adventure Works].[Geography].[Geography].[State-Province].&[WA]&[US].[Seattle Metro Agg]   
   AS  AGGREGATE(   
                 {   
                   [Geography].[Geography].[City].&[Bellevue]&[WA]  
                 , [Geography].[Geography].[City].&[Issaquah]&[WA]  
                 , [Geography].[Geography].[City].&[Redmond]&[WA]  
                 , [Geography].[Geography].[City].&[Seattle]&[WA]  
                 }  
                )    

Kemudian terbitkan kueri MDX berikut untuk melihat anggota terhitung yang diizinkan dalam subpilih.

Select [Date].[Calendar Year].members on 0,  
       [Geography].[Geography].allmembers on 1  
from (Select {[Geography].[Geography].[State-Province].&[WA]&[US].[Seattle Metro Agg]} on 0 from [Adventure Works])  
Where [Measures].[Reseller Sales Amount]  

Hasil yang diperoleh adalah:

Semua Periode CY 2011 CY 2012 CY 2013 CY 2014
Seattle Metro Agg $2.383.545,69 1$291.248,93 $763.557,02 $915.832,36 $412.907,37

Seperti yang dikatakan sebelumnya, ascendants [Seattle Metro] tidak ada di subspace yang dikembalikan, ketika SubQueries=1, oleh karena itu [Geography]. [Geography].allmembers hanya berisi anggota terhitung.

Jika contoh dijalankan menggunakan SubQueries=2, dalam string koneksi, hasil yang diperoleh adalah:

Semua Periode CY 2001 CY 2002 CY 2003 CY 2004
Semua Geografi (null) (null) (null) (null) (null)
Amerika Serikat (null) (null) (null) (null) (null)
Washington (null) (null) (null) (null) (null)
Seattle Metro Agg $2.383.545,69 $291.248,93 $763.557,02 $915.832,36 $412.907,37

Seperti yang dikatakan sebelumnya, saat menggunakan SubQueries=2, ascendant [Seattle Metro] ada di subspace yang dikembalikan tetapi tidak ada nilai untuk anggota tersebut karena tidak ada anggota reguler untuk menyediakan agregasi. Oleh karena itu, nilai NULL disediakan untuk semua anggota naik dari anggota terhitung dalam contoh ini.

Untuk memahami perilaku di atas, membantu memahami bahwa anggota terhitung tidak berkontribusi pada agregasi orang tua mereka seperti yang dilakukan anggota reguler; sebelumnya menyiratkan bahwa pemfilteran berdasarkan anggota terhitung saja akan menyebabkan naik kosong karena tidak ada anggota reguler untuk berkontribusi pada nilai agregat dari sub-ruang yang dihasilkan. Jika Anda menambahkan anggota reguler ke ekspresi pemfilteran, nilai agregat akan berasal dari anggota reguler tersebut. Melanjutkan dengan contoh di atas, jika kota Portland, di Oregon, dan kota Spokane, di Washington, ditambahkan ke sumbu yang sama di mana anggota terhitung muncul; seperti yang ditunjukkan dalam ekspresi MDX berikutnya:

Select [Date].[Calendar Year].members on 0,  
       [Geography].[Geography].allmembers on 1  
from (Select {  
               [Seattle Metro Agg]  
             , [Geography].[Geography].[City].&[Portland]&[OR]  
             , [Geography].[Geography].[City].&[Spokane]&[WA]  
             } on 0 from [Adventure Works]  
     )  
Where [Measures].[Reseller Sales Amount]  

Hasil berikut diperoleh.

Semua Periode CY 2001 CY 2002 CY 2003 CY 2004
Semua Geografi $235.171,62 $419,46 $4.996,25 $131.788,82 $97.967,09
Amerika Serikat $235.171,62 $419,46 $4.996,25 $131.788,82 $97.967,09
Oregon $30.968,25 $419,46 $4.996,25 $17.442,97 $8.109,56
Portland $30.968,25 $419,46 $4.996,25 $17.442,97 $8.109,56
97205 $30.968,25 $419,46 $4.996,25 $17.442,97 $8.109,56
Washington $204.203,37 (null) (null) $114.345,85 $89.857,52
Spokane $204.203,37 (null) (null) $114.345,85 $89.857,52
99202 $204.203,37 (null) (null) $114.345,85 $89.857,52
Seattle Metro Agg $2.383.545,69 $291.248,93 $763.557,02 $915.832,36 $412.907,37

Dalam hasil di atas, nilai agregat untuk [Semua Geografi], [Amerika Serikat], [Oregon] dan [Washington] berasal dari agregat atas keturunan &[Portland]&[OR] dan &[Spokane]&[WA]. Tidak ada yang berasal dari anggota terhitung.

Keterangan

Hanya anggota terhitung global atau sesi yang diizinkan dalam ekspresi subpilih atau subkube. Memiliki anggota yang dihitung kueri dalam ekspresi MDX akan memunculkan kesalahan saat ekspresi subpilih atau subkube dievaluasi.

Lihat juga

ConnectionString
Subpilih dalam Kueri
Properti XMLA yang Didukung (XMLA)