คุณใช้เอ็กซ์เพรสชันที่มีเงื่อนไขเพื่อสร้างเอ็กซ์เพรสชันที่แปลงค่า
เอ็กซ์เพรสชันที่มีเงื่อนไขที่อธิบายไว้ในส่วนนี้เป็นบล็อคองค์ประกอบสำหรับการสร้างเอ็กซ์เพรสชัน ซึ่งแปลงค่าจากรูปแบบหนึ่งเป็นอีกรูปแบบหนึ่ง
ทำตามกฎต่อไปนี้
CASE
AND
มีผลบังคับก่อน OR
เอ็กซ์เพรสชัน | ตัวอย่าง | คำอธิบาย | รูปแบบคำสั่ง |
---|---|---|---|
CASE (If) |
|
ประมวลผลเงื่อนไข ถ้าไม่มีเงื่อนไข หมายเหตุ: โปรดดู แนวทางปฏิบัติที่ดีที่สุดสำหรับการใช้คำสั่ง CASE ในการวิเคราะห์และการแสดงข้อมูล |
|
CASE (Switch) |
|
เรียกอีกอย่างว่า ถ้าไม่มีเอ็กซ์เพรสชัน ถ้าเอ็กซ์เพรสชันแรกตรงกับเอ็กซ์เพรสชันในส่วนของคำสั่ง |
|
IfCase > ELSE |
- |
- |
|
IfCase > IFNULL |
- |
- |
|
IfCase > NULLIF |
- |
- |
|
IfCase > WHEN |
- |
- |
|
IfCase > CASE |
- |
- |
|
SwitchCase > ELSE |
- |
- |
|
SwitchCase >IFNULL |
- |
- |
|
SwitchCase > NULLIF |
- |
- |
|
SwitchCase > WHEN |
- |
- |
|
เมื่อใช้คำสั่ง CASE ในรายงานและเวิร์กบุค ให้พิจารณาคอลัมน์รายงานและลำดับของการสรุปรวม เนื่องจากปัจจัยเหล่านี้จะมีผลต่อวิธีการคำนวณเอ็กซ์เพรสชันและผลรวมย่อย
โดยทั่วไปแล้ว เมื่อใช้เอ็กซ์เพรสชัน CASE ให้ตรวจสอบให้แน่ใจว่าคอลัมน์ใดๆ ที่ใช้ในเอ็กซ์เพรสชันรวมอยู่ในรายงาน
หากต้องประมวลผลเงื่อนไขก่อนที่จะคำนวณการสรุปรวม (ตัวอย่างเช่น หากคอลัมน์ที่ฟิลเตอร์ไม่แสดงในรายงานด้วย) ให้ใช้ฟังก์ชัน FILTER
ตัวอย่าง
ตัวอย่างนี้จะใช้ข้อมูลสำหรับแบรนด์ ประเภทผลิตภัณฑ์ และรายรับ
.png
ในการใช้เงื่อนไขเพื่อตั้งค่ารายรับของกล้องเป็น 0 ให้สร้างเอ็กซ์เพรสชันเงื่อนไขต่อไปนี้: CASE WHEN Product_Type = ‘Camera’ THEN 0 ELSE Revenue END
เมื่อ Product_Type ไม่รวมอยู่ในรายงาน ข้อมูลจะไม่พร้อมให้ประมวลผลเอ็กซ์เพรสชัน เนื่องจากมี Product_Type และผลลัพธ์จะเป็น:
.png
เมื่อเพิ่ม PRODUCT_TYPE ไปยังรายงานและตั้งค่าการสรุปรวมรายงานเป็น SUM ผลลัพธ์จะสรุปรวมหลังจากคำนวณค่าระดับพื้นฐาน:
.png
ทางเลือกในการใช้ CASE เพื่อใช้เอ็กซ์เพรสชันฟิลเตอร์: FILTER(Revenue using Product_Type != ‘Camera’) เอ็กซ์เพรสชันได้รับการคำนวณจากคอลัมน์รายงานโดยอิสระ และการสรุปรวมจะใช้หลังการคำนวณ:
.png