Forum Discussion
How to count occupation Dates
- Anonymous8 years ago
Hi JohnSpartan,
You can refer to below sample to achieve your requirement.
1. Create a calendar table based on record table.
CALENDAR = CALENDAR(FIRSTDATE(Records[Date From]),LASTDATE(Records[To]))
2. Write a measure to calculate the occupation date count.
Dynamic Count = VAR current_Date = MAX ( 'CALENDAR'[Date] ) VAR stare_date = DATE ( YEAR ( current_Date ), MONTH ( current_Date ), 1 ) VAR end_date = DATE ( YEAR ( current_Date ), MONTH ( current_Date ) + 1, 1 ) - 1 VAR filtered = FILTER ( ALL ( Records ), CONTAINS ( ADDCOLUMNS ( CALENDAR ( [Date From], [To] ), "YearMonth", FORMAT ( [Date], "mmm/yyyy" ) ), [YearMonth], FORMAT ( current_Date, "mmm/yyyy" ) ) ) RETURN SUMX ( ADDCOLUMNS ( ADDCOLUMNS ( filtered, "StartDat", IF ( [Date From] <= stare_date, stare_date, [Date From] ), "EndDate", IF ( [To] >= end_date, end_date, [To] ) ), "Diff", DATEDIFF ( [StartDat], [EndDate], DAY ) ), [Diff] )3. Use measure and calendar date to create visuals.
Comment:
VAR stare_date =
DATE ( YEAR ( current_Date ), MONTH ( current_Date ), 1 )
VAR end_date =
DATE ( YEAR ( current_Date ), MONTH ( current_Date ) + 1, 1 )
- 1
find out the startdate and enddate of current month.VAR filtered =
FILTER (
ALL ( Records ),
CONTAINS (
ADDCOLUMNS (
CALENDAR ( [Date From], [To] ),
"YearMonth", FORMAT ( [Date], "mmm/yyyy" )
),
[YearMonth], FORMAT ( current_Date, "mmm/yyyy" )
)
)
filter related records based on year month of current date.ADDCOLUMNS (
ADDCOLUMNS (
filtered,
"StartDat", IF ( [Date From] <= stare_date, stare_date, [Date From] ),
"EndDate", IF ( [To] >= end_date, end_date, [To] )
),
"Diff", DATEDIFF ( [StartDat], [EndDate], DAY )
)
Dynamic compare the current record date with variable start_date/end_date, add columns to store these correct date and calculate the date diff.Notice: I attach the pbix file below.
Regards,
Xiaoxin Sheng
- 8 years ago
hi All
i revive this thread just to ask how we can show the occupancy as percentage vs month/quarter/year.
i actually try to divide the number of days that the room is booked with the number of available days in each given period.
i tryied with eomonth function but with no chance
Is there anyway to do so?
- Ashish_Mathur8 years agoSuper User
Hi,
Share some data and show the expected result.