อ่านในภาษาอังกฤษ

แชร์ผ่าน


ผลิต

นําไปใช้กับ: คอลัมน์จากการคํานวณตารางจากการคํานวณหน่วยวัดการคํานวณวิชวล

แสดงตารางที่มีผลคูณคาร์ทีเซียนระหว่างแต่ละแถวใน 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])  
)  
)  
  1. คําสั่ง SUMMARIZE แรก SUMMARIZE(SalesTerritory, SalesTerritory[SalesTerritoryGroup])จะสร้างตารางของกลุ่มพื้นที่ โดยที่แต่ละแถวเป็นกลุ่มพื้นที่ ตามที่แสดงด้านล่าง:

    SalesTerritory [SalesTerritoryGroup]
    อเมริกาเหนือ
    ยุโรป
    แปซิฟิก
    นา
  2. คําสั่ง 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
  3. อย่างไรก็ตาม เมื่อคุณใช้ตารางข้างต้นและประเมินตารางภายใต้บริบทของแต่ละแถวจากตารางกลุ่มพื้นที่ คุณจะได้รับผลลัพธ์ที่แตกต่างกันสําหรับแต่ละพื้นที่