GENERATE
นําไปใช้กับ: คอลัมน์จากการคํานวณตารางจากการคํานวณหน่วยวัดการคํานวณวิชวล
แสดงตารางที่มีผลคูณคาร์ทีเซียนระหว่างแต่ละแถวใน table1 และตารางที่เป็นผลมาจากการประเมิน table2 ในบริบทของแถวปัจจุบันจาก table1
วากยสัมพันธ์
GENERATE(<table1>, <table2>)
พารามิเตอร์
เทอม | นิยาม |
---|---|
table1 |
นิพจน์ DAX ใด ๆ ที่แสดงตาราง |
table2 |
นิพจน์ DAX ใด ๆ ที่แสดงตาราง |
ค่าผลลัพธ์
ตารางที่มีผลคูณคาร์ทีเซียนระหว่างแต่ละแถวใน table1 และตารางที่เป็นผลมาจากการประเมิน table2 ในบริบทของแถวปัจจุบันจาก table1
หมาย เหตุ
ถ้าการประเมินของ table2 สําหรับแถวปัจจุบันใน table1 ส่งกลับตารางว่าง ตารางผลลัพธ์จะไม่มีแถวปัจจุบันจาก table1 ซึ่งจะแตกต่างจาก GENERATEALL() ซึ่งแถวปัจจุบันจาก table1 จะรวมอยู่ในผลลัพธ์และคอลัมน์ที่สอดคล้องกับ table2 จะมีค่า null สําหรับแถวนั้น
ชื่อคอลัมน์ทั้งหมดจาก table1 และ table2 ต้องแตกต่างกัน หรือระบบส่งกลับข้อผิดพลาด
ฟังก์ชันนี้ไม่ได้รับการสนับสนุนสําหรับการใช้งานในโหมด DirectQuery เมื่อใช้ในคอลัมน์จากการคํานวณหรือกฎการรักษาความปลอดภัยระดับแถว (RLS)
ตัวอย่าง
ในตัวอย่างต่อไปนี้ ผู้ใช้ต้องการตารางสรุปของยอดขายตามภูมิภาคและหมวดหมู่ของผลิตภัณฑ์สําหรับช่องทางการจัดหรับผู้จําหน่าย เช่นตารางต่อไปนี้:
SalesTerritory [SalesTerritoryGroup] | ProductCategory[ProductCategoryName] | [Reseller Sales] |
---|---|---|
ยุโรป | อุปกรณ์ เสริม | $ 142,227.27 |
ยุโรป | จักรยาน | $ 9,970,200.44 |
ยุโรป | เสื้อผ้า | $ 365,847.63 |
ยุโรป | คอม โพ เนนต์ | $ 2,214,440.19 |
อเมริกาเหนือ | อุปกรณ์ เสริม | $ 379,305.15 |
อเมริกาเหนือ | จักรยาน | $ 52,403,796.85 |
อเมริกาเหนือ | เสื้อผ้า | $ 1,281,193.26 |
อเมริกาเหนือ | คอม โพ เนนต์ | $ 8,882,848.05 |
แปซิฟิก | อุปกรณ์ เสริม | $ 12,769.57 |
แปซิฟิก | จักรยาน | $ 710,677.75 |
แปซิฟิก | เสื้อผ้า | $ 22,902.38 |
แปซิฟิก | คอม โพ เนนต์ | $ 108,549.71 |
สูตรต่อไปนี้จะสร้างตารางด้านบน:
GENERATE(
SUMMARIZE(SalesTerritory, SalesTerritory[SalesTerritoryGroup])
,SUMMARIZE(ProductCategory
, [ProductCategoryName]
, "Reseller Sales", SUMX(RELATEDTABLE(ResellerSales_USD), ResellerSales_USD[SalesAmount_USD])
)
)
คําสั่ง SUMMARIZE แรก
SUMMARIZE(SalesTerritory, SalesTerritory[SalesTerritoryGroup])
จะสร้างตารางของกลุ่มพื้นที่ โดยที่แต่ละแถวเป็นกลุ่มพื้นที่ ดังที่แสดงด้านล่าง:SalesTerritory [SalesTerritoryGroup] อเมริกาเหนือ ยุโรป แปซิฟิก นา คําสั่ง SUMMARIZE ที่สอง
SUMMARIZE(ProductCategory, [ProductCategoryName], "Reseller Sales", SUMX(RELATEDTABLE(ResellerSales_USD), ResellerSales_USD[SalesAmount_USD]))
จะสร้างตารางหมวดหมู่ของผลิตภัณฑ์ที่มียอดขายของผู้จําหน่ายสําหรับแต่ละกลุ่ม ดังที่แสดงด้านล่าง:ProductCategory[ProductCategoryName] [Reseller Sales] จักรยาน $ 63,084,675.04 คอม โพ เนนต์ $ 11,205,837.96 เสื้อผ้า $ 1,669,943.27 อุปกรณ์ เสริม $ 534,301.99 อย่างไรก็ตาม เมื่อคุณใช้ตารางข้างต้นและประเมินตารางภายใต้บริบทของแต่ละแถวจากตารางกลุ่มพื้นที่ คุณจะได้รับผลลัพธ์ที่แตกต่างกันสําหรับแต่ละพื้นที่