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

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
filipebodas
Helper I
Helper I

Divide based on a grouped column

Hello everyone,

 

I have a table with 5 columns [Date, ID, ZipCode, Numeric, Condition]

 

DateIDZipCodeNumberCondition
27/03/2020AMTS117525Yes
27/03/2020BMTS117525Yes
19/03/2020CMTS117525Yes
25/02/2020DMTS0No
20/01/2020EFCM120368Yes
13/03/2020FFCM120368Yes
17/03/2020GFCM0No
05/04/2020HMTS247831Yes
31/03/2020IMTS0No
08/04/2020JMTS247831Yes

 

The goal is to divide the Number with the total count of "Yes".

  • For ZipCode "MTS" I want to divide 117.525/3, being 3 the total number of Yes for that ZipCode and for that Number. The Number results from a condition based on the Date.
  • For ZipCode "FCM" I want to divide 120.368/2.
  • Again for MTS, 247.831/2
  • For the rows where the Condition = "No" the result should be 0.


How do i lock that count for each row? 

Edit: I add another ZipCode to clarify the goal

1 ACCEPTED SOLUTION
amitchandak
Super User
Super User

@filipebodas , New column

 

new column =divide( [Number], countx(filter(Table, [zip code] =earlier([Zip Code]) && [Condition]= "Yes" ), [ID] ) )

View solution in original post

5 REPLIES 5
tamerj1
Super User
Super User

@filipebodas 

Use this for a calculated column

Column1 =
VAR ZipCodeTable =
    CALCULATETABLE ( Table, ALLEXCEPT ( Table, Table[ZipCode] ) )
VAR YesTable =
    FILTER ( ZipCodeTable, Table[Condition] = "Yes" )
RETURN
    IF (
        Table[Condition],
        0,
        DIVIDE ( SUMX ( YesTable, Table[Number] ), COUNTROWS ( YesTable ) )
    )
tamerj1
Super User
Super User

Hi @filipebodas 

I guess you are using table visual by ZipCode. Then you can use

 

Measure1 =
DIVIDE (
    SUM ( Table[Number] ),
    COUNTROWS ( FILTER ( Table, Table[Condition] = "Yes" ) )
)

 

@tamerj1 I edit the question

amitchandak
Super User
Super User

@filipebodas , New column

 

new column =divide( [Number], countx(filter(Table, [zip code] =earlier([Zip Code]) && [Condition]= "Yes" ), [ID] ) )

When the condition is "No" the new column should be 0.

The output should be 39175 | 39175 | 39175 | 0 (these are rows). 

The zipcode can change along the table

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

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

April Fabric Community Update

Fabric Community Update - April 2024

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

Top Solution Authors