Skip to content
David Kittell
David Kittell

Application & System: Development / Integration / Orchestration

  • Services
    • Application Development
    • Online Application Integration
  • Code
  • Online Tools
  • Tech Support
David Kittell

Application & System: Development / Integration / Orchestration

Ektron Metrics Script

Posted on September 10, 2013October 26, 2015 By David Kittell

This is a compilation of some of the scripts on this site to get numbers to report to management

SET NOCOUNT ON

DECLARE @month INT
	,@year INT
	,@start_date DATETIME
	,@end_date DATETIME

BEGIN /* Set start and end dates to last month range */
	SET @month = (
			SELECT CASE
					WHEN MONTH(GETDATE()) = '1'
						THEN '12'
					ELSE MONTH(GETDATE()) - 1
					END
			)
	--SELECT @month AS Month_To_Report
	SET @year = (
			SELECT CASE
					WHEN MONTH(GETDATE()) = '1'
						THEN YEAR(GETDATE()) - 1
					ELSE YEAR(GETDATE())
					END
			)
	--SELECT @YEAR AS Year_To_Report
	SET @start_date = CAST(CAST(@month AS VARCHAR) + '/01/' + CAST(@year AS VARCHAR) AS DATETIME)
	-- @start_date AS Start_Date
	SET @end_date = (
			SELECT DATEADD(s, - 1, DATEADD(mm, DATEDIFF(m, 0, @start_date) + 1, 0))
			)
	--SELECT @end_date AS End_Date
	SET @start_date = '03/01/2014'
	SET @end_date = '03/31/2014'
END /* Set start and end dates to last month range */

BEGIN /* Show Date Range */
	SELECT (CONVERT(VARCHAR(8), @start_date, 1) + ' - ' + CONVERT(VARCHAR(8), @end_date, 1)) AS 'Date Range'
END /* Show Date Range */

BEGIN /* Account Registrations */
	SELECT COUNT(*) AS 'Account Registrations'
	FROM users u
	WHERE (
			u.[date_created] >= @start_date
			OR u.[date_created] IS NULL
			)
		AND (
			u.[date_created] <= @end_date
			OR u.[date_created] IS NULL
			)
		AND u.[user_deleted] = 0
END /* Account Registrations */

BEGIN /* Total User Count */
	SELECT COUNT(*) AS TotalUserCount
	FROM user_to_group_tbl utgt1
	INNER JOIN users u ON u.user_id = utgt1.user_id
	WHERE (
			u.date_created <= @end_date
			OR u.date_created IS NULL
			)
END /* Total User Count */

BEGIN /* Account Status - Active */
	SELECT COUNT(*) AS "Account Status - Active"
	FROM user_to_group_tbl utgt1
	INNER JOIN users u ON u.user_id = utgt1.user_id
	WHERE (
			u.date_created <= @end_date
			OR u.date_created IS NULL
			)
		AND u.[user_deleted] = 0
END /* Account Status - Active */

BEGIN /* Account Login Status <= 120 Days */
	SELECT COUNT(*) AS "Login Status - <= 120"
	FROM user_to_group_tbl utgt1
	INNER JOIN users u ON u.user_id = utgt1.user_id
	WHERE (
			u.date_created <= @end_date
			OR u.date_created IS NULL
			)
		AND u.[user_deleted] = 0
		AND convert(VARCHAR, LAST_LOGIN_DATE, 112) <= GETDATE() - 120
END /* Account Login Status <= 120 Days */

BEGIN /* Account Login Status <= 90 Days*/
	SELECT COUNT(*) AS "Login Status - <= 90"
	FROM user_to_group_tbl utgt1
	INNER JOIN users u ON u.user_id = utgt1.user_id
	WHERE (
			u.date_created <= @end_date
			OR u.date_created IS NULL
			)
		AND u.[user_deleted] = 0
		AND convert(VARCHAR, LAST_LOGIN_DATE, 112) <= GETDATE() - 90
END /* Account Login Status <= 90 Days*/

