This is best Fabric, Power BI, SQL and AI community event. How do we know? The last event sold out! Save €200 with code FABCMTY200.
Register nowA new Data Days event is coming soon! This time we’re going bigger than ever. Fabric, Power BI, SQL, AI and more. Don't miss out.
Hi, I need to create a complex relationship between two tables, AGGR and OFF based on dates. Basically the relationship between AGGR[COD_PROM] and OFF[codprom] should only occur if AGGR[date]>= OFF[startdate] and AGGR[date]<=OFF[enddate].
i want that relationship between on columns, as keys, cod_prom and codprom works ONLY if a date in AGGR is on range of startdate and end date of table OFF. Thanks!
Solved! Go to Solution.
Hello,
In terms of modelling, I am using a simple star schema with 1 to many relationship between a dimension table that contains Cod_Prom - you can create this table by duplicating one of the tables and keeping only this column without duplicates
in terms of measure you can create the following:
Solution =
IF(
MAX(AGGR[date]) >= MAX(OFF[startdate]) && MAX(AGGR[date]) <= MAX(OFF[enddate]),
CALCULATE(
SELECTEDVALUE(AGGR[date]),
TREATAS(VALUES(AGGR[cod_prom]), OFF[Codprom])))the result is the following (cod prom coming from the dimension and the measure created above)
I tested the scenario when the condion is not met. The date will not appear as shown below
If it answers your question, please mark my reply as the solution. Thanks!
Hello,
In terms of modelling, I am using a simple star schema with 1 to many relationship between a dimension table that contains Cod_Prom - you can create this table by duplicating one of the tables and keeping only this column without duplicates
in terms of measure you can create the following:
Solution =
IF(
MAX(AGGR[date]) >= MAX(OFF[startdate]) && MAX(AGGR[date]) <= MAX(OFF[enddate]),
CALCULATE(
SELECTEDVALUE(AGGR[date]),
TREATAS(VALUES(AGGR[cod_prom]), OFF[Codprom])))the result is the following (cod prom coming from the dimension and the measure created above)
I tested the scenario when the condion is not met. The date will not appear as shown below
If it answers your question, please mark my reply as the solution. Thanks!
Hi @Anonymous
While you can drag a column from a table onto a column from another table and that will most likely create a relationship, in your case using relationships won't give the correct result. There is not such thing as conditional relationship in the context of Power BI. What you can do is create a calculated column to retrieve the matching value from another table based on certain conditions and use that in a relationship or create calcualted columns/measures for all the values you want to retrieve from a disconnected table. Try this as a calc column in OFF
Calc Date =
CALCULATE (
MAX ( AGGR[date] ),
FILTER (
ALL ( AGGR ),
AGGR[date] <= EARLIER ( off[startdate] )
&& AGGR[date] >= EARLIER ( off[startdate] )
)
)
I added this column to the OFF table. Now should I link this OFF table to the AGGR table using the cod_prom and codprom columns? Because all the other information I need is in the AGGR table.
Check out the May 2026 Power BI update to learn about new features.
Sign up to receive a private message when registration opens and key events begin.
If you have recently started exploring Fabric, we'd love to hear how it's going. Your feedback can help with product improvements.
| User | Count |
|---|---|
| 29 | |
| 28 | |
| 25 | |
| 19 | |
| 14 |
| User | Count |
|---|---|
| 53 | |
| 47 | |
| 27 | |
| 20 | |
| 19 |