VALUES
นําไปใช้กับ: คอลัมน์จากการคํานวณตารางจากการคํานวณหน่วยวัดการคํานวณวิชวล
เมื่อพารามิเตอร์ข้อมูลป้อนเข้าเป็นชื่อคอลัมน์ ระบบจะแสดงตารางแบบหนึ่งคอลัมน์ที่มีค่าซึ่งไม่ซ้ํากันจากคอลัมน์ที่ระบุ ค่าที่ซ้ํากันจะถูกลบออกและจะแสดงเฉพาะค่าที่ไม่ซ้ํากันเท่านั้น สามารถเพิ่มค่า BLANK ได้ เมื่อพารามิเตอร์ข้อมูลป้อนเข้าเป็นชื่อตาราง ระบบจะแสดงแถวจากตารางที่ระบุ แถวที่ซ้ํากันจะถูกรักษาไว้ คุณสามารถเพิ่มแถว BLANK ได้
หมายเหตุ
ไม่สามารถใช้ฟังก์ชันนี้ในการส่งกลับค่าลงในเซลล์หรือคอลัมน์บนเวิร์กชีตได้ แต่คุณใช้เป็นฟังก์ชันระดับกลางที่ซ้อนกันในสูตรเพื่อรับรายการของค่าที่แตกต่างกันที่สามารถนับหรือใช้ในการกรองหรือรวมค่าอื่น ๆ ได้
ไวยากรณ์
VALUES(<TableNameOrColumnName>)
พารามิเตอร์
เงื่อนไข | คำนิยาม |
---|---|
TableName หรือ ColumnName |
คอลัมน์ที่ระบบแสดงค่าที่ไม่ซ้ํากัน หรือตารางที่ระบบแสดงแถว |
ค่าผลลัพธ์
เมื่อพารามิเตอร์ข้อมูลป้อนเข้าเป็นชื่อคอลัมน์ จะเป็นตารางคอลัมน์เดียว เมื่อพารามิเตอร์ข้อมูลป้อนเข้าเป็นชื่อตาราง ระบบจะแสดงตารางคอลัมน์เดียวกัน
หมายเหตุ
เมื่อคุณใช้ฟังก์ชัน VALUES ในบริบทที่มีการกรอง ค่าที่ไม่ซ้ํากันซึ่งส่งกลับโดย VALUES จะได้รับผลกระทบจากตัวกรอง ตัวอย่างเช่น หากคุณกรองตามภูมิภาค และแสดงรายการค่าสําหรับเมือง รายการจะรวมเฉพาะเมืองที่อยู่ในภูมิภาคดังกล่าวตามที่ตัวกรองอนุญาต หากต้องการแสดงเมืองทั้งหมด โดยไม่คํานึงถึงตัวกรองที่มีอยู่ คุณต้องใช้ฟังก์ชัน ALL เพื่อลบตัวกรองออกจากตาราง ตัวอย่างที่สองแสดงให้เห็นถึงการใช้ ALL กับ VALUES
ฟังก์ชันนี้ไม่ได้รับการสนับสนุนสําหรับการใช้งานในโหมด DirectQuery เมื่อใช้ในคอลัมน์จากการคํานวณหรือกฎการรักษาความปลอดภัยระดับแถว (RLS)
สําหรับแนวทางปฏิบัติที่ดีที่สุดเมื่อใช้ VALUESให้ดู ใช้ SELECTEDVALUE แทน VALUES
ฟังก์ชันที่เกี่ยวข้อง
ในสถานการณ์ส่วนใหญ่ เมื่ออาร์กิวเมนต์เป็นชื่อคอลัมน์ ผลลัพธ์ของฟังก์ชัน VALUES จะเหมือนกับของฟังก์ชัน DISTINCT
ทั้งสองฟังก์ชันจะลบรายการที่ซ้ํากันและแสดงรายการค่าที่เป็นไปได้ในคอลัมน์ที่ระบุ อย่างไรก็ตาม ฟังก์ชัน VALUES ยังสามารถแสดงค่าว่างได้ ค่าว่างนี้มีประโยชน์ในกรณีที่คุณกําลังมองหาค่าที่แตกต่างจากตารางที่เกี่ยวข้อง แต่ค่าที่ใช้ในความสัมพันธ์นี้จะขาดหายไปจากตารางหนึ่ง ในคําศัพท์ฐานข้อมูล นี่ถือเป็นการละเมิด Referential Integrity ความไม่ตรงกันดังกล่าวของข้อมูลอาจเกิดขึ้นได้เมื่อมีการอัปเดตตารางหนึ่งตารางและตารางที่เกี่ยวข้องไม่ได้รับการอัปเดต
เมื่ออาร์กิวเมนต์เป็นชื่อตาราง ผลลัพธ์ของฟังก์ชัน VALUES จะแสดงแถวทั้งหมดในตารางที่ระบุ บวกกับแถวว่าง หากมีการละเมิด Referential Integrity ฟังก์ชัน DISTINCT จะลบแถวที่ซ้ํากันและแสดงแถวที่ไม่ซ้ํากันในตารางที่ระบุ
หมายเหตุ
ฟังก์ชัน DISTINCT อนุญาตให้ชื่อคอลัมน์หรือนิพจน์ตารางที่ถูกต้องใด ๆ เป็นอาร์กิวเมนต์ของฟังก์ชัน แต่ฟังก์ชัน VALUES ยอมรับเฉพาะชื่อคอลัมน์หรือชื่อตารางเป็นอาร์กิวเมนต์เท่านั้น
ตารางต่อไปนี้สรุปความไม่ตรงกันระหว่างข้อมูลที่อาจเกิดขึ้นในตารางที่เกี่ยวข้องสองตารางเมื่อไม่มีการรักษา Referential Integrity
ตาราง MyOrders | ตาราง MySales |
---|---|
วันที่ 1 มิถุนายน | June 1 sales |
วันที่ 2 มิถุนายน | June 2 sales |
(ไม่มีการป้อนวันที่สั่งซื้อ) | June 3 sales |
ถ้าคุณใช้ฟังก์ชัน DISTINCT เพื่อแสดงรายการวันที่ ระบบจะแสดงเฉพาะสองวันที่เท่านั้น อย่างไรก็ตาม ถ้าคุณใช้ฟังก์ชัน VALUES ฟังก์ชันจะแสดงวันที่สองรายการรวมถึงสมาชิกว่างเพิ่มเติมด้วย นอกจากนี้ แถวใด ๆ จากตาราง MySales ที่ไม่มีวันที่ที่ตรงกันในตาราง MyOrders จะ "ตรงกัน" กับสมาชิกที่ไม่รู้จักนี้
ตัวอย่าง
สูตรต่อไปนี้จะนับจํานวนใบแจ้งหนี้ที่ไม่ซ้ํากัน (ใบสั่งขาย) และทําให้เกิดผลลัพธ์ต่อไปนี้เมื่อใช้รายงานที่รวมชื่อหมวดหมู่ผลิตภัณฑ์:
= COUNTROWS(VALUES('InternetSales_USD'[SalesOrderNumber]))
การส่งคืน
ป้ายชื่อแถว | นับใบแจ้งหนี้ |
---|---|
อุปกรณ์ | 18,208 |
จักรยาน | 15,205 |
เสื้อผ้า | 7,461 |
ผลรวมทั้งหมด | 27,659 |