Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Enhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends August 31st. Request your voucher.

Reply
Walt1010
Helper IV
Helper IV

Spreading amounts between dates and then summing each date

I have a fact table with employee, sickness start date, sickness end date and sickness hours.

 

MASTER TABLE

employee sickness start date sickness end date sickness hours Sickness hours/day

A Jones     20/1/2024                23/1/2024            15                      15/4

B Smith      15/5/2024               15/5/2024             7.5                     7.5/1

 

I wish to spread the sickness hours linearly between the 2 dates, but only including working days. I have created a date table and filtered out all but the working days, and I've added a column to the fact table where I've calculated the number of sickness hours per working day. As a next step I thought I would, for each row of the fact table, filter the date table by date and sum all the sickness hours that are eligible, for each employee. I tried doing this using a measure with FILTER and SUMX, but I got a scalar error on the filter. Can anyone help?

1 ACCEPTED SOLUTION
Jihwan_Kim
Super User
Super User

Hi,

I am not sure if I understood your question correctly, but I tried to create a sample pbix file like below.

Please check the below picture and the attached pbix file.

It is for creating a new table.

 

Jihwan_Kim_0-1716259873528.png

 

 

expected result table = 
	VAR _calendar = ADDCOLUMNS(
		CALENDAR(
			DATE(YEAR(MIN(data[sickness_start_date])), 1, 1),
			DATE(YEAR(MAX(data[sickness_end_date])), 12, 31)
		),
		"@weekday", FORMAT(
			[Date],
			"ddd"
		)
	)
	VAR _excludeweekend = FILTER(
		_calendar,
		NOT [@weekday] IN {
			"Sat",
			"Sun"
		}
	)
	VAR _datatable = GENERATE(
		data,
		FILTER(
			_excludeweekend,
			[Date] >= data[sickness_start_date] && [Date] <= data[sickness_end_date]
		)
	)
	VAR _dayscount = ADDCOLUMNS(
		_datatable,
		"@dayscount", COUNTROWS(FILTER(
			_datatable,
			data[employee] = EARLIER(data[employee])
		))
	)
	VAR _result = ADDCOLUMNS(
		_dayscount,
		"@sickness_hours_per_day", DIVIDE(
			data[sickness_hours],
			[@dayscount]
		)
	)

	RETURN
		SUMMARIZE(
			_result,
			data[employee],
			data[sickness_start_date],
			data[sickness_end_date],
			[Date],
			[@weekday],
			[@sickness_hours_per_day]
		)

If this post helps, then please consider accepting it as the solution to help other members find it faster, and give a big thumbs up.


Click here to visit my LinkedIn page

Click here to schedule a short Teams meeting to discuss your question.

View solution in original post

1 REPLY 1
Jihwan_Kim
Super User
Super User

Hi,

I am not sure if I understood your question correctly, but I tried to create a sample pbix file like below.

Please check the below picture and the attached pbix file.

It is for creating a new table.

 

Jihwan_Kim_0-1716259873528.png

 

 

expected result table = 
	VAR _calendar = ADDCOLUMNS(
		CALENDAR(
			DATE(YEAR(MIN(data[sickness_start_date])), 1, 1),
			DATE(YEAR(MAX(data[sickness_end_date])), 12, 31)
		),
		"@weekday", FORMAT(
			[Date],
			"ddd"
		)
	)
	VAR _excludeweekend = FILTER(
		_calendar,
		NOT [@weekday] IN {
			"Sat",
			"Sun"
		}
	)
	VAR _datatable = GENERATE(
		data,
		FILTER(
			_excludeweekend,
			[Date] >= data[sickness_start_date] && [Date] <= data[sickness_end_date]
		)
	)
	VAR _dayscount = ADDCOLUMNS(
		_datatable,
		"@dayscount", COUNTROWS(FILTER(
			_datatable,
			data[employee] = EARLIER(data[employee])
		))
	)
	VAR _result = ADDCOLUMNS(
		_dayscount,
		"@sickness_hours_per_day", DIVIDE(
			data[sickness_hours],
			[@dayscount]
		)
	)

	RETURN
		SUMMARIZE(
			_result,
			data[employee],
			data[sickness_start_date],
			data[sickness_end_date],
			[Date],
			[@weekday],
			[@sickness_hours_per_day]
		)

If this post helps, then please consider accepting it as the solution to help other members find it faster, and give a big thumbs up.


Click here to visit my LinkedIn page

Click here to schedule a short Teams meeting to discuss your question.

Helpful resources

Announcements
July 2025 community update carousel

Fabric Community Update - July 2025

Find out what's new and trending in the Fabric community.

July PBI25 Carousel

Power BI Monthly Update - July 2025

Check out the July 2025 Power BI update to learn about new features.