Aturan analisis daftar - AWS Clean Rooms

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Aturan analisis daftar

DalamAWS Clean Rooms, aturan analisis daftar menampilkan daftar tingkat baris tumpang tindih antara tabel yang dikonfigurasi yang ditambahkan dan tabel yang dikonfigurasi dari anggota yang dapat melakukan kueri. Anggota yang dapat melakukan kueri menjalankan kueri yang menyertakan aturan analisis daftar.

Jenis aturan analisis daftar mendukung penggunaan kasus seperti pengayaan dan pembangunan audiens.

Untuk informasi selengkapnya tentang struktur kueri dan sintaks yang telah ditentukan untuk aturan analisis ini, lihat. Daftar aturan analisis struktur yang telah ditentukan

Parameter aturan analisis daftar, yang didefinisikan dalamAturan analisis daftar - kontrol kueri, memiliki kontrol kueri. Kontrol kuerinya mencakup kemampuan untuk memilih kolom yang dapat dicantumkan dalam output. Kueri diperlukan untuk memiliki setidaknya satu gabungan dengan tabel yang dikonfigurasi dari anggota yang dapat melakukan kueri, baik secara langsung maupun transitif.

Tidak ada kontrol hasil kueri seperti yang ada untuk aturan analisis Agregasi.

Kueri daftar hanya dapat menggunakan operator matematika. Mereka tidak dapat menggunakan fungsi lain (seperti agregasi atau skalar).

Daftar struktur kueri dan sintaks

Kueri pada tabel yang memiliki aturan analisis daftar harus mematuhi sintaks berikut.

--select_list_expression SELECT [TOP number ] DISTINCT column_name [[AS] column_alias ] [, ...] --table_expression FROM table_name [[AS] table_alias ] [[INNER] JOIN table_name [[AS] table_alias] ON join_condition] [...] --where_expression [WHERE where_condition] --limit_expression [LIMIT number]

Tabel berikut menjelaskan setiap ekspresi yang tercantum dalam sintaks sebelumnya.

Ekspresi Definisi Contoh-contoh
select_list_expression

Daftar dipisahkan koma yang berisi setidaknya satu nama kolom tabel.

Diperlukan DISTINCT parameter.

catatan

Kolom alias select_list_expression kaleng dengan atau tanpa AS parameter.

Ini juga mendukung TOP parameter. Untuk informasi selengkapnya, lihat Referensi AWS Clean Rooms SQL.

SELECT DISTINCT segment

table_expression

Sebuah tabel, atau gabungan tabel, dengan join_condition untuk menghubungkannyajoin_condition.

join_conditionmengembalikan Boolean.

table_expressionDukungan:

  • Jenis JOIN tertentu (INNERJOIN)

  • Kondisi perbandingan kesetaraan dalam a join_condition () =

  • Operator logis (AND,OR).

FROM consumer_table INNER JOIN provider_table ON consumer_table.identifier1 = provider_table.identifier1 AND consumer_table.identifier2 = provider_table.identifier2
where_expression Ekspresi kondisional yang mengembalikan Boolean. Ini dapat terdiri dari yang berikut:
  • Nama kolom tabel.

  • Operator matematika

  • String literal

  • Literal numerik

Kondisi perbandingan yang didukung adalah (=, >, <, <=, >=, <>, !=, NOT, IN, NOT IN, LIKE, IS NULL, IS NOT NULL).

Operator logika yang didukung adalah (AND, OR).

where_expressionItu opsional.

WHERE state + '_' + city = 'NY_NYC'

WHERE timestampColumn = timestampColumn2 - 14

limit_expression

Ekspresi ini harus mengambil bilangan bulat positif. Itu juga dapat dipertukarkan dengan parameter TOP.

limit_expressionItu opsional.

LIMIT 100

Untuk struktur kueri daftar dan sintaks, perhatikan hal berikut:

  • Perintah SQL selain SELECT tidak didukung.

  • Subkueri dan ekspresi tabel umum (misalnya,WITH) tidak didukung

  • BYKlausul HAVING GROUPBY,, dan ORDER tidak didukung

  • Parameter OFFSET tidak didukung

Aturan analisis daftar - kontrol kueri

