Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!

Reply
brief001
Helper II
Helper II

Calculated column with sum as function

I'm looking for a formula that uses sums as logic that we know in Excel. I want to add a calculated column (orange) in the table below. That sums values of column value if the column values of date and color are equal.

brief001_0-1668161934689.png


I once came across a formula with the EARLIER function, but I don't know the exact formula to get it to work.

1 ACCEPTED SOLUTION
daXtreme
Solution Sage
Solution Sage

Hint: You should never use EARLIER. There is a much better alternative and it's called VARIABLES.

// This is the formula for your column...

[Total Value] =
var CurrentDate = YourTable[Date]
var CurrentColor = YourTable[Color]
var Output =
    sumx(
        filter(
            YourTable,
            YourTable[Date] = CurrentDate
            &&
            YourTable[Color] = CurrentColor
        ),
        YourTable[Value]
    )
return
    Output

 

View solution in original post

5 REPLIES 5
brief001
Helper II
Helper II

I want to thank you both ( @daXtreme & @zerotyper  ) for the quick and well-functioning response. I have been helped tremendously.

As a result of @daXtreme 's additional explanation, I naturally opt for his solution.

Thanks and have a nice weekend!

zerotyper
Frequent Visitor

@brief001 Hope this is the result you want.

zerotyper_0-1668169111942.png

 

@zerotyper 

 

A word of caution.

 

Using CALCULATE in calculated column is a no-no. This slows DAX tremendously down even on moderate sized sets. I've seen many a time formulas like this that brought the engine down to a complete freeze.

@daXtreme Really thanks for your suggestion.

You are right, just use Variable and simply filter and Aggregation is better than Calculate in a calculated column.

The context transition is too heavy.

daXtreme
Solution Sage
Solution Sage

Hint: You should never use EARLIER. There is a much better alternative and it's called VARIABLES.

// This is the formula for your column...

[Total Value] =
var CurrentDate = YourTable[Date]
var CurrentColor = YourTable[Color]
var Output =
    sumx(
        filter(
            YourTable,
            YourTable[Date] = CurrentDate
            &&
            YourTable[Color] = CurrentColor
        ),
        YourTable[Value]
    )
return
    Output

 

Helpful resources

Announcements
April AMA free

Microsoft Fabric AMA Livestream

Join us Tuesday, April 09, 9:00 – 10:00 AM PST for a live, expert-led Q&A session on all things Microsoft Fabric!

March Fabric Community Update

Fabric Community Update - March 2024

Find out what's new and trending in the Fabric Community.

Top Solution Authors