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
svc-dashboard
New Member

1 to many for Year and Data Dimension

Take these three tables:

 

(1) Table 1 — Data Dimension Table

 

Date

Year

Month

01/01/2020  

2020 

Jan

02/01/2020  

2020 

Jan

03/01/2020

2020

Jan

(From 01/01/2020 to 31/12/2021)

 

(2) Table 2 — Daily Data Table

 

Date

Customer

Amount

02/01/2020  

P

3

04/01/2020  

S

4

 

(3) Table 3 — Yearly Data Table

 

Year

Type

Amount

2020

Budget

100

2020

Actual

90

2021

Budget

110

2021

Actual

105

 

+++

 

If we want to join Table 1 and Table 2 — we have a lovely 1 to many join!

If however, we want to join Table 1 and Table 3 — we have many to many join.

 

Q: Is a many-to-many join bad?

Q: Is there a more optimal way to set this up to avoid the many-to-many join?

e.g. Should I create a Year Dimension Table? This could be joined to Data Dimension (1:*) and Table 3 (1:*)

 

1 ACCEPTED SOLUTION
Anonymous
Not applicable

Hi @svc-dashboard ,

 

1# No, the relationship depends on your requirement. Perhaps some document could help you understand.

https://docs.microsoft.com/en-us/power-bi/guidance/relationships-many-to-many 

https://docs.microsoft.com/en-us/power-bi/transform-model/desktop-many-to-many-relationships 

2# I'm afraid not. In your data model, table 2 and table 3 also have many-to-many relationship if you add a year column.

 

Best regards,

Jay

View solution in original post

2 REPLIES 2
Anonymous
Not applicable

Hi @svc-dashboard ,

 

1# No, the relationship depends on your requirement. Perhaps some document could help you understand.

https://docs.microsoft.com/en-us/power-bi/guidance/relationships-many-to-many 

https://docs.microsoft.com/en-us/power-bi/transform-model/desktop-many-to-many-relationships 

2# I'm afraid not. In your data model, table 2 and table 3 also have many-to-many relationship if you add a year column.

 

Best regards,

Jay

amitchandak
Super User
Super User

@svc-dashboard , You can create a date from year and join it with date tbale

 

date =  date([Year],1,1)

 

also refer

 

Distributing/Allocating the Yearly Target(Convert to Daily Target): Measure ( Daily/YTD): Magic of CLOSINGBALANCEYEAR With TOTALYTD/DATESYTD: https://community.powerbi.com/t5/Community-Blog/Power-BI-Distributing-Allocating-the-Yearly-Target-C...

 

Distributing/Allocating the Yearly Target(Convert to Daily Target): https://community.powerbi.com/t5/Community-Blog/Distributing-Allocating-the-Yearly-Target-Convert-to...

 

 

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