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

Be one of the first to start using Fabric Databases. View on-demand sessions with database experts and the Microsoft product team to learn just how easy it is to get started. Watch now

Reply
KervBruce
Helper I
Helper I

Multiply two tables

The title of my question isn't clear but I didn't know what to call it.

I have a table of project, with 2 columns: ID and Title.

I have another table of reporting periods (months) from 2021 to today.

I want to create a table with a row for each project for each period.

So with 165 projects and 38 perios I expect 6270 rows.

Can you suggest the M Code to achieve this?

2 ACCEPTED SOLUTIONS
ronrsnfld
Super User
Super User

  • Add a custom column with a List of the Reporting Periods
  • Expand that column to new rows.

Code might be something like:

 

 

   #"Added Custom" = Table.AddColumn(#"Previous Step", "Reporting Period", each #"Reporting Periods", type {text}),
    #"Expanded Reporting Period" = Table.ExpandListColumn(#"Added Custom", "Reporting Period")

 

 

If your List of Reporting periods is in a table named Reporting Periods, you might need to change the reference to a table column type reference, eg   #"Reporting Periods"[Column Name]

 

View solution in original post

Hello @KervBruce,

you only need to add two lines of code:

 

let
    Source = YourProjectTable,
    ColumnMonth = Table.AddColumn(Source, "Month", each YourDatesTable),
    OpenColumnMonth = Table.ExpandTableColumn(ColumnMonth, "Month", {"Month"}, {"Month"})
in
    OpenColumnMonth

 

 Best regards from Germany

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

4 REPLIES 4
ronrsnfld
Super User
Super User

  • Add a custom column with a List of the Reporting Periods
  • Expand that column to new rows.

Code might be something like:

 

 

   #"Added Custom" = Table.AddColumn(#"Previous Step", "Reporting Period", each #"Reporting Periods", type {text}),
    #"Expanded Reporting Period" = Table.ExpandListColumn(#"Added Custom", "Reporting Period")

 

 

If your List of Reporting periods is in a table named Reporting Periods, you might need to change the reference to a table column type reference, eg   #"Reporting Periods"[Column Name]

 

Thank you @ronrsnfld That was very simple 🙂

Hello @KervBruce,

you only need to add two lines of code:

 

let
    Source = YourProjectTable,
    ColumnMonth = Table.AddColumn(Source, "Month", each YourDatesTable),
    OpenColumnMonth = Table.ExpandTableColumn(ColumnMonth, "Month", {"Month"}, {"Month"})
in
    OpenColumnMonth

 

 Best regards from Germany

If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

 @ManuelBolz 

That's excelent, thank you

Helpful resources

Announcements
Las Vegas 2025

Join us at the Microsoft Fabric Community Conference

March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!

ArunFabCon

Microsoft Fabric Community Conference 2025

Arun Ulag shares exciting details about the Microsoft Fabric Conference 2025, which will be held in Las Vegas, NV.

December 2024

A Year in Review - December 2024

Find out what content was popular in the Fabric community during 2024.