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
nirvana_moksh
Impactful Individual
Impactful Individual

DAX To M Query

Hey All,

 

I had a question in regards to changing the below DAX to M and if it is possible:

 

CALCULATE(LASTNONBLANK('Table A'[Column 1],1),FILTER('Table A','Table A'[Index] = MIN('Table A'[Index])))

 

 

The above DAX basically finds the latest COLUMN 1 value using the Index column I have set up, I want to do this in M query so that I can limit data from right there instead of using the above DAX.

 

 

Thank You

1 ACCEPTED SOLUTION
v-juanli-msft
Community Support
Community Support

Hi @nirvana_moksh

As tested, I add an index column from 1.

Code in Advanced Editor

let

    Source = Excel.Workbook(File.Contents("C:\Users\maggiel\Desktop\PR4.0\5\5.29\Circular dependancy.xlsx"), null, true),

    Sheet1_Sheet = Source{[Item="Sheet1",Kind="Sheet"]}[Data],

    #"Promoted Headers" = Table.PromoteHeaders(Sheet1_Sheet, [PromoteAllScalars=true]),

    #"Changed Type" = Table.TransformColumnTypes(#"Promoted Headers",{{"taskId", Int64.Type}, {"startupGoalDate", type date}, {"duration", Int64.Type}}),

    #"Added Index" = Table.AddIndexColumn(#"Changed Type", "Index", 1, 1),

    #"Added Conditional Column1" = Table.AddColumn(#"Added Index", "min", each List.Min(Table.Column(#"Added Index","Index"))),

    #"Added Conditional Column2" = Table.AddColumn(#"Added Conditional Column1","Custom", each if [Index]=[min]  then List.Last(Table.Column(#"Added Index","duration")) else null) 

in

#"Added Conditional Column2"

 

Something easier to do with DAX maybe complex with M query,

Reference:

List.Last

Table.SelectRows

Table.SelectColumns

 

Best Regards

Maggie

View solution in original post

2 REPLIES 2
v-juanli-msft
Community Support
Community Support

Hi @nirvana_moksh

As tested, I add an index column from 1.

Code in Advanced Editor

let

    Source = Excel.Workbook(File.Contents("C:\Users\maggiel\Desktop\PR4.0\5\5.29\Circular dependancy.xlsx"), null, true),

    Sheet1_Sheet = Source{[Item="Sheet1",Kind="Sheet"]}[Data],

    #"Promoted Headers" = Table.PromoteHeaders(Sheet1_Sheet, [PromoteAllScalars=true]),

    #"Changed Type" = Table.TransformColumnTypes(#"Promoted Headers",{{"taskId", Int64.Type}, {"startupGoalDate", type date}, {"duration", Int64.Type}}),

    #"Added Index" = Table.AddIndexColumn(#"Changed Type", "Index", 1, 1),

    #"Added Conditional Column1" = Table.AddColumn(#"Added Index", "min", each List.Min(Table.Column(#"Added Index","Index"))),

    #"Added Conditional Column2" = Table.AddColumn(#"Added Conditional Column1","Custom", each if [Index]=[min]  then List.Last(Table.Column(#"Added Index","duration")) else null) 

in

#"Added Conditional Column2"

 

Something easier to do with DAX maybe complex with M query,

Reference:

List.Last

Table.SelectRows

Table.SelectColumns

 

Best Regards

Maggie

Thank you, I will try this out and check the output

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.