List.ConformToPageReader ใช้ภายในเพื่อแปลง List ของ Record เป็น Table ตาม Schema ที่กำหนด เหมาะสำหรับโครงสร้างข้อมูลที่ Page Reader ต้องการ
=List.ConformToPageReader(list as list, optional options as nullable record) as table
=List.ConformToPageReader(list as list, optional options as nullable record) as table
| Argument | Type | Required | Default | Description |
|---|---|---|---|---|
| list | list | Yes | List ที่ต้องแปลงเป็น Table สำหรับ Page Reader ซึ่งมักจะเป็น List ของ Record | |
| options | nullable record | Optional | null | Record ที่มีตัวเลือก (options) สำหรับการกำหนดค่า โดยทั่วไปมักจะเป็น null |
ฟังก์ชันนี้ถูกใช้โดย Power BI เองเมื่อมีการแสดงข้อมูลจาก List ของ Record ในรายงานที่ต้องการโครงสร้างแบบ Table ที่ชัดเจน
หากมีการพัฒนา Custom Connector หรือส่วนเสริมที่ต้องการส่งข้อมูลในรูปแบบเฉพาะที่ Page Reader ต้องการ (ซึ่งไม่แนะนำให้ใช้ทั่วไป)
let SalesData = { [Product = "A", Amount = 1000], [Product = "B", Amount = 2000] }, Result = List.ConformToPageReader(SalesData, null) in Resultlet
SalesData =
{
[Product = "A", Amount = 1000],
[Product = "B", Amount = 2000]
},
Result = List.ConformToPageReader(SalesData, null)
in
Result
| Product | Amount |
|---------|--------|
| A | 1000 |
| B | 2000 |
let Source = SomeFunction(...), ConvertedTable = List.ConformToPageReader(Source, null) in ConvertedTablelet
Source = SomeFunction(...),
ConvertedTable = List.ConformToPageReader(Source, null)
in
ConvertedTable
Table ที่ได้จากการแปลง Source
let CustomerData = { [Name = "John", Age = 30, City = "Bangkok"], [Name = "Jane", Age = 28, City = "Chiang Mai"] }, ConformMethod = List.ConformToPageReader(Cus…let
CustomerData =
{
[Name = "John", Age = 30, City = "Bangkok"],
[Name = "Jane", Age = 28, City = "Chiang Mai"]
},
ConformMethod = List.ConformToPageReader(CustomerData, null),
FromRecordsMethod = Table.FromRecords(CustomerData)
in
FromRecordsMethod
| Name | Age | City |
|------|-----|----------|
| John | 30 | Bangkok |
| Jane | 28 | Chiang Mai |
ผมบอกคุณตรงๆ เลยว่า ไม่ควรครับ เพราะมันเป็นฟังก์ชันสำหรับใช้ภายใน ถ้ามันเกิด error หรือทำงานไม่ถูกต้อง ผมก็จะไม่มีวิธีช่วยอะไรเพราะ Microsoft ไม่ได้ document มันเลย
อย่าลบนะครับ ปล่อยไว้อย่างนั้นดีกว่า เพราะมันถูก auto-generate เพื่ออ่าน Page Reader ข้อมูลที่ถูกต้อง ถ้าคุณลบมันออก อาจจะเกิด error ได้
ผมแนะนำให้ใช้ Table.FromRecords หรือ Table.FromList ซึ่งสามารถ document และสนับสนุนได้อย่างเต็มที่ ถ้าคุณเขียนโค้ด M ด้วยตัวเองนะครับ
List.ConformToPageReader เป็นฟังก์ชันสำหรับแปลง List ของ Record เป็น Table โดยแต่ละ Record จะกลายเป็นแถวในตารางผลลัพธ์ อย่างไรก็ตาม ฟังก์ชันนี้ถูกออกแบบมาเพื่อใช้ภายในเท่านั้น (internal use) ซึ่งแปลว่าคุณไม่ควรเรียกใช้มันในโค้ด M ทั่วไป
ที่เจ๋งคือ ผม… ไปเจอฟังก์ชันนี้ได้ยากมากครับ เพราะมันไม่ได้เป็นฟังก์ชันแบบ Public API ส่วนใหญ่จะเห็นมันใน generated code จาก Power BI เท่านั้น
ส่วนตัวผม แนะนำให้ใช้ Table.FromRecords หรือ Table.FromList แทน เพราะมันมี documentation ที่ชัดเจน ทำให้ code ของคุณอ่านและ maintain ได้ง่ายกว่า 😎