This discussion has been locked. The information referenced herein may be inaccurate due to age, software updates, or external references.
You can no longer post new replies to this discussion. If you have a similar question you can start a new discussion in this forum.

Application Availabilty by Group Membership View Report

Good Afternoon All,

I received a request for an application availability report by Group Membership - this month.

Individually, I can run canned application availability and group membership reports but neither is enough so the only way is through Advanced SQL.

I'm hitting a wall because I think that I'm attempting to chain join views from the database but I don't know their respective columns and further more I'm not sure whether it'll be an inner or outer join.

I've reviewed this -

And it gets me closer but not really where I need to be.

Can anyone help with this?

I've gotten to here (But admittedly I'm way out of practice with my SQL):

SELECT

   SummaryMonth,

   NodeName,

   Application_Name,

   AVERAGE_of_ApplicationAvailability, 

   Cast(Application_Group As nvarchar(250)) as Application_Group From ( SELECT  TOP 10000 CONVERT(DateTime, LTRIM(MONTH(DateTime)) + '/01/' + LTRIM(YEAR(DateTime)), 101) AS SummaryMonth,

   Nodes.Caption AS NodeName,

   APM_AlertsAndReportsData.ApplicationName AS Application_Name,

   AVG(APM_DailyApplicationAvailability.PercentAvailability) AS AVERAGE_of_ApplicationAvailability,

   Nodes.Application_Group AS Application_Group,

   Containers_AlertsAndReportsData.GroupMemberName AS Group_Member_Name,

   Containers_AlertsAndReportsData.GroupName AS Group_Name

FROM

   (Nodes INNER JOIN APM_AlertsAndReportsData ON (Nodes.NodeID = APM_AlertsAndReportsData.NodeId)) 

INNER JOIN

   (APM_DailyApplicationAvailability ON (APM_AlertsAndReportsData.ApplicationId = APM_DailyApplicationAvailability.ApplicationID))

INNER JOIN

   (Containers_AlertsAndReportsData.GroupMemberName ON (Group_Member_Name = Containers_AlertsAndReportsData.GroupMemberName))

WHERE

   ( DateTime BETWEEN 41242 AND 41260 )

    AND 

   (

   (Nodes.UnManaged = 0) AND

   (Nodes.Admin_Owner = 'Server')

   )

GROUP BY

   CONVERT

      (DateTime, LTRIM(MONTH(DateTime)) + '/01/' + LTRIM(YEAR(DateTime)), 101),

      Nodes.Caption, APM_AlertsAndReportsData.ApplicationName, Nodes.Application_Group

) As r ORDER BY Conainers_AlertsAndReportsData.GroupName 1 ASC, 2 ASC

Thanks!

  • You're missing the join between Container_AlertsAndReports.GroupName and Nodes.Caption. I don't see any other way to make the association given that members of groups don't necessarily have to be nodes and that GroupName is about as close as you're going to get. I'm booked this week but I'll tinker with this a bit when I've got some downtime.

    Have you made any more progress since your posting?