Excel 2010 PowerPivot: ฉันจะแสดงรายการที่ไม่มีข้อมูลได้อย่างไร


12

ในตารางเดือย Excel มาตรฐานมีตัวเลือกสำหรับเขตข้อมูลที่ให้คุณบังคับให้แสดงรายการทั้งหมดแม้ว่าจะไม่มีผลลัพธ์สำหรับการเลือกปัจจุบันของคุณ นี่คือตัวเลือก:

ไดอะล็อกบ็อกซ์การตั้งค่าเขตข้อมูล Pivot Table

อย่างไรก็ตามการใช้ PowerPivot Add-in สำหรับ Excel 2010 ตัวเลือกนี้เป็นสีเทา มีวิธีแก้ไขชั่วคราวหรือไม่เพื่อให้ฉันสามารถบังคับให้ผลลัพธ์ทั้งหมดปรากฏ

ตัวอย่างสถานการณ์ - จำนวนกล้วยที่ขายได้รายเดือน หากฉันไม่ขายกล้วยในเดือนสิงหาคมโต๊ะ Powerpivot จะไม่แสดงคอลัมน์สำหรับเดือนสิงหาคมเลยแค่ข้ามจากเดือนกรกฎาคมถึงเดือนกันยายน ฉันต้องการสิงหาคมที่จะปรากฏขึ้นพร้อมกับจำนวนกล้วยเปล่าหรือศูนย์

ความคิดใด ๆ อาจจะต้องมีการแสดงออก DAX?

แก้ไข : เพื่อตอบคำถามของ harrymc ฉันได้สร้าง PivotTable นี้โดยเลือก PivotTable จากเมนูนี้ในหน้าต่าง PowerPivot

เมนูแทรก PowerPivot PivotTable


ในชุดข้อมูล PowerPivot คุณไม่สามารถเพิ่มรายการที่ไม่มีข้อมูลได้ดังนั้นจึงเป็นเรื่องปกติที่ "แสดงรายการที่ไม่มีข้อมูล" จะเป็นสีเทา คุณใช้ Flattened PivotTable ตามที่อธิบายไว้ที่นี่หรือไม่
harrymc

ขอบคุณสำหรับการตอบสนองที่ยากลำบากฉันไม่ได้ใช้ PivotTable แบบแบนฉันใช้ PivotTable มาตรฐาน (ดูภาพด้านบน)
Andi Mohr

ในจุดแรกของคุณฉันไม่แน่ใจว่าฉันเข้าใจคุณถูกต้อง คุณบอกว่าคุณไม่สามารถเพิ่มรายการโดยไม่มีข้อมูลได้ แต่ชุดข้อมูลของฉันมียอดขายเดือนสิงหาคมสำหรับแอปเปิ้ล โดยปกติจะหมายถึงการเปิดใช้งาน "รายการที่ไม่มีข้อมูล" จะแสดงคอลัมน์เดือนสิงหาคม คุณกำลังบอกว่า PivotTables ดึงจากข้อมูล PowerPivot ทำงานแตกต่างจากแหล่งข้อมูลอื่น ๆ ?
Andi Mohr

คำตอบ:


5

อันที่จริงนี่เป็นทางออกที่ดีกว่า ขอบคุณAlberto Ferrariสำหรับอันนี้

คุณต้องสร้างตารางเดือน (เช่นรายการชื่อเดือน ม.ค. / ก.พ. / มี.ค. เป็นต้น - ตารางที่เชื่อมโยงจะใช้งานได้ดี) และสร้างความสัมพันธ์ระหว่างตารางเดือนใหม่และตารางข้อเท็จจริงของคุณ

จากนั้นเขียนมาตรวัดเช่นนี้

NeverBlankUnits:=IF( ISBLANK( SUM(FruitSales[Units]) )
                      , 0
                      , SUM(FruitSales[Units]) 
                   )