BEGIN /* Account Login Status <= 30 Days */
	SELECT COUNT(*) AS "Login Status - <= 30"
	FROM user_to_group_tbl utgt1
	INNER JOIN users u ON u.user_id = utgt1.user_id
	WHERE (
			u.date_created <= @end_date
			OR u.date_created IS NULL
			)
		AND u.[user_deleted] = 0
		AND convert(VARCHAR, LAST_LOGIN_DATE, 112) <= GETDATE() - 30
END /* Account Login Status <= 30 Days */

BEGIN /* User Group - User Details */
	SELECT DISTINCT ug.usergroup_name AS "Ektron User Group"
		,(
			SELECT COUNT(*)
			FROM user_to_group_tbl utgt1
			INNER JOIN usergroups ON utgt.usergroup_id = usergroups.usergroup_id
			INNER JOIN users u ON u.user_id = utgt1.user_id
			WHERE utgt.usergroup_id = utgt1.usergroup_id
				AND (
					u.date_created <= @end_date
					OR u.date_created IS NULL
					)
			) AS "Total Users"
		,(
			SELECT COUNT(*)
			FROM user_to_group_tbl utgt1
			INNER JOIN usergroups ON utgt.usergroup_id = usergroups.usergroup_id
			INNER JOIN users u ON u.user_id = utgt1.user_id
			WHERE utgt.usergroup_id = utgt1.usergroup_id
				AND (
					u.date_created <= @end_date
					OR u.date_created IS NULL
					)
				AND u.[user_deleted] = 0
			) AS "Account Status - Active"
		,(
			SELECT COUNT(*)
			FROM user_to_group_tbl utgt1
			INNER JOIN usergroups ON utgt.usergroup_id = usergroups.usergroup_id
			INNER JOIN users u ON u.user_id = utgt1.user_id
			WHERE utgt.usergroup_id = utgt1.usergroup_id
				AND (
					u.date_created >= @start_date
					OR u.date_created IS NULL
					)
				AND (
					u.date_created <= @end_date
					OR u.date_created IS NULL
					)
				AND u.[user_deleted] = 0
			) AS "Registered Witin The Month"
		,(
			SELECT COUNT(*)
			FROM user_to_group_tbl utgt1
			INNER JOIN usergroups ON utgt.usergroup_id = usergroups.usergroup_id
			INNER JOIN users u ON u.user_id = utgt1.user_id
			WHERE utgt.usergroup_id = utgt1.usergroup_id
				AND (
					u.date_created <= @end_date
					OR u.date_created IS NULL
					)
				AND u.[user_deleted] = 0
				AND convert(VARCHAR, LAST_LOGIN_DATE, 112) <= GETDATE() - 120
			) AS "Login Status - <= 120"
		,(
			SELECT COUNT(*)
			FROM user_to_group_tbl utgt1
			INNER JOIN usergroups ON utgt.usergroup_id = usergroups.usergroup_id
			INNER JOIN users u ON u.user_id = utgt1.user_id
			WHERE utgt.usergroup_id = utgt1.usergroup_id
				AND (
					u.date_created <= @end_date
					OR u.date_created IS NULL
					)
				AND u.[user_deleted] = 0
				AND convert(VARCHAR, LAST_LOGIN_DATE, 112) <= GETDATE() - 90
			) AS "Login Status - <= 90"
		,(
			SELECT COUNT(*)
			FROM user_to_group_tbl utgt1
			INNER JOIN usergroups ON utgt.usergroup_id = usergroups.usergroup_id
			INNER JOIN users u ON u.user_id = utgt1.user_id
			WHERE utgt.usergroup_id = utgt1.usergroup_id
				AND (
					u.date_created <= @end_date
					OR u.date_created IS NULL
					)
				AND u.[user_deleted] = 0
				AND convert(VARCHAR, LAST_LOGIN_DATE, 112) <= GETDATE() - 30
			) AS "Login Status - <= 30"
	FROM user_to_group_tbl utgt
	INNER JOIN usergroups ug ON utgt.usergroup_id = ug.usergroup_id
	ORDER BY "Ektron User Group"
END /* User Group - User Details */

BEGIN /* # Of Templates */
	SELECT COUNT(*) AS "# Of Templates"
	FROM templates_tbl
END /* # Of Templates */

BEGIN /* Template Usage */
	SELECT DISTINCT template_id AS "Template ID"
		,count(*) AS "Usage"
	FROM content
	GROUP BY template_id
	ORDER BY "Template ID"
