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
nuttybuddy
Frequent Visitor

Reproduce FOREACH() function in DAX Power BI

Hi all

There is a specific function in SAP Web intelligence which I am trying to reproduce in Power BI

 

This FOREACH() function forces the aggregated dimension based on the dimention you want to group on

Here is the syntax for the function as below...

 

FTE Size = If([FTE]=0;"0";
If([FTE] <=29;"1-29";
If([FTE] <=49;"30-49";
If([FTE] <=99;"50-99";">=100")))) ForEach ([Department])

 

 

Thanks for your help in advance.

 

 

Cheers

3 ACCEPTED SOLUTIONS

Here is the sample data...

 

Department   sub department  FTE

ABV               1E                    12

ABV               1S                    13

DDD               2A                   50

DDD               2B                   70

BGR                3E                   34

BGR                3T                   90

            

 

Expected result

FTE          Department-count

0-20         1

21-30       0

31-40       1

41-50       1

>50          2

 

View solution in original post

@nuttybuddy,

Create a column using DAX below in your table.

FTE size = If([FTE]=0;"0";
If([FTE] <=20;"0-20";
If([FTE] <=30;"21-30";
If([FTE] <=40;"31-40";if([FTE]<=50;"41-50";">=50")))))


Create a table visual as follows, please choose "Count" aggregation for Deparement field.

1.JPG2.JPG

Regards,
Lydia

Community Support Team _ Lydia Zhang
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

View solution in original post

@nuttybuddy,

Right click your table and select "New column", then apply my DAX.

Regards,
Lydia

Community Support Team _ Lydia Zhang
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

View solution in original post

8 REPLIES 8
Greg_Deckler
Super User
Super User

My first impression of this is that you would create your Measure with your IF statement and then put it in a visual along with Department. If you want it all done in a single measure, you would use SUMMARIZE.


@ me in replies or I'll lose your thread!!!
Instead of a Kudo, please vote for this idea
Become an expert!: Enterprise DNA
External Tools: MSHGQM
YouTube Channel!: Microsoft Hates Greg
Latest book!:
The Definitive Guide to Power Query (M)

DAX is easy, CALCULATE makes DAX hard...

Does SUMMARIZE not create a table?

 

I just want a calculated column

I'd need to see your data or an example representation of your data and the output you are trying to achieve. Otherwise, we'll just spin our wheels on this.


@ me in replies or I'll lose your thread!!!
Instead of a Kudo, please vote for this idea
Become an expert!: Enterprise DNA
External Tools: MSHGQM
YouTube Channel!: Microsoft Hates Greg
Latest book!:
The Definitive Guide to Power Query (M)

DAX is easy, CALCULATE makes DAX hard...

Here is the sample data...

 

Department   sub department  FTE

ABV               1E                    12

ABV               1S                    13

DDD               2A                   50

DDD               2B                   70

BGR                3E                   34

BGR                3T                   90

            

 

Expected result

FTE          Department-count

0-20         1

21-30       0

31-40       1

41-50       1

>50          2

 

@nuttybuddy,

Create a column using DAX below in your table.

FTE size = If([FTE]=0;"0";
If([FTE] <=20;"0-20";
If([FTE] <=30;"21-30";
If([FTE] <=40;"31-40";if([FTE]<=50;"41-50";">=50")))))


Create a table visual as follows, please choose "Count" aggregation for Deparement field.

1.JPG2.JPG

Regards,
Lydia

Community Support Team _ Lydia Zhang
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

Hi sorry

Got this error below....

 

A single value for column 'FTE' in table 'Table 1' cannot be determined. This can happen when a measure formula refers to a column that contains many values without specifying an aggregation such as min, max, count, or sum to get a single result.

@nuttybuddy,

Right click your table and select "New column", then apply my DAX.

Regards,
Lydia

Community Support Team _ Lydia Zhang
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

Looks like a combination of SWITCH and one of the iterator functions would do the trick.


To learn more about DAX visit : aka.ms/practicalDAX

Proud to be a Datanaut!

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.