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

Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.

Reply
kressb
Helper V
Helper V

2nd Calculated Column Formula

I have 3 Raw Data Columns (Date, Group, Number) and 1 Calculated Column (80). I'm trying to make a 2nd Calculated Column where the denominator is the sum of the first calculated column for each row of the same date:

DateGroupNumber80 
5/9/2019Blue0.50.0062540.00%
5/9/2019Green0.250.00312520.00%
5/9/2019Blue0.50.0062540.00%
5/10/2019Red0.150.00187515.79%
5/10/2019Red0.30.0037531.58%
5/10/2019Yellow0.50.0062552.63%

So the denominator for the first three rows (5/9/19) would be 0.015625

     the denominator for the second three rows (5/10/19) would be 0.011875

The 2nd calculated column would add to 100% for all the rows of the same date. 

Can anyone advise on the correct formula to do this in PowerBI?

*ETA: right now I am using: Divide(Table[80],sum(Table[80]),0) but not sure if I'm missing something..

2 ACCEPTED SOLUTIONS
CheenuSing
Community Champion
Community Champion

Hi@kressb ,

 

Try the following replace Table with your tablename

 

Percents =
VAR _total80 =
    CALCULATE (
        SUM ( 'Table'[80] ),
        FILTER ( 'Table', [Date] = EARLIER ( 'Table'[Date] ) )
    )
RETURN
    DIVIDE ( [80], _total80 )

Cheers

 

CheenuSing

Did I answer your question? Mark my post as a solution and also give KUDOS !

Proud to be a Datanaut!

View solution in original post

Hi @kressb 

 

 

_total80 is a temproary variable created to compute the totals of column named 80 in your dataset, for each date.

     FILTER ( 'Table', [Date] = EARLIER ( 'Table'[Date] ) )  checks if the current date is same as earlier row  date and groups them together.

 

Cheers

 

CheenuSing

 

 

Did I answer your question? Mark my post as a solution and also give KUDOS !

Proud to be a Datanaut!

View solution in original post

4 REPLIES 4
CheenuSing
Community Champion
Community Champion

Hi@kressb ,

 

Try the following replace Table with your tablename

 

Percents =
VAR _total80 =
    CALCULATE (
        SUM ( 'Table'[80] ),
        FILTER ( 'Table', [Date] = EARLIER ( 'Table'[Date] ) )
    )
RETURN
    DIVIDE ( [80], _total80 )

Cheers

 

CheenuSing

Did I answer your question? Mark my post as a solution and also give KUDOS !

Proud to be a Datanaut!

Hello, 

Can you break down what this is doing?

It works for the test data I posted, but not for my real/master file. 

 

VAR _total80 =
    CALCULATE (
        SUM ( 'Table'[80] ),
        FILTER ( 'Table', [Date] = EARLIER ( 'Table'[Date] ) )
    )
RETURN
    DIVIDE ( [80], _total80 )

 

What is _total80?

If I filter by [Date] = EARLIER ('Table'[Date]) what is that doing?

 

TYIA

Hi @kressb 

 

 

_total80 is a temproary variable created to compute the totals of column named 80 in your dataset, for each date.

     FILTER ( 'Table', [Date] = EARLIER ( 'Table'[Date] ) )  checks if the current date is same as earlier row  date and groups them together.

 

Cheers

 

CheenuSing

 

 

Did I answer your question? Mark my post as a solution and also give KUDOS !

Proud to be a Datanaut!

Thank you! very much appreciate the additional explanation.

Helpful resources

Announcements
RTI Forums Carousel3

New forum boards available in Real-Time Intelligence.

Ask questions in Eventhouse and KQL, Eventstream, and Reflex.

MayPowerBICarousel

Power BI Monthly Update - May 2024

Check out the May 2024 Power BI update to learn about new features.

LearnSurvey

Fabric certifications survey

Certification feedback opportunity for the community.