นิพจน์ในตัวสร้างรายงานใน Power BI
นําไปใช้กับ: Power BI Report Builder
Power BI Desktop
นิพจน์ถูกใช้อย่างแพร่หลายผ่านรายงานที่มีการแบ่งหน้าของตัวสร้างรายงานใน Power BI เพื่อกู้คืน คํานวณ แสดงผล จัดกลุ่ม เรียงลําดับ กรอง กําหนดพารามิเตอร์ และจัดรูปแบบข้อมูล
รายการคุณสมบัติของรายงานหลายรายการสามารถตั้งค่าเป็นนิพจน์ได้ นิพจน์ช่วยให้คุณสามารถควบคุมเนื้อหา การออกแบบ และการโต้ตอบของรายงานของคุณได้ นิพจน์จะถูกเขียนใน Microsoft Visual Basic จะถูกบันทึกในข้อกําหนดของรายงาน และได้รับการประเมินโดยตัวประมวลผลรายงานเมื่อคุณเรียกใช้รายงาน
แตกต่างจากแอปพลิเคชัน เช่น Microsoft Excel ที่คุณทํางานกับข้อมูลโดยตรงในเวิร์กชีต คุณสามารถทํางานกับนิพจน์ที่เป็นพื้นที่สํารองไว้สําหรับข้อมูลได้ เมื่อต้องการดูข้อมูลจริงจากนิพจน์ที่ได้รับการประเมิน คุณต้องแสดงตัวอย่างรายงาน เมื่อคุณเรียกใช้รายงาน ตัวประมวลผลรายงานจะประเมินแต่ละนิพจน์ ในขณะที่รวมข้อมูลรายงานและองค์ประกอบเค้าโครงรายงานเข้าด้วยกัน เช่น ตารางและแผนภูมิ
ในขณะที่คุณออกแบบรายงาน หลายนิพจน์สําหรับหน่วยข้อมูลของรายงานจะถูกตั้งค่าไว้สําหรับคุณ ตัวอย่างเช่น เมื่อคุณลากฟิลด์จากบานหน้าต่างข้อมูลไปยังเซลล์ตารางบนพื้นผิวการออกแบบรายงาน ค่ากล่องข้อความจะถูกตั้งค่าเป็นนิพจน์รูปแบบธรรมดาสําหรับฟิลด์ ในรูปภาพต่อไปนี้ บานหน้าต่าง ข้อมูลรายงาน จะแสดงเขตข้อมูลชุดข้อมูล ID, ชื่อ, พื้นที่ขาย, รหัส และ ยอดขาย มีการเพิ่มสามเขตข้อมูลลงในตาราง: [Name]
, [Code]
และ[Sales]
[Name]
สัญลักษณ์บนพื้นผิวการออกแบบแสดงถึงนิพจน์=Fields!Name.Value
พื้นฐาน
เมื่อคุณดูรายงาน ตัวประมวลผลรายงานจะรวมขอบเขตข้อมูลตารางเข้ากับข้อมูลจริงจากการเชื่อมต่อข้อมูลและแสดงแถวในตารางสําหรับทุกแถวในชุดผลลัพธ์
หากต้องการป้อนนิพจน์ด้วยตนเอง ให้เลือกรายการบนพื้นผิวการออกแบบ และใช้เมนูทางลัดและกล่องโต้ตอบเพื่อตั้งค่าคุณสมบัติของรายการ เมื่อคุณเห็นปุ่ม (fx) หรือค่า <Expression>
ในรายการแบบเลื่อนลง คุณจะทราบว่าคุณสามารถตั้งค่าคุณสมบัติไปยังนิพจน์ได้
ทําความเข้าใจนิพจน์ธรรมดาและนิพจน์ที่ซับซ้อน
นิพจน์เริ่มต้นด้วยเครื่องหมายเท่ากับ (=) และถูกเขียนใน Microsoft Visual Basic นิพจน์สามารถรวมการรวมกันของค่าคงที่ ตัวดําเนินการ และการอ้างอิงไปยังค่าภายใน (เขตข้อมูล คอลเลกชัน และฟังก์ชัน) และไปยังภายนอกหรือรหัสที่กําหนดเอง
คุณสามารถใช้นิพจน์เพื่อระบุค่าของคุณสมบัติรายการของรายงานจํานวนมาก คุณสมบัติทั่วไปส่วนใหญ่เป็นค่าสําหรับกล่องข้อความและตัวแทนข้อความ โดยทั่วไปแล้ว หากกล่องข้อความมีนิพจน์เดียวเท่านั้น นิพจน์ดังกล่าวจะเป็นค่าของคุณสมบัติกล่องข้อความ หากกล่องข้อความมีหลายนิพจน์ แต่ละนิพจน์จะเป็นค่าของตัวแทนข้อความในกล่องข้อความ
ตามค่าเริ่มต้น นิพจน์จะปรากฏบนพื้นผิวการออกแบบรายงานเป็นรูปแบบธรรมดาหรือรูปแบบที่ซับซ้อน
ง่าย: นิพจน์รูปแบบธรรมดามีการอ้างอิงไปยังรายการเดียวในการสะสมภายใน ตัวอย่างเช่น เขตข้อมูลชุดข้อมูล พารามิเตอร์ หรือเขตข้อมูลที่มีอยู่ภายใน นิพจน์รูปแบบธรรมดาจะปรากฏในวงเล็บบนพื้นผิวการออกแบบ ตัวอย่างเช่น
[FieldName]
สอดคล้องกับนิพจน์=Fields!FieldName.Value
พื้นฐาน นิพจน์รูปแบบธรรมดาจะถูกสร้างขึ้นเพื่อคุณโดยอัตโนมัติเมื่อคุณสร้างเค้าโครงรายงานและลากรายการจาก บานหน้าต่างข้อมูล รายงานไปยังพื้นผิวการออกแบบ สําหรับข้อมูลเพิ่มเติมเกี่ยวกับสัญลักษณ์ที่แสดงการสะสมภายในที่แตกต่างกัน โปรดดู ทําความเข้าใจสัญลักษณ์คํานําหน้าสําหรับนิพจน์รูปแบบธรรมดาซับซ้อน: นิพจน์ที่ซับซ้อนประกอบด้วยการอ้างอิงไปยังการอ้างอิง ตัวดําเนินการ และการเรียกฟังก์ชันที่มีอยู่ภายในหลายรายการ นิพจน์รูปแบบซับซ้อนจะปรากฏเหมือนกับ
<<Expr>>
เมื่อค่านิพจน์รวมมากกว่าแค่การอ้างอิงแบบธรรมดา เมื่อต้องการดูนิพจน์ ให้วางเมาส์เหนือนิพจน์นั้นและใช้คําแนะนําเครื่องมือ หากต้องการแก้ไขนิพจน์ ให้เปิดในกล่องโต้ตอบนิพจน์
รูปภาพต่อไปนี้แสดงรูปแบบปกติและนิพจน์ที่ซับซ้อนสําหรับทั้งกล่องข้อความและตัวแทนข้อความ
หากต้องการแสดงค่าตัวอย่างแทนข้อความสําหรับนิพจน์ ให้ใช้การจัดรูปแบบกับกล่องข้อความหรือตัวแทนข้อความ รูปภาพต่อไปนี้แสดงการสลับพื้นผิวการออกแบบรายงานเพื่อแสดงค่าตัวอย่าง:
ทําความเข้าใจสัญลักษณ์คํานําหน้าในนิพจน์รูปแบบธรรมดา
นิพจน์รูปแบบธรรมดาใช้สัญลักษณ์เพื่อระบุว่าการอ้างอิงเป็นฟิลด์ พารามิเตอร์ การสะสมภายใน หรือ คอลเลกชัน ReportItems หรือไม่ ตารางต่อไปนี้แสดงตัวอย่างการแสดงผลและข้อความนิพจน์:
รายการ | ตัวอย่างข้อความการแสดงผล | ตัวอย่างข้อความนิพจน์ |
---|---|---|
เขตข้อมูลชุดข้อมูล | [Sales] [SUM(Sales)] [FIRST(Store)] |
=Fields!Sales.Value =Sum(Fields!Sales.Value) =First(Fields!Store.Value) |
พารามิเตอร์รายงาน | [@Param] [@Param.Label] |
=Parameters!Param.Value =Parameters!Param.Label |
เขตข้อมูลที่มีอยู่ภายใน | [&ReportName] |
=Globals!ReportName.Value |
อักขระสัญพจน์ที่ใช้สําหรับการแสดงข้อความ | \[Sales\] |
[Sales] |
เขียนนิพจน์รูปแบบซับซ้อน
นิพจน์สามารถรวมการอ้างอิงไปยังฟังก์ชัน ตัวดําเนินการ ค่าคงที่ เขตข้อมูล พารามิเตอร์ รายการจากการสะสมภายใน และเพื่อฝังรหัสที่กําหนดเองหรือแอสเซมบลีแบบกําหนดเอง
ตารางต่อไปนี้แสดงรายการชนิดการอ้างอิงที่คุณสามารถรวมในนิพจน์ได้:
เอกสารอ้างอิง | คำอธิบาย | ตัวอย่างเช่น |
---|---|---|
ค่าคงที่ | อธิบายค่าคงที่ที่คุณสามารถเข้าถึงแบบโต้ตอบสําหรับคุณสมบัติที่ต้องการค่าคงที่ เช่น สีตัวอักษร | ="Blue" |
ตัวดำเนินการ | อธิบายตัวดําเนินการที่คุณสามารถใช้เพื่อรวมการอ้างอิงในนิพจน์ ตัวอย่างเช่น ตัว ดําเนินการ & ที่ใช้สําหรับสตริงที่ต่อกัน | ="The report ran at: " & Globals!ExecutionTime & "." |
คอลเลกชันภายใน | อธิบายการสะสมภายในที่คุณสามารถรวมในนิพจน์ เช่น Fields , Parameters และVariables |
=Fields!Sales.Value =Parameters!Store.Value =Variables!MyCalculation.Value |
รายงานที่มีอยู่ภายในและฟังก์ชันการรวม | อธิบายฟังก์ชันที่มีอยู่ภายใน เช่น Sum หรือ Previous ที่คุณสามารถเข้าถึงจากนิพจน์ได้ |
=Previous(Sum(Fields!Sales.Value)) |
รหัสที่กําหนดเองและการอ้างอิงแอสเซมบลีในนิพจน์ในตัวสร้างรายงาน | อธิบายวิธีที่คุณสามารถเข้าถึงคลาส xref:System.Math CLR ภายในตัวและ xref:System.Convert คลาส CLR อื่น ฟังก์ชันรันไทม์ไลบรารีของ Visual Basic หรือวิธีการจากแอสเซมบลีภายนอกอธิบายวิธีที่คุณสามารถเข้าถึงรหัสที่กําหนดเองที่ถูกฝังในรายงานของคุณ หรือที่คุณรวบรวมและติดตั้งเป็นแอสเซมบลีแบบกําหนดเองทั้งในรีพอร์ตไคลเอ็นต์และรีพอร์ตเซิร์ฟเวอร์ |
=Sum(Fields!Sales.Value) =CDate(Fields!SalesDate.Value) =DateAdd("d",3,Fields!BirthDate.Value) =Code.ToUSD(Fields!StandardCost.Value) |
ตรวจสอบความถูกต้องของนิพจน์
เมื่อคุณสร้างนิพจน์สําหรับคุณสมบัติรายการของรายงานที่เฉพาะเจาะจง การอ้างอิงที่คุณสามารถรวมในนิพจน์ได้จะขึ้นอยู่กับค่าที่คุณสมบัติรายการของรายงานสามารถยอมรับและขอบเขตที่คุณสมบัติได้รับการประเมิน ตัวอย่างเช่น:
ตามค่าเริ่มต้น นิพจน์
[Sum]
จะคํานวณผลรวมของข้อมูลที่อยู่ในขอบเขตในเวลาที่นิพจน์ได้รับการประเมิน สําหรับเซลล์ตาราง ขอบเขตจะขึ้นอยู่กับสมาชิกกลุ่มแถวและคอลัมน์สําหรับค่าของ คุณสมบัติแบบอักษร ค่าต้องประเมินเป็นชื่อของฟอนต์
ไวยากรณ์นิพจน์ได้รับการตรวจสอบในเวลาการออกแบบ การตรวจสอบขอบเขตนิพจน์จะเกิดขึ้นเมื่อคุณเผยแพร่รายงาน สําหรับการตรวจสอบที่ขึ้นอยู่กับข้อมูลจริง ข้อผิดพลาดสามารถตรวจพบได้ในขณะทํางานเท่านั้น นิพจน์เหล่านี้บางตัวสร้าง #Error เป็นข้อความแสดงข้อผิดพลาดในรายงานที่แสดงผล