แชร์ผ่าน


DATESBETWEEN

นําไปใช้กับ: คอลัมน์จากการคํานวณตารางจากการคํานวณหน่วยวัดการคํานวณวิชวล

โน้ต

ฟังก์ชันนี้ไม่ได้รับการสนับสนุนสําหรับการใช้งานในการคํานวณวิชวล เนื่องจากอาจแสดงผลลัพธ์ที่ไม่มีความหมาย

สําหรับการป้อนข้อมูลคอลัมน์วันที่ ระบบจะแสดงตารางที่มีคอลัมน์ของวันที่ที่เริ่มต้นด้วยวันที่เริ่มต้นที่ระบุและดําเนินการต่อจนถึงวันที่สิ้นสุดที่ระบุ

สําหรับการป้อนข้อมูลปฏิทิน ส่งกลับตารางที่เริ่มต้นด้วยวันที่เริ่มต้นที่ระบุและดําเนินการต่อจนถึงวันที่สิ้นสุดที่ระบุ ตารางประกอบด้วยคอลัมน์ที่มีแท็กหลักทั้งหมดและคอลัมน์ที่เกี่ยวข้องเวลาทั้งหมด

ฟังก์ชันนี้เหมาะสมที่จะส่งผ่านเป็นตัวกรองไปยังฟังก์ชัน CALCULATE ใช้เพื่อกรองนิพจน์ตามช่วงวันที่แบบกําหนดเอง

โน้ต

หากคุณกําลังทํางานกับช่วงวันที่มาตรฐาน เช่น วัน เดือน ไตรมาส หรือปี ขอแนะนําให้ใช้ฟังก์ชัน DATESINPERIOD ที่เหมาะสมกว่า

วากยสัมพันธ์

DATESBETWEEN(<dates> or <calendar>, <StartDate>, <EndDate>)

พารามิเตอร์

เทอม นิยาม
dates or calendar คอลัมน์ที่มีวันที่หรือการอ้างอิงปฏิทิน
StartDate นิพจน์วันที่/วัน หากมีการใช้ไวยากรณ์ปฏิทิน โปรดใช้ข้อมูลประเภทเดียวกันกับคอลัมน์หลักที่ติดแท็กประเภทวัน
EndDate นิพจน์วันที่/วัน หากมีการใช้ไวยากรณ์ปฏิทิน โปรดใช้ข้อมูลประเภทเดียวกันกับคอลัมน์หลักที่ติดแท็กประเภทวัน

ค่าผลลัพธ์

สําหรับการป้อนข้อมูลคอลัมน์วันที่ ตารางที่มีคอลัมน์ของค่าวันที่เดียว
สําหรับการป้อนข้อมูลในปฏิทิน ตารางที่มีคอลัมน์ที่ถูกแท็กหลักทั้งหมดและคอลัมน์ที่เกี่ยวข้องเวลาทั้งหมด

หมาย เหตุ

  • ในกรณีการใช้งานทั่วไป dates คือการอ้างอิงไปยังคอลัมน์วันที่ของตารางวันที่ที่ทําเครื่องหมาย

  • หาก StartDateBLANKStartDate จะเป็นค่าแรกเริ่มในคอลัมน์ dates สําหรับปฏิทิน ซึ่งจะเป็นค่าแรกในคอลัมน์ที่ถูกแท็กเป็นวัน

  • ถ้า EndDate เป็น BLANKEndDate จะเป็นค่าล่าสุดในคอลัมน์ dates สําหรับปฏิทิน จะเป็นค่าสุดท้ายในคอลัมน์ที่ถูกแท็กเป็นวัน

  • วันที่ที่ใช้เป็น StartDate และ EndDate รวมอยู่ด้วย ตัวอย่างเช่น ถ้าค่า StartDate คือวันที่ 1 กรกฎาคม 2019 วันที่ดังกล่าวจะถูกรวมไว้ในตารางที่ส่งกลับ (เมื่อมีวันที่อยู่ในคอลัมน์ dates)

  • สําหรับการป้อนข้อมูลคอลัมน์วันที่ ตารางที่ส่งกลับสามารถมีได้เฉพาะวันที่ที่จัดเก็บไว้ใน Dates คอลัมน์เท่านั้น ตัวอย่างเช่น ถ้าคอลัมน์ Dates เริ่มต้นตั้งแต่วันที่ 1 กรกฎาคม 2017 และค่า StartDate คือ 1 กรกฎาคม 2016 ตารางที่ส่งกลับจะเริ่มตั้งแต่วันที่ 1 กรกฎาคม 2017

  • สําหรับการป้อนข้อมูลปฏิทิน ถ้าไม่พบวันที่ป้อนเข้าในคอลัมน์วันที่ถูกแท็ก ระบบจะถือว่าเป็น BLANK และดังนั้นจึงใช้ค่าแรก/สุดท้าย

  • สําหรับการป้อนข้อมูลในปฏิทิน ให้ใช้ข้อมูลประเภทและรูปแบบเดียวกันกับคอลัมน์วันที่ถูกแท็กสําหรับวันที่เริ่มต้นและวันที่สิ้นสุด ตัวอย่างเช่น ถ้าคอลัมน์ใช้รูปแบบ YYYY-Sn-Qn-Mnn-Wnn-Dnn (เช่น "2014-S2-Q4-M11-W45-D03") วันที่เริ่มต้นและวันที่สิ้นสุดต้องเป็นไปตามรูปแบบเดียวกัน (เช่น "2015-S2-Q4-M11-W45-D03") มิฉะนั้น จะไม่สามารถกําหนดลักษณะการทํางานได้

  • ฟังก์ชันนี้ไม่ได้รับการสนับสนุนสําหรับการใช้งานในโหมด DirectQuery เมื่อใช้ในคอลัมน์จากการคํานวณหรือกฎการรักษาความปลอดภัยระดับแถว (RLS)