Dengan kontrol kueri daftar, Anda dapat mengontrol bagaimana kolom dalam tabel Anda digunakan untuk menanyakan tabel. Misalnya, Anda dapat mengontrol kolom mana yang digunakan untuk bergabung, atau kolom mana yang dapat digunakan dalam pernyataan dan WHERE klausa SELECT.

Bagian berikut menjelaskan setiap kontrol.

Bergabunglah dengan kontrol

Dengan kontrol Gabung, Anda dapat mengontrol bagaimana tabel Anda dapat digabungkan ke tabel lain di table_expression. AWS Clean Roomshanya mendukung INNER JOIN. Dalam aturan analisis daftar, setidaknya satu INNER JOIN diperlukan dan anggota yang dapat melakukan kueri diminta untuk menyertakan tabel yang mereka miliki di INNER JOIN. Ini berarti mereka harus menggabungkan meja Anda dengan meja mereka, baik secara langsung maupun transitif.

Berikut ini adalah contoh transitivitas.

ON my_table.identifer = third_party_table.identifier .... ON third_party_table.identifier = member_who_can_query_table.id

INNERPernyataan JOIN hanya dapat menggunakan kolom yang secara eksplisit dikategorikan sebagai aturan analisis joinColumn Anda.

INNERJOIN harus beroperasi pada joinColumn dari tabel yang dikonfigurasi dan joinColumn dari tabel lain yang dikonfigurasi dalam kolaborasi. Anda memutuskan kolom mana dari tabel Anda dapat digunakan sebagaijoinColumn.

Setiap kondisi kecocokan dalam ON klausa diperlukan untuk menggunakan kondisi perbandingan kesetaraan (=) antara dua kolom.

Beberapa kondisi pertandingan dalam suatu ON klausa dapat berupa:

  • Dikombinasikan menggunakan operator AND logis

  • Dipisahkan menggunakan operator OR logis

catatan

Semua kondisi JOIN pertandingan harus cocok dengan satu baris dari setiap sisiJOIN. Semua kondisional yang dihubungkan oleh OR atau operator AND logis harus mematuhi persyaratan ini juga.

Berikut ini adalah contoh dari query dengan operator AND logis.

SELECT some_col, other_col FROM table1 JOIN table2 ON table1.id = table2.id AND table1.name = table2.name

Berikut ini adalah contoh dari query dengan operator OR logis.

SELECT some_col, other_col FROM table1 JOIN table2 ON table1.id = table2.id OR table1.name = table2.name
Pengendalian Definisi Penggunaan
joinColumns Kolom yang ingin Anda izinkan anggota yang dapat kueri untuk digunakan dalam pernyataan INNER JOIN.

Kolom yang sama tidak dapat dikategorikan sebagai a joinColumn dan listColumn (lihatKontrol daftar).

joinColumntidak dapat digunakan di bagian lain dari kueri selain INNER JOIN.

Kontrol daftar

Kontrol daftar mengontrol kolom yang dapat dicantumkan dalam output kueri (yaitu, digunakan dalam pernyataan SELECT) atau digunakan untuk memfilter hasil (yaitu, digunakan dalam WHERE pernyataan).

Pengendalian Definisi Penggunaan
listColumns Kolom yang Anda izinkan anggota yang dapat kueri untuk digunakan dalam SELECT dan WHERE A listColumn dapat digunakan di SELECT danWHERE.

Kolom yang sama tidak dapat digunakan sebagai a listColumn danjoinColumn.

Daftar aturan analisis struktur yang telah ditentukan

Contoh berikut mencakup struktur yang telah ditentukan yang menunjukkan bagaimana Anda menyelesaikan aturan analisis daftar.

Dalam contoh berikut, MyTablemengacu pada tabel data Anda. Anda dapat mengganti setiap placeholder input pengguna dengan informasi Anda sendiri.

{ "joinColumns": [MyTable column name(s)], "listColumns": [MyTable column name(s)], }

Aturan analisis daftar - contoh

Contoh berikut menunjukkan bagaimana dua perusahaan dapat berkolaborasi dalam AWS Clean Rooms menggunakan analisis daftar.

Perusahaan A memiliki data manajemen hubungan pelanggan (CRM). Perusahaan A ingin mendapatkan data segmen tambahan pada pelanggannya untuk mempelajari lebih lanjut tentang pelanggan mereka dan berpotensi menggunakan atribut sebagai masukan ke dalam analisis lain. Perusahaan B memiliki data segmen yang terdiri dari atribut segmen unik yang mereka buat berdasarkan data pihak pertama mereka. Perusahaan B ingin memberikan atribut segmen unik kepada Perusahaan A hanya pada pelanggan yang tumpang tindih antara data mereka dan data Perusahaan A.

