Time.Hour ใช้สำหรับดึงค่าชั่วโมง (0-23) จากค่า time, datetime หรือ datetimezone
= Time.Hour(dateTime as any) as nullable number
= Time.Hour(dateTime as any) as nullable number
| Argument | Type | Required | Default | Description |
|---|---|---|---|---|
| dateTime | time, datetime, or datetimezone | Yes | ค่าเวลาที่ต้องการดึงชั่วโมง สามารถเป็น time, datetime หรือ datetimezone |
Time.Hour(#datetime(2011, 12, 31, 9, 15, 36))= Time.Hour(#datetime(2011, 12, 31, 9, 15, 36))
9
Time.Hour(#time(14, 30, 0))= Time.Hour(#time(14, 30, 0))
14
let Sales = Table.FromRows( {{"2025-01-15 09:30:00", 1500}, {"2025-01-15 14:45:00", 2000}, {"2025-01-15 18:20:00", 800}}, {"Timestamp", "Amount"} ), AddHour = T…let
Sales = Table.FromRows(
{{"2025-01-15 09:30:00", 1500}, {"2025-01-15 14:45:00", 2000}, {"2025-01-15 18:20:00", 800}},
{"Timestamp", "Amount"}
),
AddHour = Table.AddColumn(Sales, "Hour", each Time.Hour([Timestamp])),
Result = AddHour
in
Result
ตารางมี 3 แถว โดยคอลัมน์ Hour มีค่า 9, 14, 18 ตามลำดับ
let Data = Table.FromRows( {{"2025-01-15 08:15:00", 100}, {"2025-01-15 08:45:00", 150}, {"2025-01-15 14:30:00", 200}}, {"Time", "Sales"} ), AddHour = Table.AddC…let
Data = Table.FromRows(
{{"2025-01-15 08:15:00", 100}, {"2025-01-15 08:45:00", 150}, {"2025-01-15 14:30:00", 200}},
{"Time", "Sales"}
),
AddHour = Table.AddColumn(Data, "Hour", each Time.Hour([Time])),
Grouped = Table.Group(AddHour, {"Hour"}, {{"Total", each List.Sum([Sales]), "Count", each Table.RowCount(_)}}),
Result = Grouped
in
Result
ตารางแสดงสรุปตามชั่วโมง: ชั่วโมงที่ 8 มียอดขาย 250, ชั่วโมงที่ 14 มียอดขาย 200
Time.Hour ใช้รูปแบบ 24 ชั่วโมง เช่น 00:00 ถึง 23:59 ดังนั้นเวลา 9 นอนเช้า คืน 21:00 จะได้ผลลัพธ์เป็น 21
ได้ครับ Time.Hour ทำงานกับ datetimezone ปกติ และดึงชั่วโมงตามเขตเวลาที่เก็บในค่านั้น
Time.Hour จะส่งคืน null หากข้อมูลเข้าเป็น null
DateTime.Hour ใช้สำหรับ datetime โดยตรง ส่วน Time.Hour ยืดหยุ่นมากกว่า รองรับ time, datetime และ datetimezone
Time.Hour ดึงส่วนชั่วโมงออกจากค่าเวลาต่างๆ ว่ามันเป็นชั่วโมงที่เท่าไหร่ของวัน
ฟังก์ชันนี้มีประโยชน์ตอนที่เราต้องการวิเคราะห์ข้อมูลตามช่วงเวลาต่างๆ ของวัน เช่น เช้า กลางวัน บ่าย เป็นต้น
ส่วนตัวผมใช้ Time.Hour คู่กับ Table.Group หรือ Table.AddColumn เพื่อจัดกลุ่มข้อมูลตามชั่วโมง แล้วสรุปสถิติต่างๆ ได้ง่ายเลย