ตัวอย่าง

ข้อกําหนดหน่วยวัดของตาราง Sales ต่อไปนี้ใช้ฟังก์ชัน DATESBETWEEN เพื่อสร้างการคํานวณ life-to-date (LTD) Life-to-date แสดงถึงการสะสมของหน่วยวัดในช่วงเวลาหนึ่งตั้งแต่จุดเริ่มต้นของเวลา

โปรดสังเกตว่าสูตรใช้ฟังก์ชัน MAX ฟังก์ชันนี้ส่งกลับวันที่ล่าสุดที่อยู่ในบริบทตัวกรอง ดังนั้น ฟังก์ชัน DATESBETWEEN จะส่งกลับตารางของวันที่ โดยเริ่มต้นจากวันที่แรกสุดจนถึงวันที่ล่าสุดที่มีการรายงาน

ตัวอย่างในบทความนี้สามารถใช้ได้กับตัวอย่าง Adventure Works DW 2020 Power BI Desktop แบบจําลอง หากต้องการรับแบบจําลอง โปรดดู DAX แบบจําลองตัวอย่าง

Customers LTD =
CALCULATE (
    DISTINCTCOUNT ( Sales[CustomerKey] ),
    DATESBETWEEN ( 'Date'[Date], BLANK (), MAX ( 'Date'[Date] ) )
)

พิจารณาว่าวันที่แรกสุดที่จัดเก็บไว้ในตาราง Date คือวันที่ 1 กรกฎาคม 2017 ดังนั้นเมื่อรายงานกรองหน่วยวัดภายในเดือนมิถุนายน 2020 ฟังก์ชัน DATESBETWEEN จะแสดงช่วงวันที่ตั้งแต่ 1 กรกฎาคม 2017 ถึง 30 มิถุนายน 2020

ตัวอย่างสําหรับตัวแสดงเวลาตามปฏิทิน

ข้อกําหนดหน่วยวัดของตาราง Sales ต่อไปนี้ใช้ฟังก์ชัน DATESBETWEEN เพื่อสร้างการคํานวณ life-to-date (LTD) Life-to-date แสดงถึงการสะสมของหน่วยวัดในช่วงเวลาหนึ่งตั้งแต่จุดเริ่มต้นของเวลา

โปรดสังเกตว่าสูตรใช้ฟังก์ชัน MAX ฟังก์ชันนี้ส่งกลับ datekey สูงสุดที่อยู่ในบริบทตัวกรอง ดังนั้น ฟังก์ชัน DATESBETWEEN จะส่งกลับตารางของวันที่ โดยเริ่มต้นจากวันที่แรกสุดจนถึงวันที่ล่าสุดที่มีการรายงาน DateKey ถูกใช้เป็นตัวอย่างเพื่อแสดงว่าประเภท "วัน" สามารถติดแท็กด้วยคอลัมน์ที่ไม่ใช่ชนิดวันที่ได้

Customers LTD =
CALCULATE (
    DISTINCTCOUNT ( Sales[CustomerKey] ),
    DATESBETWEEN ( FiscalCalendar, BLANK (), MAX ( 'Date'[DateKey] ) )
)
  • ฟังก์ชันตัวแสดงเวลา (DAX)
  • ฟังก์ชันวันที่และเวลา (DAX)
  • ฟังก์ชัน DATESINPERIOD (DAX)