Don't miss your chance to take the Fabric Data Engineer (DP-700) exam on us!
Learn moreWe've captured the moments from FabCon & SQLCon that everyone is talking about, and we are bringing them to the community, live and on-demand. Starts on April 14th. Register now
Hi all,
I have a calculated column and need to create two more columns based on same Variable. As we cannot re-use variables, which option is best in terms of performance/clearness of coding?
Option 1. Create the two columns with same variable in each one
Option 2. Add a variable into the first calculated column, so I can use this in the new two columns -therefore, no need to rewrite the same variable 3 times
Option 3. New ideas welcome!
Example Option 1
Calculated column 1:
Days_late = DATEDIFF('Table'[Due_date], TODAY(), Day)
Calculated column 2:
Late = VAR days_late = DATEDIFF('Table'[Due_date], TODAY(), Day)
RETURN
SWITCH(TRUE(),
days_late = 0, "Due today",
AND(days_late>0, days_late < 15), "Late Less 15 days"
days_late >=15, "Late More 15 days"
"On Time"
)
Calculated column 3:
On Time = VAR days_late = DATEDIFF('Table'[Due_date], TODAY(), Day)
RETURN
SWITCH(TRUE(),
AND(days_late<0, days_late >-15, "Due in Less 15 days",
days_late<=-15, "due in More 15 days"
"Late"
)
Example Option 2
Calculated column 1:
Days_late = VAR days_late = DATEDIFF('Table'[Due_date], TODAY(), Day)
RETURN
days_late
Calculated column 2:
Late = VAR days_late = DATEDIFF('Table'[Due_date], TODAY(), Day)
RETURN
SWITCH(TRUE(),
days_late = 0, "Due today",
AND(days_late>0, days_late < 15), "Late Less 15 days"
days_late >=15, "Late More 15 days"
"On Time"
)
Calculated column 3:
On Time = VAR days_late = DATEDIFF('Table'[Due_date], TODAY(), Day)
RETURN
SWITCH(TRUE(),
AND(days_late<0, days_late >-15, "Due in Less 15 days",
days_late<=-15, "due in More 15 days"
"Late"
)
Thank you for your time and support!
Solved! Go to Solution.
When Calculated Days_late as the column, you can use the same in other columns
My suggestion would be this
Calculated column 1:
Days_late = DATEDIFF('Table'[Due_date], TODAY(), Day)
Calculated column 2:
Late =
SWITCH(TRUE(),
[Days_late] = 0, "Due today",
AND([Days_late]>0, [Days_late] < 15), "Late Less 15 days"
[Days_late] >=15, "Late More 15 days"
"On Time"
)
Calculated column 3:
On Time =
SWITCH(TRUE(),
AND([Days_late]<0, [Days_late] >-15, "Due in Less 15 days",
[Days_late]<=-15, "due in More 15 days"
"Late"
)
Is there a need for a third. Can they 2nd and 3rd can merge?
When Calculated Days_late as the column, you can use the same in other columns
My suggestion would be this
Calculated column 1:
Days_late = DATEDIFF('Table'[Due_date], TODAY(), Day)
Calculated column 2:
Late =
SWITCH(TRUE(),
[Days_late] = 0, "Due today",
AND([Days_late]>0, [Days_late] < 15), "Late Less 15 days"
[Days_late] >=15, "Late More 15 days"
"On Time"
)
Calculated column 3:
On Time =
SWITCH(TRUE(),
AND([Days_late]<0, [Days_late] >-15, "Due in Less 15 days",
[Days_late]<=-15, "due in More 15 days"
"Late"
)
Is there a need for a third. Can they 2nd and 3rd can merge?
If you have recently started exploring Fabric, we'd love to hear how it's going. Your feedback can help with product improvements.
A new Power BI DataViz World Championship is coming this June! Don't miss out on submitting your entry.
Share feedback directly with Fabric product managers, participate in targeted research studies and influence the Fabric roadmap.
| User | Count |
|---|---|
| 53 | |
| 37 | |
| 34 | |
| 19 | |
| 17 |
| User | Count |
|---|---|
| 72 | |
| 72 | |
| 38 | |
| 35 | |
| 26 |