GENERATEALL
Berlaku untuk: kolom terhitungTabel terhitung
Ukur
Perhitungan visual
Mengembalikan tabel dengan produk Kartesius di antara setiap baris dalam tabel 1 dan tabel yang dihasilkan dari mengevaluasi tabel2 dalam konteks baris saat ini dari tabel 1.
Sintaksis
GENERATEALL(<table1>, <table2>)
Parameter
Istilah | Definisi |
---|---|
table1 |
Ekspresi DAX apa pun yang mengembalikan tabel. |
table2 |
Ekspresi DAX apa pun yang mengembalikan tabel. |
Mengembalikan nilai
Tabel dengan produk Kartesius di antara setiap baris dalam tabel 1 dan tabel yang dihasilkan dari mengevaluasi tabel2 dalam konteks baris saat ini dari tabel 1
Komentar
Jika evaluasi table2 untuk baris saat ini di table1 mengembalikan tabel kosong, maka baris saat ini dari table1 akan disertakan dalam hasil dan kolom yang sesuai dengan tabel 2 akan memiliki nilai null untuk baris tersebut. Ini berbeda dari GENERATE() di mana baris saat ini dari table1 akan tidak disertakan dalam hasil.
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 | Aksesoris | $ 142.227,27 |
Eropa | Sepeda | $ 9.970.200,44 |
Eropa | Pakaian | $ 365.847,63 |
Eropa | Komponen | $ 2.214.440,19 |
NA | Aksesoris | |
NA | Sepeda | |
NA | Pakaian | |
NA | Komponen | |
Amerika Utara | Aksesoris | $ 379.305,15 |
Amerika Utara | Sepeda | $ 52.403.796,85 |
Amerika Utara | Pakaian | $ 1.281.193,26 |
Amerika Utara | Komponen | $ 8.882.848,05 |
Pacific | Aksesoris | $ 12.769,57 |
Pacific | Sepeda | $ 710.677,75 |
Pacific | Pakaian | $ 22.902,38 |
Pacific | Komponen | $ 108.549,71 |
Rumus berikut menghasilkan tabel di atas:
GENERATEALL(
SUMMARIZE(SalesTerritory, SalesTerritory[SalesTerritoryGroup])
,SUMMARIZE(ProductCategory
, [ProductCategoryName]
, "Reseller Sales", SUMX(RELATEDTABLE(ResellerSales_USD), ResellerSales_USD[SalesAmount_USD])
)
)
SUMMARIZE pertama menghasilkan tabel grup wilayah, di mana setiap baris adalah grup wilayah, seperti yang tercantum di bawah ini:
SalesTerritory[SalesTerritoryGroup] Amerika Utara Eropa Pacific NA SUMMARIZE kedua 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 Aksesoris $ 534.301,99 Namun, saat Anda mengambil tabel di atas dan mengevaluasi tabel di bawah konteks setiap baris dari tabel grup wilayah, Anda mendapatkan hasil yang berbeda untuk setiap wilayah.