END /* Template Usage */

BEGIN /* Total Content Items */
	SELECT count(*) AS "Total Content Items"
	FROM content
	WHERE [date_created] <= @end_date
END /* Total Content Items */

BEGIN /* Total Content Items By Type */
	SELECT CASE content_type
			WHEN - 1
				THEN CAST(content_type AS VARCHAR(5)) + ' - AllTypes'
			WHEN 1
				THEN CAST(content_type AS VARCHAR(5)) + ' - Content'
			WHEN 2
				THEN CAST(content_type AS VARCHAR(5)) + ' - Forms'
			WHEN 3
				THEN CAST(content_type AS VARCHAR(5)) + ' - Archive Content'
			WHEN 4
				THEN CAST(content_type AS VARCHAR(5)) + ' - Archive Forms'
			WHEN 7
				THEN CAST(content_type AS VARCHAR(5)) + ' - Library Item'
			WHEN 8
				THEN CAST(content_type AS VARCHAR(5)) + ' - Assets'
			WHEN 9
				THEN CAST(content_type AS VARCHAR(5)) + ' - Archive Assets'
			WHEN 12
				THEN CAST(content_type AS VARCHAR(5)) + ' - Archive Media'
			WHEN 99
				THEN CAST(content_type AS VARCHAR(5)) + ' - Non Library Content'
			WHEN 101
				THEN CAST(content_type AS VARCHAR(5)) + ' - Assets'
			WHEN 102
				THEN CAST(content_type AS VARCHAR(5)) + ' - Assets'
			WHEN 103
				THEN CAST(content_type AS VARCHAR(5)) + ' - Assets'
			WHEN 104
				THEN CAST(content_type AS VARCHAR(5)) + ' - Multimedia'
			WHEN 1111
				THEN CAST(content_type AS VARCHAR(5)) + ' - Discussion Topic'
			WHEN 3333
				THEN CAST(content_type AS VARCHAR(5)) + ' - Catalog Entry'
			END AS 'Content Type'
		,COUNT(*) AS 'Total Content Written'
	FROM content c
	WHERE [date_created] <= @end_date
	GROUP BY c.content_type
	ORDER BY 'Content Type'
END /* Total Content Items By Type */

BEGIN /* Total Content Items By Type And Status */
	SELECT CASE content_type
			WHEN - 1
				THEN CAST(content_type AS VARCHAR(5)) + ' - AllTypes'
			WHEN 1
				THEN CAST(content_type AS VARCHAR(5)) + ' - Content'
			WHEN 2
				THEN CAST(content_type AS VARCHAR(5)) + ' - Forms'
			WHEN 3
				THEN CAST(content_type AS VARCHAR(5)) + ' - Archive Content'
			WHEN 4
				THEN CAST(content_type AS VARCHAR(5)) + ' - Archive Forms'
			WHEN 7
				THEN CAST(content_type AS VARCHAR(5)) + ' - Library Item'
			WHEN 8
				THEN CAST(content_type AS VARCHAR(5)) + ' - Assets'
			WHEN 9
				THEN CAST(content_type AS VARCHAR(5)) + ' - Archive Assets'
			WHEN 12
				THEN CAST(content_type AS VARCHAR(5)) + ' - Archive Media'
			WHEN 99
				THEN CAST(content_type AS VARCHAR(5)) + ' - Non Library Content'
			WHEN 101
				THEN CAST(content_type AS VARCHAR(5)) + ' - Assets'
			WHEN 102
				THEN CAST(content_type AS VARCHAR(5)) + ' - Assets'
			WHEN 103
				THEN CAST(content_type AS VARCHAR(5)) + ' - Assets'
			WHEN 104
				THEN CAST(content_type AS VARCHAR(5)) + ' - Multimedia'
			WHEN 1111
				THEN CAST(content_type AS VARCHAR(5)) + ' - Discussion Topic'
			WHEN 3333
				THEN CAST(content_type AS VARCHAR(5)) + ' - Catalog Entry'
			END AS 'Content Type'
		,CASE
			WHEN [content_status] = 'A'
				THEN 'Approved'
			WHEN [content_status] = 'O'
				THEN 'Checked Out'
			WHEN [content_status] = 'I'
				THEN 'Checked In'
			WHEN [content_status] = 'S'
				THEN 'Submitted for Approval'
			WHEN [content_status] = 'M'
				THEN 'Marked for Deletion'
			WHEN [content_status] = 'P'
				THEN 'Pending Go Live Date'
			WHEN [content_status] = 'T'
				THEN 'Awaiting Completion of Associated Tasks'
			WHEN [content_status] = 'D'
				THEN 'Pending Deletion'
			END AS ContentStatus
		,COUNT(*) AS 'Total Content Written'
	FROM content c
	GROUP BY c.content_type
		,c.content_status
	ORDER BY 'Content Type'
		,ContentStatus