แก้ไข : เมื่อคุณเพิ่มคอลัมน์เดือนใหม่ของคุณลงในตารางสาระสำคัญคุณอาจพบว่าการเรียงลำดับเริ่มต้นเป็นตัวอักษรที่น่าหงุดหงิด เม.ย. ส.ค. , ธ.ค. , ก.พ. ... นี่คือบทแนะนำที่ยอดเยี่ยมซึ่งแสดงวิธีการปัดเศษ


0

วิธีแก้ปัญหาอาจเป็นไปได้ที่จะใช้ Data Analysis Expression (DAX) เพื่อแทนที่ช่องว่างด้วยศูนย์

DAX สามารถบังคับให้ศูนย์เป็นศูนย์แทนที่จะว่างเปล่าเมื่อใดก็ตามที่ไม่มีข้อมูลอยู่ในตารางข้อเท็จจริง แต่คุณต้องการให้แถวปรากฏใน PivotTable

สำหรับแผ่นงานอย่างง่ายที่มี Depts, Divisions และตารางข้อเท็จจริงเรียกว่า Numbers และด้วยคอลัมน์เดียว "D" ที่มีตัวเลขเพื่อรวมให้เขียนรหัส DAX ด้วยวิธีนี้:

=IF (
    COUNTROWS (Divisions) > 0; 
    IF (ISBLANK (SUM (Numbers[D])), 0, SUM (Numbers[D]))
)

สำหรับข้อมูลเพิ่มเติมดู:
วิธีการใช้ DAX ใน PowerPivot Add-In การวิเคราะห์ข้อมูลนิพจน์ (DAX) ของ Excel
ใน PowerPivot

วิธีการนี้จะได้รับการแนะนำเดิมในหัวข้อแสดงรายการที่ไม่มีข้อมูลในแถว


ขอบคุณ - เพียงดูวิธีนี้เพื่อดูว่าฉันสามารถใช้งานได้หรือไม่ สิ่งแรกที่ฉันสังเกตเห็นคือการพิมพ์ผิดขนาดเล็กในสูตร - คุณมีเซมิโคลอนแทนจุลภาค (เช่นเดียวกับโพสต์ต้นฉบับโดย AlbertoFerrari บนลิงค์.)
Andi Mohr

น่าเศร้าที่ดูเหมือนว่าจะไม่ได้หลอกลวง ฉันได้ดัดแปลงสูตรดังต่อไปนี้: Units_2:=IF (COUNTROWS('FruitSales') > 0,IF(ISBLANK (SUM (FruitSales[Units])), 0, SUM (FruitSales[Units]))). PivotTable เพียงแสดงหน่วยที่ขายในเดือนกรกฎาคมและกันยายน
Andi Mohr

หากไม่พบวิธีแก้ไขปัญหาอื่นสิ่งที่เหลืออยู่คือการทำให้ PivotTable เรียบลงในสเปรดชีตท้องถิ่น บทความผมมีการเชื่อมโยงไปยังความช่วยเหลืออาจจะก่อน
harrymc

0

วิธีการบังคับเดรัจฉานจะสร้างมาตรการสำหรับแต่ละเดือน ตราบใดที่คอลัมน์หนึ่งเดือนมีข้อมูลบางส่วนคอลัมน์ทั้งหมดของเดือนก็จะปรากฏขึ้น การสร้างมาตรการส่วนบุคคลทั้งหมดเหล่านี้นั้นน่าเบื่อมาก - ไม่เหมาะ

=CALCULATE(
   SUM([Units])
   ,Filter('FruitSales',[Month Name]="August")
   )

0

สิ่งนี้ใช้ได้กับฉัน:

= ถ้า (ผลรวม (ปฏิทิน [วันที่])> 0; if (ISBLANK (ผลรวม (Sales_SalesOrderDetail [LineTotal])); 0; SUM (Sales_SalesOrderDetail [LineTotal])))


ในกรณีที่ได้calendar[Date]มาจากไหน? นั่นไม่ได้อยู่ในสถานการณ์ตัวอย่างของฉันดังนั้นคุณได้เพิ่มสิ่งนี้อย่างไรและตารางนี้เชื่อมโยงใน PowerPivot อย่างไร
Andi Mohr
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.