ตัวดำเนินการและตัวระบุใน Power Apps
ใช้กับ: แอป Canvas แอปที่ขับเคลื่อนด้วยโมเดล Power Pages
ตัวดำเนินการเหล่านี้บางตัวจะขึ้นกับภาษาของผู้เขียน สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการสนับสนุนภาษาในแอปพื้นที่ทำงาน ดูที่ แอปส่วนกลาง
สัญลักษณ์ | ชนิด | ตัวอย่าง | คำอธิบาย |
---|---|---|---|
'...' | ตัวระบุ | ‘ชื่อบัญชี’ | ตัวระบุที่มีอักขระพิเศษ รวมทั้งช่องว่าง อยู่ในเครื่องหมายอัญประกาศเดี่ยว |
"..." | สตริงข้อความ | "สวัสดีโลก" | สตริงข้อความอยู่ในเครื่องหมายอัญประกาศคู่ |
$"..." | การสอดแทรกสตริง | $“เรียนคุณ {FirstName},” | สูตรที่ฝังอยู่ในสตริงข้อความ |
- | ตัวเลือกคุณสมบัติ | สไลเดอร์1.ค่า Color.Red Acceleration.X |
แยกคุณสมบัติจาก ตาราง ตัวควบคุม สัญญาณ หรือการแจกแจง สำหรับความเข้ากันได้แบบย้อนหลัง ! อาจนำมาใช้ด้วยเช่นกัน |
- [ขึ้นอยู่กับภาษา] |
ตัวคั่นทศนิยม | 1.23 | ตัวคั่นระหว่างตัวเลขทั้งหมดและตัวเลขเศษส่วน อักขระขึ้นกับภาษา |
- | เครื่องหมายวงเล็บ | ตัวกรอง(T, A < 10) (1+2) * 3 |
บังคับใช้ตามลำดับความสำคัญและจัดกลุ่มนิพจน์ย่อยเป็นนิพจน์ที่มีขนาดใหญ่ขึ้น |
+ | ตัวดำเนินการทางคณิตศาสตร์ | 1 + 2 | การบวก |
- | 2 - 1 | การลบและสัญลักษณ์ | |
* | 2 * 3 | การคูณ | |
/ | 2 / 3 | การหาร (เรียกว่าฟังก์ชัน Mod ) | |
^ | 2 ^ 3 | การยกกำลัง ซึ่งเทียบเท่ากับฟังก์ชัน Power | |
% | 20% | เปอร์เซ็นต์ (เทียบเท่ากับ "* 1/100") | |
= | ตัวดำเนินการเปรียบเทียบ | ราคา = 100 | เท่ากับ |
> | ราคา > 100 | มากกว่า | |
>- | ราคา >= 100 | มากกว่าหรือเท่ากับ | |
< | ราคา < 100 | น้อยกว่า | |
<- | ราคา <= 100 | น้อยกว่าหรือเท่ากับ | |
<> | ราคา <> 100 | ไม่เท่ากับ | |
& | ตัวเชื่อมสตริงเข้าด้วยกัน | “สวัสดี” & “” & “โลก” | ทำให้สตริงหลายรายการปรากฏขึ้นแบบต่อเนื่องกัน |
&& หรือ และ | ตัวดำเนินการทางตรรกะ | ราคา < 100 && Slider1.Value = 20 หรือ ราคา < 100 And Slider1.Value = 20 |
การเชื่อมโยงเชิงตรรกะ ซึ่งเทียบเท่ากับฟังก์ชัน And |
|| หรือ หรือ | ราคา < 100 || Slider1.Value = 20 หรือ ราคา < 100 หรือ Slider1.Value = 20 | การแบ่งแยกเชิงตรรกะ ซึ่งเทียบเท่ากับฟังก์ชัน Or | |
! หรือ Not | !(ราคา < 100) หรือ ไม่ (ราคา < 100) | ค่าลบเชิงตรรกะ ซึ่งเทียบเท่ากับฟังก์ชัน Not | |
เอ็กแซกติน | ผู้ดำเนินการด้านสมาชิก | Gallery1.เลือกรายการที่บันทึกไว้อย่างถูกต้อง | ซึ่งเป็นของ คอลเลกชัน หรือตาราง |
เอ็กแซกติน | "Windows" ถูกต้อง "เพื่อแสดงหน้าต่างในระบบปฏิบัติการ Windows..." | การทดสอบสตริงย่อย (ตรงตามตัวพิมพ์ใหญ่-เล็ก) | |
ใน | Gallery1.เลือกไว้ในรายการที่บันทึกไว้ | ซึ่งเป็นของคอลเลกชัน หรือตาราง | |
ใน | “สิ่งนั้น” ใน “แป้นพิมพ์และจอภาพ…” | การทดสอบสตริงย่อย (ไม่ตรงตามตัวพิมพ์เล็ก-ใหญ่) | |
@ | ตัวดำเนินการแก้ความกำกวม | ตารางของฉัน[@ชื่อฟิลด์] | การแก้ไขความคลุมเครือของฟิลด์ |
@ | [@ตัวแปรของฉัน] | การแก้ไขความคลุมเครือส่วนกลาง | |
- [ขึ้นอยู่กับภาษา] |
ตัวคั่นรายการ | ถ้า(X < 10. “ต่ำ”, “ดี”) { เอ็กซ์: 12, วาย: 32 } [ 1, 2, 3 ] |
คั่น: อักขระนี้ขึ้นกับภาษา |
- [ขึ้นอยู่กับภาษา] |
การเกี่ยวโยงของสูตร | Collect(T, A); Navigate(S1, "") | แยกคำขอของฟังก์ชันในคุณสมบัติลักษณะการทำงาน ตัวดำเนินการเกี่ยวโยงจะขึ้นอยู่กับภาษา |
เช่น | ในฐานะผู้ปฏิบัติงาน | ลูกค้าทั้งหมดในฐานะลูกค้า | การแทนที่ ThisItem และ ThisRecord ในแกลเลอรีและฟังก์ชันขอบเขตเรกคอร์ด เช่น มีประโยชน์สำหรับการให้ชื่อที่เฉพาะเจาะจงยิ่งขึ้น และมีความสำคัญอย่างยิ่งในสถานการณ์แบบซ้อนกัน |
ตัวเอง | ผู้ปฏิบัติงานด้วยตนเอง | เติมตัวเอง | การเข้าถึงคุณสมบัติของตัวควบคุมปัจจุบัน |
พ่อแม่ | ผู้ประกอบการหลัก | ผู้ปกครอง.กรอก | เข้าถึงคุณสมบัติของคอนเทนเนอร์ตัวควบคุม |
รายการนี้ | ผู้ดำเนินการรายการนี้ | รายการนี้.ชื่อจริง | เข้าถึงฟิลด์ของตัวควบคุม Gallery หรือ form |
บันทึกนี้ | ผู้ดำเนินการ ThisRecord | บันทึกนี้.ชื่อจริง | เข้าถึงเรกคอร์ดที่สมบูรณ์และแต่ละฟิลด์ของเรกคอร์ดภายใน ForAll Sum With และฟังก์ชันขอบเขตเรกคอร์ดอื่นๆ สามารถแทนที่ด้วย เป็น ตัวดำเนินการ |
หมายเหตุ
ตัวดำเนินการ @ ยังสามารถใช้เพื่อตรวจสอบชนิดของออบเจ็กต์ของเรกคอร์ดกับแหล่งข้อมูล ตัวอย่างเช่น Collect(coll,Account@{'Account Number: 1111')
ตัวดำเนินการ in และ exactin
ใช้ตัวดำเนินการ ใน และ ที่แม่นยำใน เพื่อค้นหาสตริงใน แหล่งข้อมูล เช่น คอลเลกชันหรือตารางที่นำเข้ามา ตัวดำเนินการ in ระบุรายการที่ตรงกันโดยไม่คำนึงถึงตัวพิมพ์ และตัวดำเนินการ exactin ระบุรายการที่ตรงกัน แม้ว่าจะเปลี่ยนเป็นตัวพิมพ์ใหญ่แบบเดียวกัน ตัวอย่างมีดังนี้:
สร้างหรือนำเข้าคอลเลกชันที่มีชื่อว่า Inventory แล้วแสดงในแกลเลอรี ตามกระบวนการแรกใน แสดงรูปภาพและข้อความในแกลเลอรี ที่อธิบายไว้
ตั้งค่าคุณสมบัติ Items ของแกลเลอรีให้สูตรนี้:
ตัวกรอง (สินค้าคงคลัง, "E" ในชื่อผลิตภัณฑ์)แกลเลอรีแสดงผลิตภัณฑ์ทั้งหมดยกเว้น Callisto เนื่องจากชื่อของผลิตภัณฑ์ดังกล่าวเป็นชื่อเดียวที่ไม่มีตัวอักษรที่คุณระบุ
เปลี่ยนคุณสมบัติ Items ของแกลเลอรีให้สูตรนี้:
ตัวกรอง (สินค้าคงคลัง, "E" ตรงกับชื่อผลิตภัณฑ์)แกลเลอรีแสดงเฉพาะ Europa เนื่องจากชื่อของผลิตภัณฑ์มีตัวอักษรที่คุณระบุตามตัวพิมพ์ที่คุณระบุ
ThisItem, ThisRecord และ เป็นตัวดำเนินการ
การควบคุมและฟังก์ชันบางอย่างใช้สูตรกับแต่ละเรกคอร์ดของตาราง หากต้องการอ้างถึงเรกคอร์ดแต่ละรายการในสูตร ให้ใช้วิธีใดวิธีหนึ่งต่อไปนี้:
ตัวดำเนินการ | นำไปใช้กับ | รายละเอียด |
---|---|---|
รายการนี้ | แกลเลอรี่ ควบคุม แก้ไขแบบฟอร์ม ควบคุม แบบฟอร์มแสดง ควบคุม |
ชื่อเริ่มต้นสำหรับเรกคอร์ดปัจจุบันในตัวควบคุม แกลเลอรี หรือตัวควบคุมฟอร์ม |
บันทึกนี้ | สำหรับทั้งหมด, ตัวกรอง, ด้วย, ผลรวม และฟังก์ชัน ขอบเขตการบันทึก อื่นๆ | ชื่อเริ่มต้นสำหรับเรกคอร์ดในปัจจุบัน ForAll และฟังก์ชันขอบเขตเรกคอร์ดอื่นๆ |
เป็นชื่อ | แกลเลอรี การควบคุม ฟังก์ชัน ForAll, Filter, With, Sum และขอบเขตระเบียนอื่นๆ |
กำหนด ชื่อ สำหรับเรกคอร์ดปัจจุบันแทนที่ค่าเริ่มต้น ThisItem หรือ ThisRecord ใช้ เป็น เพื่อทำให้สูตรเข้าใจง่ายขึ้นและแก้ไขความคลุมเครือเมื่อซ้อนกัน |
ตัวดำเนินการ ThisItem
ตัวอย่างเช่น ในตัวควบคุม แกลเลอรี ต่อไปนี้ คุณสมบัติ Items ถูกตั้งค่าเป็นแหล่งข้อมูล พนักงาน (เช่น ตาราง พนักงาน ที่มาพร้อมกับ ตัวอย่าง Northwind Traders):
Employees
รายการแรกในแกลเลอรีคือเทมเพลตที่จำลองสำหรับพนักงานแต่ละคน ในเทมเพลตจะใช้สูตรสำหรับรูปภาพ ThisItem เพื่ออ้างถึงรายการปัจจุบัน:
ThisItem.Picture
ในทำนองเดียวกันสูตรสำหรับชื่อยังใช้ ThisItem:
ThisItem.'First Name' & " " & ThisItem.'Last Name'
ตัวดำเนินการ ThisRecord
ThisRecord ใช้ในฟังก์ชันที่มี ขอบเขตระเบียน ตัวอย่างเช่น เราสามารถใช้ฟังก์ชัน Filter กับคุณสมบัติ Items ของแกลเลอรีเพื่อแสดงเฉพาะชื่อที่อยู่กับ M:
Filter( Employees, StartsWith( ThisRecord.Employee.'First Name', "M" ) )
ThisRecord เป็นทางเลือกและโดยนัยแล้วจะใช้ฟิลด์โดยตรง เช่น ในกรณีนี้ เราสามารถเขียนได้ดังนี้:
Filter( Employees, StartsWith( 'First Name', "M" ) )
แม้ว่าจะเป็นทางเลือก การใช้ไฟล์ ThisRecord สามารถทำให้สูตรเข้าใจง่ายขึ้นและอาจต้องใช้ในสถานการณ์ที่คลุมเครือซึ่งชื่อฟิลด์อาจเป็นชื่อความสัมพันธ์ด้วย ThisRecord เป็นทางเลือก ในขณะที่ ThisItem จำเป็นเสมอ
ใช้ ThisRecord เพื่ออ้างอิงทั้งเรกคอร์ดด้วย Patch Collect และฟังก์ชันขอบเขตเรกคอร์ดอื่นๆ ตัวอย่างเช่น สูตรต่อไปนี้ตั้งค่าสถานะสำหรับพนักงานที่ไม่ได้ใช้งานทั้งหมดเป็นใช้งานอยู่:
With( { InactiveEmployees: Filter( Employees, Status = 'Status (Employees)'.Inactive ) },
ForAll( InactiveEmployees,
Patch( Employees, ThisRecord, { Status: 'Status (Employees)'.Active } ) ) )
เป็นตัวดำเนินการ
ใช้ตัวดำเนินการ เป็น เพื่อตั้งชื่อเรกคอร์ดในแกลเลอรี่หรือฟังก์ชันขอบเขตเรกคอร์ด แทนที่ค่าเริ่มต้น ThisItem หรือ ThisRecord การตั้งชื่อเรกคอร์ดสามารถทำให้สูตรของคุณเข้าใจง่ายขึ้นและอาจจำเป็นในสถานการณ์ซ้อนเพื่อเข้าถึงเรกคอร์ดในขอบเขตอื่นๆ
ตัวอย่างเช่น คุณสามารถแก้ไขคุณสมบัติ Items ของแกลเลอรีของเราเพื่อใช้ As ในการระบุว่าเรากำลังทำงานกับพนักงาน:
Employees As Employee
สูตรสำหรับรูปภาพและชื่อถูกปรับให้ใช้ชื่อนี้สำหรับเรกคอร์ดปัจจุบัน:
Employee.Picture
Employee.'First Name' & " " & Employee.'Last Name'
As ยังสามารถใช้ร่วมกับฟังก์ชันขอบเขตระเบียนเพื่อแทนที่ชื่อเริ่มต้น ThisRecord ได้อีกด้วย เราสามารถนำไปใช้กับตัวอย่างก่อนหน้าของเราเพื่ออธิบายถึงเรกคอร์ดที่เรากำลังดำเนินการอยู่:
With( { InactiveEmployees: Filter( Employees, Status = 'Status (Employees)'.Inactive ) },
ForAll( InactiveEmployees As Employee,
Patch( Employees, Employee, { Status: 'Status (Employees)'.Active } ) ) )
เมื่อซ้อนแกลเลอรีและฟังก์ชันขอบเขตเรกคอร์ด ThisItem และ ThisRecord ให้อ้างถึงขอบเขตส่วนใหญ่ภายในเสมอโดยปล่อยให้มีเรกคอร์ดในขอบเขตด้านนอกไม่พร้อมใช้งาน ใช้ เป็น เพื่อทำให้ขอบเขตเรกคอร์ดทั้งหมดพร้อมใช้งานโดยตั้งชื่อที่ไม่ซ้ำกัน
ตัวอย่างเช่น สูตรนี้สร้างรูปแบบกระดานหมากรุกเป็นสตริงข้อความโดยการซ้อนสองฟังก์ชัน ForAll:
Concat(
ForAll( Sequence(8) As Rank,
Concat(
ForAll( Sequence(8) As File,
If( Mod(Rank.Value + File.Value, 2) = 1, " X ", " . " )
),
Value
) & Char(10)
),
Value
)
การตั้งค่าตัวควบคุม ป้ายชื่อ คุณสมบัติ Text เป็นสูตรนี้แสดงถึง:
มาดูกันว่ามีอะไรเกิดขึ้นที่นี่:
- เราเริ่มต้นด้วยการทำซ้ำตารางที่ไม่มีชื่อของ 8 เรกคอร์ดหมายเลขจากฟังก์ชัน Sequence การวนรอบนี้ใช้สำหรับแต่ละแถวของกระดาน ซึ่งโดยทั่วไปจะเรียกว่า ลำดับ ดังนั้นเราจึงตั้งชื่อนี้
- สำหรับแต่ละแถว เราจะวนซ้ำตารางที่ไม่มีชื่ออีก 8 คอลัมน์ และให้ชื่อสามัญ ไฟล์
- ถ้า Rank.Value + File.Value เป็นจำนวนคี่ สี่เหลี่ยมจะได้รับ X มิฉะนั้นจะเป็นจุด ส่วนของสูตรนี้เป็นการอ้างอิงทั้งสองการวนรอบของ ForAll ทำได้โดยใช้ตัวดำเนินการ เป็น
- Concat ถูกใช้สองครั้ง ครั้งแรกสำหรับประกอบคอลัมน์ และครั้งที่สองสำหรับประกอบแถว โดยมี Char(10) เพิ่มเข้ามาเพื่อสร้างบรรทัดใหม่
ตัวอย่างที่คล้ายกันนี้เป็นไปได้ด้วยตัวควบคุม แกลเลอรี ที่ซ้อนกันแทนฟังก์ชัน ForAll เริ่มต้นด้วยแกลเลอรีแนวตั้งสำหรับไฟล์ ลำดับ ตัวควบคุมแกลเลอรี่นี้จะมีสูตร รายการ ของ:
Sequence(8) as Rank
ภายในแกลเลอรีนี้เราจะวางแกลเลอรีแนวนอนสำหรับ ไฟล์ ที่จะถูกจำลองแบบสำหรับแต่ละ ลำดับ ด้วยคุณสมบัติ Items ของ:
Sequence(8) as File
และสุดท้ายภายในแกลเลอรีนี้เราจะเพิ่มตัวควบคุม ป้ายชื่อ ที่จะถูกจำลองสำหรับแต่ละ ไฟล์ และแต่ละคน ลำดับ เราจะปรับขนาดให้เต็มช่องว่างและใช้คุณสมบัติ Fill ในการให้สีด้วยสูตรนี้:
If( Mod( Rank.Value + File.Value, 2 ) = 1, Green, Beige )
ตัวดำเนินการ Self และ Parent
มีสามวิธีในการอ้างถึงตัวควบคุมและคุณสมบัติของตัวควบคุมภายในสูตร:
วิธีการ | คำอธิบาย |
---|---|
โดยชื่อตัวควบคุม | สามารถอ้างอิงตัวควบคุมใดๆ โดยชื่อได้จากทุกที่ภายในแอป ตัวอย่างเช่น Label1.Fill อ้างถึงคุณสมบัติการเติมของตัวควบคุมที่ชื่อ Label1 |
ผู้ดำเนินการตนเอง | มักจะสะดวกในการอ้างอิงคุณสมบัติอื่นของตัวควบคุมเดียวกัน เมื่อเขียนสูตร แทนที่จะใช้การอ้างอิงแบบสัมบูรณ์ตามชื่อ การใช้การอ้างอิงแบบสัมพัทธ์กับ ตนเอง ง่ายกว่าและสะดวกมากกว่า ตัวดำเนินการ Self ให้การเข้าถึงง่ายๆ ไปยังตัวควบคุมปัจจุบัน ตัวอย่างเช่น Self.Fill หมายถึงสีสำหรับการเติมของตัวควบคุมปัจจุบัน |
ผู้ปกครอง ผู้ดำเนินการ | ตัวควบคุมบางตัวโฮสต์ตัวควบคุมอื่นๆ เช่น ตัวควบคุม หน้าจอ และตัวควบคุม แกลเลอรี การควบคุมการโฮสต์ของตัวควบคุมภายในเรียกว่า parent เช่นเดียวกับตัวดำเนินการ Self ตัวดำเนินการ Parent ให้อ้างอิงง่ายๆ ที่สัมพันธ์กันไปยังตัวควบคุมคอนเทนเนอร์ ตัวอย่างเช่น Parent.Fill อ้างถึงคุณสมบัติการเติมของตัวควบคุมที่เป็นคอนเทนเนอร์สำหรับตัวควบคุมปัจจุบัน |
ตนเอง และ ผู้ปกครอง เป็นตัวดำเนินการและไม่ใช่คุณสมบัติในตัวควบคุมเอง ไม่รองรับการอ้างถึง Parent.Parent Self.Parent หรือ Parent.Self
ชื่อตัวระบุ
ชื่อของตัวแปร แหล่งข้อมูล คอลัมน์ และวัตถุอื่นๆ สามารถมี Unicode ได้
ใช้เครื่องหมายอัญประกาศเดี่ยว ล้อมรอบชื่อที่มีช่องว่างหรืออักขระพิเศษอื่นๆ
ใช้เครื่องหมายอัญประกาศเดี่ยวสองตัวพร้อมกัน เพื่อเป็นตัวแทนของเครื่องหมายอัญประกาศเดียวในชื่อ ชื่อที่ไม่มีอักขระพิเศษไม่จำเป็นต้องมีเครื่องหมายอัญประกาศเดี่ยว
ต่อไปนี้คือตัวอย่างชื่อคอลัมน์บางส่วนที่คุณอาจพบในตาราง และวิธีการแสดงในสูตร:
ชื่อคอลัมน์ในฐานข้อมูล | การอ้างอิงคอลัมน์ในสูตร |
---|---|
SimpleName | SimpleName |
NameWith123Numbers | NameWith123Numbers |
ชื่อที่มีช่องว่าง | 'Name with spaces' |
ชื่อที่มีเครื่องหมายอัญประกาศ "คู่" | 'Name with "double" quotes' |
ชื่อที่มีเครื่องหมายอัญประกาศ 'เดี่ยว' | 'Name with ''single'' quotes' |
ชื่อที่มีเครื่องหมาย @ | 'Name with an @ at sign' |
ใช้เครื่องหมายอัญประกาศคู่ กำหนดสตริงข้อความ
ชื่อที่แสดงและชื่อตรรกะ
บางแหล่งข้อมูล เช่น SharePoint และ Microsoft Dataverse มีสองชื่อที่ต่างกัน เพื่ออ้างถึงตารางหรือคอลัมน์ข้อมูลเดียวกัน:
ชื่อตรรกะ - ชื่อที่รับประกันว่าไม่ซ้ำ ไม่เปลี่ยนแปลงหลังจากที่สร้างขึ้น โดยปกติไม่อนุญาตให้มีช่องว่างหรืออักขระพิเศษอื่นๆ และไม่ถูกแปลเป็นภาษาอื่น เป็นผลให้ชื่อสามารถกำกวมได้ ชื่อเหล่านี้ถูกใช้โดยนักพัฒนามืออาชีพ ตัวอย่างเช่น cra3a_customfield ชื่อนี้อาจเรียกว่า ชื่อ Schema หรือเพียงแค่ ชื่อ
ชื่อที่แสดง - ชื่อที่เป็นมิตรกับผู้ใช้และมีวัตถุประสงค์ให้ผู้ใช้ปลายทางเห็น ชื่อนี้อาจไม่ซ้ำกัน อาจมีการเปลี่ยนแปลงเมื่อเวลาผ่านไป อาจมีช่องว่างและอักขระ Unicode ใดๆ และอาจมีการแปลเป็นภาษาอื่น อาจสอดคล้องกับตัวอย่างด้านบน ชื่อที่แสดงอาจเป็น ฟิลด์ที่กำหนดเอง ที่มีช่องว่างระหว่างคำ
เนื่องจากชื่อที่แสดงนั้นง่ายต่อการเข้าใจ แอปพื้นที่ทำงานจะแนะนำพวกเขาเป็นตัวเลือก และไม่แนะนำชื่อตรรกะ แม้ว่าจะไม่แนะนำชื่อตรรกะ แต่ก็ยังสามารถใช้ได้หากพิมพ์แบบทางอ้อม
ตัวอย่างเช่น สมมติว่าคุณได้เพิ่ม ฟิลด์ที่กำหนดเอง ลงในตารางใน Dataverse ระบบจะกำหนดชื่อตรรกะให้กับคุณ ซึ่งคุณสามารถแก้ไขได้เฉพาะเมื่อสร้างฟิลด์เท่านั้น ผลลัพธ์จะคล้ายกับ:
เมื่อสร้างการอ้างอิงไปยังฟิลด์ของบัญชี ข้อเสนอแนะจะใช้ 'ฟิลด์ที่กำหนดเอง' เนื่องจากนี่คือ ชื่อที่แสดง ต้องใช้เครื่องหมายอัญประกาศเดี่ยวเนื่องจากชื่อนี้มีช่องว่าง:
หลังจากเลือกคำแนะนำ 'ฟิลด์ที่กำหนดเอง' จะปรากฏในแถบสูตร และข้อมูลจะถูกดึง:
แม้ว่าจะไม่แนะนำ แต่เราสามารถใช้ชื่อตรรกะสำหรับฟิลด์นี้ได้ ซึ่งจะส่งผลให้มีการดึงข้อมูลเดียวกัน ไม่จำเป็นต้องมีเครื่องหมายคำพูดเดียวเนื่องจากชื่อนี้ไม่มีช่องว่างหรืออักขระพิเศษ:
เบื้องหลัง การแมปจะคงอยู่ระหว่างชื่อที่แสดงที่เห็นในสูตรและชื่อตรรกะพื้นฐาน เนื่องจากชื่อตรรกะต้องถูกใช้เพื่อโต้ตอบกับแหล่งข้อมูล การแมปนี้ใช้เพื่อแปลงจากชื่อที่แสดงปัจจุบันเป็นชื่อตรรกะโดยอัตโนมัติ และนั่นคือสิ่งที่เห็นในปริมาณการใช้เครือข่าย การแมปนี้ยังใช้เพื่อแปลงกลับเป็นชื่อเชิงตรรกะเพื่อเปลี่ยนเป็นชื่อที่แสดงใหม่ เช่น หากชื่อที่แสดงเปลี่ยนแปลงหรือผู้สร้างในภาษาอื่นแก้ไขแอป
หมายเหตุ
ชื่อตรรกะไม่ถูกแปล เมื่อย้ายแอประหว่างสภาพแวดล้อม สำหรับชื่อตารางระบบและฟิลด์ Dataverse ไม่ควรเป็นปัญหาเนื่องจากชื่อเชิงตรรกะจะสอดคล้องกันในทุกสภาพแวดล้อม แต่ฟิลด์ที่กำหนดเองใดๆ เช่น cra3a_customfield ในตัวอย่างข้างต้น อาจมีคำนำหน้าสภาพแวดล้อมที่แตกต่างกัน (cra3a ในกรณีนี้) ชื่อที่แสดงเป็นที่ต้องการ เนื่องจากสามารถจับคู่กับชื่อที่แสดงในสภาพแวดล้อมใหม่ได้
การแก้ไขความคลุมเครือชื่อ
เนื่องจากชื่อที่แสดงไม่เหมือนกัน ชื่อที่แสดงเดียวกันจึงอาจปรากฏขึ้นมากกว่าหนึ่งครั้งในตารางเดียวกัน เมื่อสิ่งนี้เกิดขึ้น ชื่อตรรกะจะถูกเพิ่มที่ส่วนท้ายของชื่อที่แสดงในเครื่องหมายวงเล็บสำหรับชื่อที่ขัดแย้งกันอีกชื่อหนึ่ง การสร้างตามตัวอย่างข้างต้น หากมีฟิลด์ที่สองที่มีชื่อที่แสดงของ ฟิลด์ที่กำหนดเอง เหมือนกันด้วยชื่อตรรกะของ cra3a_customfieldalt คำแนะนำจะแสดง:
สตริงการแก้ความกำกวมชื่อจะถูกเพิ่มในสถานการณ์อื่นที่มีความขัดแย้งของชื่อเกิดขึ้น เช่น ชื่อของตาราง ตัวเลือก และรายการ Dataverse อื่นๆ
ตัวดำเนินการแก้ไขความคลุมเครือ
บางฟังก์ชันจะสร้าง ขอบเขตของเรกคอร์ด สำหรับเข้าถึงฟิลด์ของตาราง ขณะที่ประมวลผลแต่ละเรกคอร์ด เช่น Filter, AddColumns และ Sum ชื่อฟิลด์ที่เพิ่มด้วยขอบเขตของเรกคอร์ดจะแทนที่ชื่อเดียวกันจากที่อื่นในแอป เมื่อเกิดสิ่งนี้ขึ้น คุณยังสามารถเข้าถึงค่าจากภายนอกขอบเขตเรกคอร์ดได้ด้วยตัวดำเนินการการแก้ไขความคลุมเครือ @ ได้:
- เมื่อต้องการเข้าถึงค่าจากขอบเขตของเรกคอร์ดที่ซ้อนกัน ให้ใช้ตัวดำเนินการ @ ที่มีชื่อของตารางที่กำลังดำเนินการโดยใช้รูปแบบนี้
ตาราง[@ชื่อฟิลด์] - เมื่อต้องการเข้าถึงค่าส่วนกลาง เช่น แหล่งข้อมูล คอลเลกชัน และตัวแปรบริบท ให้ใช้รูปแบบ [@ObjectName] (โดยไม่ต้องกำหนดตาราง)
สำหรับข้อมูลและตัวอย่างเพิ่มเติม ดูที่ ขอบเขตของเรกคอร์ด