Fabric is Generally Available. Browse Fabric Presentations. Work towards your Fabric certification with the Cloud Skills Challenge.
I have a table holding data regarding absence. To simplify the table holds these columns:
employee no (integer)
absence code (integer)
starting date (date)
ending date (date)
The data going into this table is not necessarily for the whole period, but could be subsets, i.e. May 1 - May 5 and then again May 8 - May 12 (typically excluding weekend days).
Would like to know if any entry is part of a streak that is >= 30 days to identify short term or long term absence. This based on combination of employee and absence code.
Ultimately I need to be able to slice, so I can filter and make measures based on short/term to calculate how much in percent points the short term and long term make up.
As I see it there could be 2 approaches:
1) In PowerQuery try and group the start and end dates. Thinking I could offset Friday to Sunday to include the weekend days. Not sure how to join the periods though.
2) Or this could be done in DAX? Could this be accomplished through a calculated column?
Any advice on how to achieve this? Thanks in advance.
For a DAX calculated column please try
Absence Type =
VAR T =
CALCULATETABLE (
'Table',
ALLEXCEPT ( 'Table', 'Table'[Employee No], 'Table'[Absence Code] )
)
VAR StartDate =
MINX ( T, 'Table'[Starting Date] )
VAR EndDate1 =
MAXX ( T, 'Table'[Ending Date] )
VAR EndDate2 =
SWITCH ( WEEKDAY ( EndDate1, 2 ), 5, EndDate1 + 2, 6, EndDate1 + 1, EndDate1 )
VAR AbsenceDuration =
DATEDIFF ( StartDate, EndDate2, DAY )
RETURN
IF ( AbsenceDuration >= 30, "Long Term", "Short Term" )
Check out the November 2023 Power BI update to learn about new features.
Read the latest Fabric Community announcements, including updates on Power BI, Synapse, Data Factory and Data Activator.