END /* Total Content Items By Type And Status */

BEGIN /* Total Content Items By Type And Author */
	SELECT c.user_id AS 'Content Author ID'
		,(first_name + ' ' + last_name) AS 'Content Author'
		--,c.content_type AS 'Content Type'
		,CASE content_type
			WHEN - 1
				THEN CAST(content_type AS VARCHAR(5)) + ' - AllTypes'
			WHEN 1
				THEN CAST(content_type AS VARCHAR(5)) + ' - Content'
			WHEN 2
				THEN CAST(content_type AS VARCHAR(5)) + ' - Forms'
			WHEN 3
				THEN CAST(content_type AS VARCHAR(5)) + ' - Archive Content'
			WHEN 4
				THEN CAST(content_type AS VARCHAR(5)) + ' - Archive Forms'
			WHEN 7
				THEN CAST(content_type AS VARCHAR(5)) + ' - Library Item'
			WHEN 8
				THEN CAST(content_type AS VARCHAR(5)) + ' - Assets'
			WHEN 9
				THEN CAST(content_type AS VARCHAR(5)) + ' - Archive Assets'
			WHEN 12
				THEN CAST(content_type AS VARCHAR(5)) + ' - Archive Media'
			WHEN 99
				THEN CAST(content_type AS VARCHAR(5)) + ' - Non Library Content'
			WHEN 101
				THEN CAST(content_type AS VARCHAR(5)) + ' - Assets'
			WHEN 102
				THEN CAST(content_type AS VARCHAR(5)) + ' - Assets'
			WHEN 103
				THEN CAST(content_type AS VARCHAR(5)) + ' - Assets'
			WHEN 104
				THEN CAST(content_type AS VARCHAR(5)) + ' - Multimedia'
			WHEN 1111
				THEN CAST(content_type AS VARCHAR(5)) + ' - Discussion Topic'
			WHEN 3333
				THEN CAST(content_type AS VARCHAR(5)) + ' - Catalog Entry'
			END AS 'Content Type'
		,COUNT(*) AS 'Total Content Written'
	FROM content c
	INNER JOIN users u ON u.user_id = c.user_id
	WHERE c.[date_created] <= @end_date
	GROUP BY c.content_type
		,c.user_id
		,u.first_name
		,u.last_name
	ORDER BY 'Content Author'
		,'Content Author ID'
END /* Total Content Items By Type And Author */

BEGIN /* Total Content Items By Status */
	SELECT CASE
			WHEN [content_status] = 'A'
				THEN 'Approved'
			WHEN [content_status] = 'O'
				THEN 'Checked Out'
			WHEN [content_status] = 'I'
				THEN 'Checked In'
			WHEN [content_status] = 'S'
				THEN 'Submitted for Approval'
			WHEN [content_status] = 'M'
				THEN 'Marked for Deletion'
			WHEN [content_status] = 'P'
				THEN 'Pending Go Live Date'
			WHEN [content_status] = 'T'
				THEN 'Awaiting Completion of Associated Tasks'
			WHEN [content_status] = 'D'
				THEN 'Pending Deletion'
			END AS ContentStatus
		,COUNT([content_status]) AS Total
	FROM [content] c
	WHERE c.[date_created] <= @end_date
	GROUP BY [content_status]
	ORDER BY ContentStatus
END /* Total Content Items By Status */

