HASILKAN
Berlaku untuk: Kolom terhitung Tabel terhitung Ukur perhitungan Visual
Mengembalikan tabel dengan produk Kartesius antara setiap baris dalam tabel1 dan tabel yang dihasilkan dari mengevaluasi tabel2 dalam konteks baris saat ini dari table1.
Sintaks
GENERATE(<table1>, <table2>)
Parameter
Term | Definisi |
---|---|
table1 | Ekspresi DAX apa pun yang mengembalikan tabel. |
table2 | Ekspresi DAX apa pun yang mengembalikan tabel. |
Nilai hasil
Tabel dengan produk Kartesius antara setiap baris dalam table1 dan tabel yang dihasilkan dari mengevaluasi table2 dalam konteks baris saat ini dari table1
Keterangan
Jika evaluasi tabel2 untuk baris saat ini dalam table1 mengembalikan tabel kosong, maka tabel hasil tidak akan berisi baris saat ini dari table1. Ini berbeda dari GENERATEALL() di mana baris saat ini dari table1 akan disertakan dalam hasil dan kolom yang sesuai dengan table2 akan memiliki nilai null untuk baris tersebut.
Semua nama kolom dari table1 dan table2 harus berbeda atau kesalahan dikembalikan.
Fungsi ini tidak didukung untuk digunakan dalam mode DirectQuery saat digunakan dalam kolom terhitung atau aturan keamanan tingkat baris (RLS).
Contoh
Dalam contoh berikut, pengguna menginginkan tabel ringkasan penjualan menurut Wilayah dan Kategori Produk untuk saluran Penjual, seperti tabel berikut:
SalesTerritory[SalesTerritoryGroup] | ProductCategory[ProductCategoryName] | [Penjualan Penjual] |
---|---|---|
Eropa | Aksesori | $ 142.227,27 |
Eropa | Sepeda | $ 9.970.200,44 |
Eropa | Pakaian | $ 365.847,63 |
Eropa | Komponen | $ 2.214.440,19 |
Amerika Utara | Aksesori | $ 379.305,15 |
Amerika Utara | Sepeda | $ 52.403.796,85 |
Amerika Utara | Pakaian | $ 1.281.193,26 |
Amerika Utara | Komponen | $ 8.882.848,05 |
Pasifik | Aksesori | $ 12.769,57 |
Pasifik | Sepeda | $ 710.677,75 |
Pasifik | Pakaian | $ 22.902,38 |
Pasifik | Komponen | $ 108.549,71 |
Rumus berikut menghasilkan tabel di atas:
GENERATE(
SUMMARIZE(SalesTerritory, SalesTerritory[SalesTerritoryGroup])
,SUMMARIZE(ProductCategory
, [ProductCategoryName]
, "Reseller Sales", SUMX(RELATEDTABLE(ResellerSales_USD), ResellerSales_USD[SalesAmount_USD])
)
)
Pernyataan SUMMARIZE pertama,
SUMMARIZE(SalesTerritory, SalesTerritory[SalesTerritoryGroup])
, menghasilkan tabel grup wilayah, di mana setiap baris adalah grup wilayah, seperti yang ditunjukkan di bawah ini:SalesTerritory[SalesTerritoryGroup] Amerika Utara Eropa Pasifik NA Pernyataan SUMMARIZE kedua,
SUMMARIZE(ProductCategory, [ProductCategoryName], "Reseller Sales", SUMX(RELATEDTABLE(ResellerSales_USD), ResellerSales_USD[SalesAmount_USD]))
, menghasilkan tabel grup Kategori Produk dengan penjualan Penjual untuk setiap grup, seperti yang ditunjukkan di bawah ini:ProductCategory[ProductCategoryName] [Penjualan Penjual] Sepeda $ 63.084.675,04 Komponen $ 11.205.837,96 Pakaian $ 1.669.943,27 Aksesori $ 534.301,99 Namun, ketika Anda mengambil tabel di atas dan mengevaluasinya di bawah konteks setiap baris dari tabel grup wilayah, Anda mendapatkan hasil yang berbeda untuk setiap wilayah.