Perusahaan memutuskan untuk berkolaborasi sehingga Perusahaan A dapat memperkaya data yang tumpang tindih. Perusahaan A adalah anggota yang dapat menanyakan, dan Perusahaan B adalah kontributor.

Untuk membuat kolaborasi dan menjalankan analisis daftar secara kolaborasi, perusahaan melakukan hal berikut:

  1. Perusahaan A menciptakan kolaborasi dan menciptakan keanggotaan. Kolaborasi ini memiliki Perusahaan B sebagai anggota lain dalam kolaborasi tersebut. Perusahaan A memungkinkan pencatatan kueri dalam kolaborasi, dan memungkinkan pencatatan kueri di akunnya.

  2. Perusahaan B menciptakan keanggotaan dalam kolaborasi. Ini memungkinkan pencatatan kueri di akunnya.

  3. Perusahaan A membuat tabel yang dikonfigurasi CRM

  4. Perusahaan A menambahkan aturan analisis ke tabel yang dikonfigurasi pelanggan, seperti yang ditunjukkan pada contoh berikut.

    { "joinColumns": [ "identifier1", "identifier2" ], "listColumns": [ "internalid", "segment1", "segment2", "customercategory" ] }

    joinColumnsPerusahaan A ingin menggunakan hashedemail dan/atau thirdpartyid (diperoleh dari vendor identitas) untuk mencocokkan pelanggan dari data CRM ke pelanggan dari data segmen. Ini akan membantu memastikan Perusahaan A mencocokkan data yang diperkaya untuk pelanggan yang tepat. Mereka memiliki dua JoinColumns untuk berpotensi meningkatkan tingkat kecocokan analisis.

    listColumns— Perusahaan A menggunakan listColumns untuk mendapatkan kolom yang diperkaya di samping yang internalid mereka gunakan dalam sistem mereka sendiri. Mereka menambahkansegment1,segment2, dan customercategory berpotensi membatasi pengayaan ke segmen tertentu dengan menggunakannya dalam filter.

  5. Perusahaan B membuat tabel yang dikonfigurasi segmen.

  6. Perusahaan B menambahkan aturan analisis ke tabel yang dikonfigurasi segmen.

    { "joinColumns": [ "identifier2" ], "listColumns": [ "segment3", "segment4" ] }

    joinColumns— Perusahaan B memungkinkan Perusahaan A untuk bergabung identifier2 untuk mencocokkan pelanggan dari data segmen ke data CRM. Perusahaan A dan Perusahaan B bekerja dengan vendor identitas untuk mendapatkan identifier2 mana yang cocok untuk kolaborasi ini. Mereka tidak menambahkan yang lain joinColumns karena mereka percaya identifier2 memberikan tingkat kecocokan tertinggi dan paling akurat dan pengidentifikasi lain tidak diperlukan untuk kueri.

    listColumnsPerusahaan B memungkinkan Perusahaan A untuk memperkaya data mereka dengan segment3 dan segment4 atribut yang merupakan atribut unik yang telah mereka buat, kumpulkan, dan selaraskan (dengan pelanggan A) untuk menjadi bagian dari pengayaan data. Mereka ingin Perusahaan A mendapatkan segmen ini untuk tumpang tindih pada tingkat baris karena ini adalah kolaborasi pengayaan data.

  7. Perusahaan A menciptakan asosiasi tabel CRM untuk kolaborasi.

  8. Perusahaan B menciptakan asosiasi tabel segmen untuk kolaborasi.

  9. Perusahaan A menjalankan kueri, seperti yang berikut untuk memperkaya data pelanggan yang tumpang tindih.

    SELECT companyA.internalid, companyB.segment3, companyB.segment4 INNER JOIN returns companyB ON companyA.identifier2 = companyB.identifier2 WHERE companyA.customercategory > 'xxx'
  10. Perusahaan A dan Perusahaan B meninjau log kueri. Perusahaan B memverifikasi bahwa kueri sejalan dengan apa yang disepakati dalam perjanjian kolaborasi.