다음을 통해 공유


Custom Calculations for Invoice & Returns Using a PowerPivot DAX Formula

This is from the thread in the SQL Server PowerPivot for Excel forum.

Problem Description

Here's the sample data:

STATUS WEEK SALES CUSTOMER
INVOICE W01 $150.00   A
RETURN W02 $120.00   B
INVOICE W02 $120.00   B
INVOICE W02 $130.00   C
INVOICE W02 $150.00   D
INVOICE W03 $130.00   E
INVOICE W03 $120.00   F
RETURN W01 $150.00   A
INVOICE W04 $100.00   G
INVOICE W05 $150.00   H
RETURN W03 $130.00   E
RETURN W02 $120.00   B
RETURN W06 $100.00   I
INVOICE W06 $100.00   I
RETURN W05 $150.00   H

What the user wanted was an output like this:

Without PowerPivo this is how the user was doing it:
"Create one pivot table filtered by INVOICE (WEEK in Columns, CUSTOMER in Rows) and second table filtered by RETURN (WEEK in Columns, CUSTOMER in Rows). Then manually calculate INVOICED pivot - RETURN pivot."

Solution

 Let's see how DAX formula in PowerPivot can help the user so that it eliminates the "manual" calculation.

So here are the steps:

Step 1

Create two calculated measures:

Invoiced:=CALCULATE(SUM([SALES]),TABLENAME[STATUS]="INVOICE")

Returned:=CALCULATE(sum(DATA[SALES]),TABLENAME[STATUS]="RETURN")

Step 2

Create one more calculated measure:

Invoiced-Returned:=[Invoiced]-[Returned]

Now from the usability standpoint, Hide measures created in step 1

Here's the screenshot of the PowerPivot Model:

Step 3

Let's view this using PivotTables:

Conclusion

In this post, we saw how to create custom calculation to handle invoices and returns using PowerPivot DAX Formula's.