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

Get Fabric Certified for FREE during Fabric Data Days. Don't miss your chance! Learn more

Reply
HenryJS
Post Prodigy
Post Prodigy

Create Table - Week Completion Rows from date range

Hello everyone

I would like to create a new table (as shown in Table 2) from the data in Table 1.

The new table has one row for each candidate week end that is within the start and end date of the location.

Table 1 - 'Locations'

CandidateRefCandidateNamePlacementStartDatePlacementEndDate
62896Jamie01/04/202001/06/2020
19382Henry01/01/202001/02/2020
66279Jorge01/04/202001/05/2020

New table -

CandidateRefCandidateNameWeekend
62896Jamie05/04/2020
62896Jamie12/04/2020
62896Jamie19/04/2020
62896Jamie26/04/2020
62896Jamie03/05/2020
62896Jamie10/05/2020
62896Jamie17/05/2020
62896Jamie24/05/2020
62896Jamie31/05/2020
19382Henry05/01/2020
19382Henry12/01/2020
19382Henry19/01/2020
19382Henry26/01/2020
66279Jorge01/04/2020
66279Jorge08/04/2020
66279Jorge15/04/2020
66279Jorge22/04/2020
66279Jorge29/04/2020
1 ACCEPTED SOLUTION
FrankAT
Community Champion
Community Champion

Hello @HenryJS ,

you can do this with Power Query as follows:

// Table
let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMjOysDRT0lHySszNTAXSBob6Bib6RgZGBlCOGYQTqxOtZGhpbGEEFPZIzSuqhEobIqs1Qqg1MzMytwQKu6fmF6VjNdgUqjgWAA==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type text) meta [Serialized.Text = true]) in type table [CandidateRef = _t, CandidateName = _t, PlacementStartDate = _t, PlacementEndDate = _t]),
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"PlacementStartDate", type date}}),
    #"Changed Type1" = Table.TransformColumnTypes(#"Changed Type",{{"PlacementStartDate", Int64.Type}, {"PlacementEndDate", type date}}),
    #"Changed Type2" = Table.TransformColumnTypes(#"Changed Type1",{{"PlacementEndDate", Int64.Type}}),
    #"Added Custom" = Table.AddColumn(#"Changed Type2", "Custom", each {[PlacementStartDate].. [PlacementEndDate]}),
    #"Expanded Custom" = Table.ExpandListColumn(#"Added Custom", "Custom"),
    #"Changed Type3" = Table.TransformColumnTypes(#"Expanded Custom",{{"Custom", type date}}),
    #"Inserted Day Name" = Table.AddColumn(#"Changed Type3", "Day Name", each Date.DayOfWeekName([Custom]), type text),
    #"Filtered Rows" = Table.SelectRows(#"Inserted Day Name", each ([Day Name] = "Sonntag")),
    #"Removed Columns" = Table.RemoveColumns(#"Filtered Rows",{"PlacementStartDate", "PlacementEndDate", "Day Name"}),
    #"Renamed Columns" = Table.RenameColumns(#"Removed Columns",{{"Custom", "Week Ending"}})
in
    #"Renamed Columns"

02-05-_2020_00-29-00.png

Greetings FrankAT

View solution in original post

6 REPLIES 6
HenryJS
Post Prodigy
Post Prodigy

Hi all,

 

I would like to create a new table (as shown in table 2) from the data in table 1.

 

The new table has a row for each candidates week ending that lies withint the placement start date and end date.

 

Table 1 - 'Placements'

 

CandidateRefCandidateNamePlacementStartDatePlacementEndDate
62896Jamie01/04/202001/06/2020
19382Henry01/01/202001/02/2020
66279George01/04/202001/05/2020

 

 

 

New Table - 

 

CandidateRefCandidateNameWeek Ending
62896Jamie05/04/2020
62896Jamie12/04/2020
62896Jamie19/04/2020
62896Jamie26/04/2020
62896Jamie03/05/2020
62896Jamie10/05/2020
62896Jamie17/05/2020
62896Jamie24/05/2020
62896Jamie31/05/2020
19382Henry05/01/2020
19382Henry12/01/2020
19382Henry19/01/2020
19382Henry26/01/2020
66279George01/04/2020
66279George08/04/2020
66279George15/04/2020
66279George22/04/2020
66279George29/04/2020

Hi @HenryJS ,

 

See the same thread I just replied below:

https://community.powerbi.com/t5/Desktop/Create-Table-Week-Completion-Rows-from-date-range/td-p/1062...

 

Pls note that the expected output about George has an error in Week ending dates,pls double check it.

 

