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

Power BI is turning 10! Let’s celebrate together with dataviz contests, interactive sessions, and giveaways. Register now.

Reply
Thomvdw
Frequent Visitor

New table with filtered distinct ID's

Hi Community,

 

I have a datatable with multiple months below each other. The datatable consists of the column 'period' and 'ContractID'. 

 

The goal is to create a new table with only the distinct ContractID's from the last available month.

 

I tried multiple variations of lines of code, but none gave me the right answer. 

 

Hopefully somebody here can help.

 

Thanks, Thom

1 ACCEPTED SOLUTION

Hi Thomvdw,
 
 
New Table =
VAR _MaxPeriod = MAX('Table'[Period])
RETURN
CALCULATETABLE(
SUMMARIZE('Table', 'Table'[Period], 'Table'[ContractID]),
'Table'[Period ] = _MaxPeriod
)

View solution in original post

4 REPLIES 4
Anonymous
Not applicable

1. Sample, representative data for the problem.

2. Transformation description.

3. Desired outcome.

Hi Daxer,

 

Sample datatable is:

Period ContractID
2021-01 1
2021-01 2
2021-01 3
2021-01 3
2021-02 2
2021-02 3
2021-02 3
2021-02 4


In this sample the last month is 2021-02, so I expect the new datatable outcome to be:

Period ContractID
2021-02 2
2021-02 3
2021-02 4


Hope this clarifies

Hi Thomvdw,
 
 
New Table =
VAR _MaxPeriod = MAX('Table'[Period])
RETURN
CALCULATETABLE(
SUMMARIZE('Table', 'Table'[Period], 'Table'[ContractID]),
'Table'[Period ] = _MaxPeriod
)
Anonymous
Not applicable

// Data
let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMjIwMtQ1MFQwVIrVQfCMUHjGOHlGKCqN0ORQeSZKsbEA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [#"Period ContractID" = _t]),
    #"Split Column by Delimiter" = Table.SplitColumn(Source, "Period ContractID", Splitter.SplitTextByEachDelimiter({" "}, QuoteStyle.Csv, false), {"Period ContractID.1", "Period ContractID.2"}),
    #"Changed Type" = Table.TransformColumnTypes(#"Split Column by Delimiter",{{"Period ContractID.1", type date}, {"Period ContractID.2", Int64.Type}}),
    #"Renamed Columns" = Table.RenameColumns(#"Changed Type",{{"Period ContractID.1", "Period"}, {"Period ContractID.2", "ContractID"}}),
    #"Removed Duplicates" = Table.Distinct(#"Renamed Columns"),
    #"Calculate Max Date" = List.Max(#"Removed Duplicates"[Period], null),
    #"Should Keep" = Table.AddColumn(
        #"Removed Duplicates", "Should Keep?",
        each [Period] = #"Calculate Max Date"
    ),
    #"Filtered Rows" = Table.SelectRows(#"Should Keep", each ([#"Should Keep?"] = true)),
    #"Removed Columns" = Table.RemoveColumns(#"Filtered Rows",{"Should Keep?"})
in
    #"Removed Columns"

Helpful resources

Announcements
June 2025 Power BI Update Carousel

Power BI Monthly Update - June 2025

Check out the June 2025 Power BI update to learn about new features.

May 2025 Monthly Update

Fabric Community Update - May 2025

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