BEGIN /* Total File Items By File Type and Status */
	SELECT (
			CASE
				WHEN handle LIKE '%.%'
					THEN reverse(left(reverse(handle), charindex('.', reverse(handle)) - 1))
				ELSE ''
				END
			) AS FileType
		,CASE
			WHEN [content_status] = 'A'
				THEN 'Approved'
			WHEN [content_status] = 'O'
				THEN 'Checked Out'
			WHEN [content_status] = 'I'
				THEN 'Checked In'
			WHEN [content_status] = 'S'
				THEN 'Submitted for Approval'
			WHEN [content_status] = 'M'
				THEN 'Marked for Deletion'
			WHEN [content_status] = 'P'
				THEN 'Pending Go Live Date'
			WHEN [content_status] = 'T'
				THEN 'Awaiting Completion of Associated Tasks'
			WHEN [content_status] = 'D'
				THEN 'Pending Deletion'
			END AS ContentStatus
		,COUNT(*) AS 'Total Assets'
	FROM AssetDataTable
	INNER JOIN content c ON c.asset_id = AssetDataTable.id
	GROUP BY (
			CASE
				WHEN handle LIKE '%.%'
					THEN reverse(left(reverse(handle), charindex('.', reverse(handle)) - 1))
				ELSE ''
				END
			)
		,[content_status]
	ORDER BY FileType
		,ContentStatus
END /* Total File Items By File Type and Status */
Originally Posted on September 10, 2013
Last Updated on October 26, 2015
All information on this site is shared with the intention to help. Before any source code or program is ran on a production (non-development) system it is suggested you test it and fully understand what it is doing not just what it appears it is doing. I accept no responsibility for any damage you may do with this code.

Related

Code Ektron MSSQL MSSQL - Ektron MSSQL - Ektron 8.0.2 SQL

Post navigation

Previous post
Next post

Related Posts

Bash – Mass NSlookup

Posted on July 19, 2018

When you are moving from one server public IP to another you could use some help knowing things are changed. This bash script will do an NSLookup on various DNS servers. #!/bin/sh # Digkittell.net.sh # # # Created by David Kittell on 1/6/18. # netDomain="kittell.net" dnsServerList="68.94.156.132|10.40.20.1|8.8.8.8|192.168.10.21|192.168.10.20|10.40.20.6|208.67.220.220|9.9.9.9|209.18.47.61|4.2.2.2|168.63.129.16|172.26.38.1" clear echo "AT&T DNS…

Read More

Delete Duplicate Rows

Posted on April 29, 2013October 26, 2015

CREATE TABLE DuplicateRcordTable (Col1 INT, Col2 INT) INSERT INTO DuplicateRcordTable SELECT 1, 1 UNION ALL SELECT 1, 1 –duplicate UNION ALL SELECT 1, 1 –duplicate UNION ALL SELECT 1, 2 UNION ALL SELECT 1, 2 –duplicate UNION ALL SELECT 1, 3 UNION ALL SELECT 1, 4 GO SELECT * FROM…

Read More

Red Hat – LFTP File Upload

Posted on September 26, 2018

#!/bin/sh # LFTP.sh # # Created by David Kittell on 9/26/2018. # if ! rpm -qa | grep -qw lftp; then echo "Installing lftp" yum install lftp -y else echo "lftp is already installed" fi # lftp profile creation example lftp -c "bookmark add SiteName ftp://user:password@sitename.com/path" #lftp -c "bookmark add…

Read More

Code

Top Posts & Pages

  • PowerShell - Rename Pictures to Image Taken
  • Front Page
  • C# - Start/Stop/Restart Services
  • MacPorts / HomeBrew - Rip CD tracks from terminal
  • PowerShell - Show File Extensions

Recent Posts

  • Javascript – Digital Clock with Style
  • BASH – Web Ping Log
  • BASH – Picture / Video File Name Manipulation
  • Mac OSX Terminal – Create SSH Key
  • Bash – Rename Picture

Top Posts

  • PowerShell - Rename Pictures to Image Taken
  • C# - Start/Stop/Restart Services
  • MacPorts / HomeBrew - Rip CD tracks from terminal
  • PowerShell - Show File Extensions
  • SQLite - Auto-Increment / Auto Generate GUID
©2025 David Kittell | WordPress Theme by SuperbThemes