Page 1 of 1
การแสดงค่ามากสุดใน Pivot table
Posted: Fri Jul 10, 2020 4:16 am
by yodpao.b
การแสดงค่ามากสุดใน Pivot table
1.JPG
ต้องการให้Pivot table แสดงดังรูปได้ไหมครับ
สาเหตุที่ต้องการ คือไม่อยากให้มีตารางด้านซ้ายครับ เพราะมันจะต้องมีตารางแบบด้านซ้ายอีกประมาณ 10 ตารางและในทุกทุกเดือน ตารางก็จะยาวขึ้น ผมคืดว่ามันจะทำให้เปลืองจำนวน size (ขนาดไฟล)
รูปตารางด้านซ้าย
2.JPG
ไม่แน่ใจว่าตัวในวงกลมสามารถหาค่ามากสุดได้ไหมครับ
ต้องทำอย่างไรครับ
ไฟล์ไม่สามารถแนบได้เพราะมีขนาดใหญ่
จึงใช้ ฏูเกิลไดฟ ในการแนบ
https://drive.google.com/drive/folders/ ... sp=sharing
ขอบคุณครับ
Re: การแสดงค่ามากสุดใน Pivot table
Posted: Fri Jul 10, 2020 10:50 pm
by snasui

กรุณาตัดไฟล์มาเฉพาะเป็นตัวอย่าง ไม่ควรแนบข้อมูลทั้งหมดมาครับ
Re: การแสดงค่ามากสุดใน Pivot table
Posted: Sat Jul 11, 2020 3:47 pm
by yodpao.b
ต้องการให้ ตาราง Pivot tabal ด้านซ้าย
แสดงในแบบตารางด้านขวา ได้ไหมครับ
1.JPG
Re: การแสดงค่ามากสุดใน Pivot table
Posted: Sat Jul 11, 2020 3:53 pm
by snasui

ที่ Rows Area ของ Pivot Table Filed List ย้าย Status_day ไปไว้ก่อน Date ก็จะเรียงข้อมูลตามที่ต้องการแล้วครับ
Re: การแสดงค่ามากสุดใน Pivot table
Posted: Sat Jul 11, 2020 8:00 pm
by yodpao.b
ต้องการหาค่า max ครับ
ตามที่แสดงคำตอบทางด้านขวา
หรือจะแสดงอย่างไรก็ได้ ขอแค่ให้ได้ค่า max และ เวลา
Re: การแสดงค่ามากสุดใน Pivot table
Posted: Sun Jul 12, 2020 8:52 am
by snasui
yodpao.b wrote: Sat Jul 11, 2020 8:00 pm
ต้องการหาค่า max ครับ
ตามที่แสดงคำตอบทางด้านขวา
หรือจะแสดงอย่างไรก็ได้ ขอแค่ให้ได้ค่า max และ เวลา

ควรแจ้งเช่นนี้มาเสมอ จะได้เข้าใจตรงกันครับ
สำหรับโจทย์นี้คงต้องพึ่ง DAX ใน Power Pivot เข้ามาช่วย เมื่อเปิด Power Pivot แล้ว ลองตามด้านล่างครับ
- เพิ่มคอลัมน์ชื่อ Avg คีย์สูตร
=CALCULATE(AVERAGE('test'[kW_15min]),FILTER('test','test'[Date]=EARLIER('test'[Date]) &&'test'[Time_15m]=EARLIER('test'[Time_15m]) && 'test'[Status_day]=EARLIER('test'[Status_day])))
- เพิ่มคอลัมน์ชื่อ MaxAvg คีย์สูตร
=CALCULATE(MAX('test'[Avg]),FILTER('test','test'[Status_day]=EARLIER('test'[Status_day])))
- เพิ่มคอลัมน์ชื่อ MaxTime คีย์สูตร
=IF('test'[Avg]='test'[MaxAvg],'test'[Time_15min],BLANK())
- เพิ่มคอลัมน์ชื่อ MaxDate คีย์สูตร
=IF('test'[Avg]='test'[MaxAvg],'test'[Date],BLANK())
- เพิ่ม Measure ชื่อ MsMaxAvg โดยคีย์สูตรที่ Measure Area
MsMaxAvg:=Max('test'[Avg])
- กลับไปยัง Pivot Table
- ลาก MsMaxAvgไปไว้ที่ Value Area
- ลาก MaxDate, MaxTime ไปไว้ที่ Rows Area
- ปลด Subtotal ทิ้ง
- Filter เอา (Blank) ออก
Re: การแสดงค่ามากสุดใน Pivot table
Posted: Sun Jul 12, 2020 11:52 am
by yodpao.b
ขอคุณครับ
คอลัมนี้ขอไปลองที่ทำงานครับ
ที่บ้านไม่มี Power Pivot
Re: การแสดงค่ามากสุดใน Pivot table
Posted: Mon Jul 13, 2020 4:20 pm
by yodpao.b
เมื่อลองกับไฟล์ test ถูกต้องครับ
ค่าที่ได้ตรงทุกค่า
แต่พอลองกับไฟล์จริง
ใช้ไม่ได้ ผิด
ค่าที่อาจารย์ใช้คงเป็นค่าเแลี่ยมากสุดของทุกคอลัม
ผมคงให้รายละเอียดไม่มากพอ
ผลที่ได้ดังรูปด้านล่าง
1.JPG
เดียวผมลองแก้ไขเองครับ คิดว่าน่าจะทำได้จากตัวอย่างที่ได้มา
Re: การแสดงค่ามากสุดใน Pivot table
Posted: Thu Jul 16, 2020 5:13 pm
by yodpao.b
วันนี้ได้ทดลองแก้ไขสูตรของอาจารย์ที่ได้มา
โดยการเพิ่มข้อแม้ไปที่ คอลัม Avg และ MaxAvg
ได้ผมตามต้องการครับ ตรงกับของเดิมทุกอย่าง
ที่น่าแปลกคือ จากสูตรที่อาจารย์ให้มา ใน power pivot นั้น เมื่อเปรียบเทียบกับไฟล์เดิมนั้น
ไฟล์ใหม่ ไฟล์เก่า
จำนวนแถว ในแต่ละคอลัม ไม่เกิน 7 บรรทัด จำนวนแถว ในแต่ละคอลัม 40000 แถว
จำนวนคอลัม 20 คอลัม จำนวนคอลัม 20 คอลัม
จำนวน side me 44 MB จำนวน side me 30 MB
เป็นที่น่าแปลกใจมากครับ
ไว้วันจันทร์จะ upLoad ข้อมูลเพิ่ม เป็น 3 เท่า ถ้าไฟล์เกิดมีปัญหา จะมาขอคำแนะนำใหม่ครับ
ขอบคุณมากครับ