Best Regards,
Kelly
Did I answer your question? Mark my post as a solution!
 

is it possible to do this in DAX?

FrankAT
Community Champion
Community Champion

Hello @HenryJS ,

you can do this with Power Query as follows:

// Table
let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMjOysDRT0lHySszNTAXSBob6Bib6RgZGBlCOGYQTqxOtZGhpbGEEFPZIzSuqhEobIqs1Qqg1MzMytwQKu6fmF6VjNdgUqjgWAA==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type text) meta [Serialized.Text = true]) in type table [CandidateRef = _t, CandidateName = _t, PlacementStartDate = _t, PlacementEndDate = _t]),
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"PlacementStartDate", type date}}),
    #"Changed Type1" = Table.TransformColumnTypes(#"Changed Type",{{"PlacementStartDate", Int64.Type}, {"PlacementEndDate", type date}}),
    #"Changed Type2" = Table.TransformColumnTypes(#"Changed Type1",{{"PlacementEndDate", Int64.Type}}),
    #"Added Custom" = Table.AddColumn(#"Changed Type2", "Custom", each {[PlacementStartDate].. [PlacementEndDate]}),
    #"Expanded Custom" = Table.ExpandListColumn(#"Added Custom", "Custom"),
    #"Changed Type3" = Table.TransformColumnTypes(#"Expanded Custom",{{"Custom", type date}}),
    #"Inserted Day Name" = Table.AddColumn(#"Changed Type3", "Day Name", each Date.DayOfWeekName([Custom]), type text),
    #"Filtered Rows" = Table.SelectRows(#"Inserted Day Name", each ([Day Name] = "Sonntag")),
    #"Removed Columns" = Table.RemoveColumns(#"Filtered Rows",{"PlacementStartDate", "PlacementEndDate", "Day Name"}),
    #"Renamed Columns" = Table.RenameColumns(#"Removed Columns",{{"Custom", "Week Ending"}})
in
    #"Renamed Columns"

02-05-_2020_00-29-00.png

Greetings FrankAT

v-kelly-msft
Community Support
Community Support

Hi @HenryJS

 

Create a new table using below dax expression:

 

Table 2 = CALENDAR(MIN('Table'[PlacementStartDate]),MAX('Table'[PlacementEndDate]))

 

Then create a column as below:

 

Column = IF(WEEKDAY('Table 2'[Date],2)=7,1,0)

 

Finally create a measure as below:

 

CandidateName = IF(SELECTEDVALUE('Table 2'[Date])>=MAX('Table'[PlacementStartDate])&&SELECTEDVALUE('Table 2'[Date])<=MAX('Table'[PlacementEndDate])&&MAX('Table 2'[Column])=1,MAX('Table'[CandidateName]),BLANK())

 

And you will see:

Annotation 2020-05-04 110450.png

For the related .pbix file,pls click here.

 

Best Regards,
Kelly
Did I answer your question? Mark my post as a solution!
amitchandak
Super User
Super User

Duplicate of : https://community.powerbi.com/t5/Desktop/Create-Table-Week-Ending-Rows-From-Date-Range/m-p/1061648

 

Refer to my blog on power bi: https://community.powerbi.com/t5/Community-Blog/HR-Analytics-Active-Employee-Hire-and-Termination-tr...

 

Have week end date in your calendar to display

Week Start date = 'Date'[Date]+-1*WEEKDAY('Date'[Date],2)+1 //Monday
Week End date = 'Date'[Date]+ 7-1*WEEKDAY('Date'[Date],2) //Sunday

 

Week Start date = 'Date'[Date]+-1*WEEKDAY('Date'[Date],1)+1 //Sunday
Week End date = 'Date'[Date]+ 7-1*WEEKDAY('Date'[Date],1) //Saturday

 

For Calendar refer : https://community.powerbi.com/t5/Webinars-and-Video-Gallery/PowerBI-Time-Intelligence-Calendar-WTD-Y...

Share with Power BI Enthusiasts: Full Power BI Video (20 Hours) YouTube
Microsoft Fabric Series 60+ Videos YouTube
Microsoft Fabric Hindi End to End YouTube

Helpful resources

Announcements
Fabric Data Days Carousel

Fabric Data Days

Advance your Data & AI career with 50 days of live learning, contests, hands-on challenges, study groups & certifications and more!

October Power BI Update Carousel

Power BI Monthly Update - October 2025

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

FabCon Atlanta 2026 carousel

FabCon Atlanta 2026

Join us at FabCon Atlanta, March 16-20, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.

Top Solution Authors