Baca dalam bahasa Inggris

Bagikan melalui


GENERATEALL

Berlaku untuk: kolom terhitungTabel terhitungMeasurePerhitungan visual

Mengembalikan tabel dengan Kartesius di antara setiap baris dalam tabel 1 tabel yang dihasilkan dari mengevaluasi tabel2 dalam konteks baris saat ini dari tabel 1.

Sintaksis

DAX
GENERATEALL(<table1>, <table2>)

Parameter

Istilah Definisi
table1 Ekspresi DAX apa pun yang mengembalikan tabel.
table2 Ekspresi DAX apa pun yang mengembalikan tabel.

Mengembalikan value

Tabel dengan product Kartesius di antara setiap baris dalam tabel 1and tabel yang dihasilkan dari mengevaluasi tabel2 dalam konteks baris saat ini dari tabel 1

Komentar

  • If evaluasi table2 untuk baris saat ini dalam tabel 1 mengembalikan tabel kosong, maka baris saat ini dari table1 akan disertakan dalam hasil and kolom yang sesuai dengan tabel 2 akan memiliki values null untuk baris tersebut. Ini berbeda dari GENERATE() di mana baris saat ini dari table1 akan not disertakan dalam hasil.

  • All nama kolom dari table1andtable2 harus berbeda orerror dikembalikan.

  • Fungsi ini not didukung untuk digunakan dalam mode DirectQuery saat digunakan dalam kolom terhitung or aturan keamanan tingkat baris (RLS).

Contoh

Dalam contoh berikut, pengguna menginginkan tabel ringkasan penjualan menurut Wilayah andProduct Kategori 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:

DAX
GENERATEALL(
SUMMARIZE(SalesTerritory, SalesTerritory[SalesTerritoryGroup])
,SUMMARIZE(ProductCategory
, [ProductCategoryName]
, "Reseller Sales", SUMX(RELATEDTABLE(ResellerSales_USD), ResellerSales_USD[SalesAmount_USD])
)
)
  1. first SUMMARIZE menghasilkan tabel grup wilayah, di mana setiap baris adalah grup wilayah, seperti yang tercantum di bawah ini:

    SalesTerritory[SalesTerritoryGroup]
    Amerika Utara
    Eropa
    Pacific
    NA
  2. second SUMMARIZE menghasilkan tabel grup Kategori Product 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
  3. Namun, saat Anda mengambil tabel di atas andevaluate tabel di bawah konteks setiap baris dari tabel grup wilayah, Anda mendapatkan hasil yang berbeda untuk setiap wilayah.