SSRS_COST_CENTRE

The shared datasets used in reports
Post Reply
User avatar
robinwilson16
Site Admin
Posts: 185
Joined: Sun Oct 16, 2016 6:46 pm
Forename: Robin
Surname: Wilson
College Name: FEA
Position: MIS Consultant
LinkedIn Profile: https://www.linkedin.com/in/robinwilson16

SSRS_COST_CENTRE

Post by robinwilson16 » Mon Feb 20, 2017 6:03 pm

Lists cost centres:

Code: Select all

CREATE FUNCTION [dbo].[SSRS_COST_CENTRE] (
	@Session VARCHAR(7),
	@Fac VARCHAR(4),
	@Team VARCHAR(20)
)
RETURNS TABLE
AS
RETURN


--DECLARE @Session VARCHAR(7) = '2015-16'
--DECLARE @Fac VARCHAR(4) = 'CNEB'
--DECLARE @Team VARCHAR(4) = 'BISM'

SELECT
	Code = RIGHT ( TEAM.s_reference, LEN ( TEAM.s_reference ) - CHARINDEX ( '-', TEAM.s_reference ) ),
	Description = FAC.d_reference + ' - ' + LEFT ( TEAM.s_reference, CHARINDEX ( '-', TEAM.s_reference ) - 1 ) + ' - ' + RIGHT ( TEAM.s_reference, LEN ( TEAM.s_reference ) - CHARINDEX ( '-', TEAM.s_reference ) ) + ' - ' + TEAM.s_name
FROM ulive.dbo.capd_section TEAM
INNER JOIN ulive.dbo.capd_department FAC
	ON FAC.d_id = TEAM.s_department
INNER JOIN (
	SELECT DISTINCT
		TeamID = PRG.m_modulesection
	FROM ulive.dbo.capd_module PRG
	INNER JOIN ulive.dbo.capd_department FAC
		ON FAC.d_id = PRG.m_moduledept
	INNER JOIN ulive.dbo.capd_section TEAM
		ON TEAM.s_id = PRG.m_modulesection
	WHERE
		PRG.m_start <= LEFT ( @Session, 2 ) + RIGHT ( @Session, 2 ) + '-07-31'
		AND PRG.m_end >= LEFT ( @Session, 4 ) + '-08-01'​​
		AND PRG.m_type = 'P'
		AND PRG.m_status IN ( 'R', 'P' )
		AND FAC.d_reference = COALESCE ( @Fac, FAC.d_reference )
		AND LEFT ( TEAM.s_reference, CHARINDEX ( '-', TEAM.s_reference ) - 1 ) = COALESCE ( @Team, LEFT ( TEAM.s_reference, CHARINDEX ( '-', TEAM.s_reference ) - 1 ) )
) CRS ON CRS.TeamID = TEAM.s_id
WHERE
	COALESCE ( FAC.d_start, LEFT ( @Session, 2 ) + RIGHT ( @Session, 2 ) + '-07-31' ) <= LEFT ( @Session, 2 ) + RIGHT ( @Session, 2 ) + '-07-31'
	AND COALESCE ( FAC.d_end, LEFT ( @Session, 4 ) + '-08-01'​​ ) >= LEFT ( @Session, 4 ) + '-08-01'​​
	AND COALESCE ( TEAM.s_start, LEFT ( @Session, 2 ) + RIGHT ( @Session, 2 ) + '-07-31' ) <= LEFT ( @Session, 2 ) + RIGHT ( @Session, 2 ) + '-07-31'
	AND COALESCE ( TEAM.s_end, LEFT ( @Session, 4 ) + '-08-01'​​ ) >= LEFT ( @Session, 4 ) + '-08-01'​​
UNION ALL
SELECT
	Code = NULL,
	Description = '-- All Cost Centres --'
Attachments
SSRS_COST_CENTRE.rsd
(1.53 KiB) Downloaded 112 times

Post Reply

Who is online

Users browsing this forum: No registered users and 2 guests