Page 1 of 1
คำนวณค่า Running total พร้อม Reset Value
Posted: Wed Dec 15, 2021 10:42 pm
by teay-bcc
เรียน สอบถาม อาจารย์ ในการสร้างคอลัมน์ Running total พร้อม Reset Value ด้วย Power Query
รายละเอียด คือ ต้องการสร้างคอลัมน์ Running total พร้อม Reset Value
เมื่อค่าที่รวมไม่เกิน 50,000 แล้วจึงเริ่มรวมค่าใหม่ในคอลัมน์เดิม
ขอบคุณครับ
Re: คำนวณค่า Running total พร้อม Reset Value
Posted: Thu Dec 16, 2021 4:16 pm
by snasui
ยังไม่พบว่ามีการนำข้อมูลเข้า Power Query ลองนำข้อมูลเข้าไปก่อนแล้วแนบไฟล์นั้นมาอีกรอบครับ
Re: คำนวณค่า Running total พร้อม Reset Value
Posted: Fri Dec 17, 2021 7:44 am
by teay-bcc
ผมนำข้อมูลเข้า Power Query พร้อมแนบไฟล์แล้วครับ
ขออภัยที่แนบไฟล์ไม่ถูกต้อง ขอบคุณครับ
Re: คำนวณค่า Running total พร้อม Reset Value
Posted: Fri Dec 17, 2021 2:32 pm
by snasui
ช่วยเพิ่มคำตอบที่ถูกต้องมาให้ด้วยครับว่าต้องการคำตอบเป็นแบบไหน จะได้เข้าใจตรงกันครับ
Re: คำนวณค่า Running total พร้อม Reset Value
Posted: Sun Dec 19, 2021 3:57 pm
by teay-bcc
ผมเพิ่มคำตอบที่ Sheet : Output ในคอลัมน์ B
โจทย์ คือ ต้องการรวมข้อมูลในคอลมัน์ A ทีละแถวลงมา
หากรวมขอมูลล่าสุดแล้วเกิน 50,000 ให้เริ่มต้นนับใหม่
คำตอบในคอลัมน์ B ผมทำ Manual ไว้ให้ครับ
ขอบคุณครับ
Re: คำนวณค่า Running total พร้อม Reset Value
Posted: Tue Dec 21, 2021 7:18 am
by snasui
การใช้ Power Query จัดการงานนี้ ดูแล้วมีหลายขั้นตอน เช่นต้องสร้าง Logic ให้แสดง Group ของแต่ละชุดที่รวมกันไม่เกิน 50000 ออกมาเพื่อใช้ในการหายอดสะสม ผมยังไม่มีเวลาคิดและค้นหาวิธีการดังกล่าวใน Power Query
ระหว่างนี้ใช้สูตร Excel เป็นการเฉพาะหน้าไปก่อนครับ
เซลล์ B2 คีย์สูตร
=IF(N(C1)+A2>50000,A2,N(C1)+A2)
Enter > Copy ลงด้านล่าง
ส่วนการ Running Total ศึกษาจากที่นี่เป็นเบื้องต้นครับ
https://www.youtube.com/results?search_ ... ower+query
Re: คำนวณค่า Running total พร้อม Reset Value
Posted: Tue Dec 21, 2021 1:12 pm
by teay-bcc
ขอบคุณสำหรับแนวทางครับ อาจารย์
Re: คำนวณค่า Running total พร้อม Reset Value
Posted: Sat Dec 25, 2021 12:36 am
by Bo_ry
Code: Select all
let
Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
Rtotal = List.Generate(()=>[i = 1, s = Source[Value]{0}], each [i] <= Table.RowCount(Source),
each [i = [i]+1, s = if [s] + Source[Value]{[i]} >50000 then Source[Value]{[i]} else [s] + Source[Value]{[i]} ],
each [s] )
in
Rtotal