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
:D กรุณาตัดไฟล์มาเฉพาะเป็นตัวอย่าง ไม่ควรแนบข้อมูลทั้งหมดมาครับ

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
:D ที่ 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 และ เวลา
:lol: ควรแจ้งเช่นนี้มาเสมอ จะได้เข้าใจตรงกันครับ

สำหรับโจทย์นี้คงต้องพึ่ง DAX ใน Power Pivot เข้ามาช่วย เมื่อเปิด Power Pivot แล้ว ลองตามด้านล่างครับ
  1. เพิ่มคอลัมน์ชื่อ 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])))
  2. เพิ่มคอลัมน์ชื่อ MaxAvg คีย์สูตร
    =CALCULATE(MAX('test'[Avg]),FILTER('test','test'[Status_day]=EARLIER('test'[Status_day])))
  3. เพิ่มคอลัมน์ชื่อ MaxTime คีย์สูตร
    =IF('test'[Avg]='test'[MaxAvg],'test'[Time_15min],BLANK())
  4. เพิ่มคอลัมน์ชื่อ MaxDate คีย์สูตร
    =IF('test'[Avg]='test'[MaxAvg],'test'[Date],BLANK())
  5. เพิ่ม Measure ชื่อ MsMaxAvg โดยคีย์สูตรที่ Measure Area
    MsMaxAvg:=Max('test'[Avg])
  6. กลับไปยัง Pivot Table
    1. ลาก MsMaxAvgไปไว้ที่ Value Area
    2. ลาก MaxDate, MaxTime ไปไว้ที่ Rows Area
    3. ปลด Subtotal ทิ้ง
    4. 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 เท่า ถ้าไฟล์เกิดมีปัญหา จะมาขอคำแนะนำใหม่ครับ
ขอบคุณมากครับ