From 3631b7fafdc466a4d4159897340bed1154783fcd Mon Sep 17 00:00:00 2001 From: Sergio Fonseca Date: Wed, 4 Oct 2017 15:28:52 +0100 Subject: [PATCH] Add new Policy Dashboard Filtered to filter per server or per database --- .gitignore | 3 + .../5.0/2Reporting/PolicyReports/PolicyDW.rds | 2 +- .../PolicyReports/PolicyDashboard.rdl | 51 +- .../PolicyReports/PolicyDashboardFiltered.rdl | 3465 +++++++++++++++++ .../PolicyReports/PolicyReports.rptproj | 6 +- 5 files changed, 3524 insertions(+), 3 deletions(-) create mode 100644 samples/features/epm-framework/5.0/2Reporting/PolicyReports/PolicyDashboardFiltered.rdl diff --git a/.gitignore b/.gitignore index 5b0d177b..3538dcaa 100644 --- a/.gitignore +++ b/.gitignore @@ -76,3 +76,6 @@ samples/databases/wide-world-importers/workload-drivers/order-insert/Multithread /samples/features/epm-framework/5.0/2Reporting/PolicyReports/PolicyEvaluationDetails.rdl.data /samples/features/epm-framework/5.0/2Reporting/PolicyReports/PolicyDetails.rdl.data /samples/features/epm-framework/5.0/2Reporting/PolicyReports/PolicyDashboard.rdl.data +/samples/features/epm-framework/5.0/2Reporting/PolicyReports/bin/Debug +/samples/features/epm-framework/5.0/2Reporting/PolicyReports/PolicyDashboard - Backup.rdl +/samples/features/epm-framework/5.0/2Reporting/PolicyReports/PolicyDashboardFiltered.rdl.data diff --git a/samples/features/epm-framework/5.0/2Reporting/PolicyReports/PolicyDW.rds b/samples/features/epm-framework/5.0/2Reporting/PolicyReports/PolicyDW.rds index 75ad7949..26417478 100644 --- a/samples/features/epm-framework/5.0/2Reporting/PolicyReports/PolicyDW.rds +++ b/samples/features/epm-framework/5.0/2Reporting/PolicyReports/PolicyDW.rds @@ -2,7 +2,7 @@ SQL - Data Source=localhost;Initial Catalog=MDW + Data Source=localhost;Initial Catalog=EPM true be53e7b6-9fc8-452b-ac5e-151bec780bf7 diff --git a/samples/features/epm-framework/5.0/2Reporting/PolicyReports/PolicyDashboard.rdl b/samples/features/epm-framework/5.0/2Reporting/PolicyReports/PolicyDashboard.rdl index 7becb2c0..6f88fc78 100644 --- a/samples/features/epm-framework/5.0/2Reporting/PolicyReports/PolicyDashboard.rdl +++ b/samples/features/epm-framework/5.0/2Reporting/PolicyReports/PolicyDashboard.rdl @@ -1,5 +1,5 @@  - + Overview of current state of enterprise SQL Server instances. Launch detail reports through defined actions in the report. 0 @@ -844,6 +844,9 @@ Sum(IIF(Fields!PolicyResult.Value="FAIL", 1, 0))/COUNT(Fields!PolicyResult.Value ThreeSigns + 2pt 54 @@ -1339,6 +1342,9 @@ Sum(IIF(Fields!PolicyResult.Value="FAIL", 1, 0))/COUNT(Fields!PolicyResult.Value ThreeSigns + 2pt 54 @@ -3280,6 +3286,49 @@ Count(Fields!ErrorHistoryID.Value, "Evaluation_Errors") = 0, "Black") true + + + 5 + 2 + + + 0 + 0 + ServerGroupName + + + 4 + 0 + CategoryName + + + 0 + 1 + DateMonth + + + 1 + 1 + PolicyResult + + + 2 + 1 + PolicyThresholdWarning + + + 3 + 1 + PolicyThresholdCaution + + + 4 + 1 + EvaluatedPolicy + + + + Inch http://localhost/ReportServer 6c2f485d-f3eb-401c-a53b-94c2eaba3d98 diff --git a/samples/features/epm-framework/5.0/2Reporting/PolicyReports/PolicyDashboardFiltered.rdl b/samples/features/epm-framework/5.0/2Reporting/PolicyReports/PolicyDashboardFiltered.rdl new file mode 100644 index 00000000..daecf3c9 --- /dev/null +++ b/samples/features/epm-framework/5.0/2Reporting/PolicyReports/PolicyDashboardFiltered.rdl @@ -0,0 +1,3465 @@ + + + Overview of current state of enterprise SQL Server instances. Launch detail reports through defined actions in the report. + 0 + + + PolicyDW + None + 9d3c6ede-25bb-4220-87c8-3455b1167deb + + + + + + PolicyDW + + + =Parameters!CategoryName.Value + + + =Parameters!EvaluatedPolicy.Value + + + =Parameters!ServerName.Value + + + =Parameters!Object.Value + + + SELECT + * + ,SUBSTRING (AggEvaluatedObject, 0, CHARINDEX('\',AggEvaluatedObject)) AggEvaluatedObject_First +FROM +( + SELECT + EvaluatedServer + , EvaluationDateTime + , EvaluatedPolicy + , EvaluatedObject + , CASE WHEN EvaluatedObject LIKE '%Databases\%\' THEN RIGHT(EvaluatedObject, CHARINDEX('\sesabataD',REVERSE(EvaluatedObject))-1) + WHEN EvaluatedObject LIKE '%Databases\%' THEN RIGHT(EvaluatedObject, CHARINDEX('\sesabataD',REVERSE(EvaluatedObject))-1) + '\' + WHEN EvaluatedObject = 'No Targets Found' THEN EvaluatedObject + '\' + ELSE RIGHT(EvaluatedObject, CHARINDEX('\',REVERSE(EvaluatedObject))-1) + '\' END AS AggEvaluatedObject + , PolicyResult + , policy_id + , CategoryName + , MonthYear + , CASE WHEN PolicyResult = 'Fail' THEN 1 ELSE 0 END AS FailedPolicyCount + FROM policy.v_PolicyHistory_LastEvaluation + WHERE CategoryName IN (@CategoryName) + AND EvaluatedPolicy IN (@EvaluatedPolicy) + AND EvaluatedServer IN (@ServerName) + AND EvaluatedPolicy NOT IN (SELECT spp.name + FROM msdb..syspolicy_policies spp + INNER JOIN msdb..syspolicy_policy_categories spc ON spp.policy_category_id = spc.policy_category_id + WHERE spc.name = 'Disabled') +) A +WHERE SUBSTRING (AggEvaluatedObject, 0, CHARINDEX('\',AggEvaluatedObject)) IN (@Object) +ORDER BY PolicyResult, EvaluatedServer + + + + EvaluatedServer + System.String + + + EvaluationDateTime + System.DateTime + + + EvaluatedPolicy + System.String + + + EvaluatedObject + System.String + + + AggEvaluatedObject + System.String + + + PolicyResult + System.String + + + policy_id + System.Int32 + + + CategoryName + System.String + + + MonthYear + System.String + + + FailedPolicyCount + System.Int32 + + + AggEvaluatedObject_First + System.String + + + =IIF(Fields!CategoryName.Value LIKE "*:*", Right(Fields!CategoryName.Value, (Len(Fields!CategoryName.Value) - InStrRev(Fields!CategoryName.Value,":") - 1)), Fields!CategoryName.Value) + + + + + + PolicyDW + SELECT DISTINCT CategoryName +FROM policy.v_PolicyHistory + true + + + + CategoryName + System.String + + + =IIF(Fields!CategoryName.Value LIKE "*:*", Right(Fields!CategoryName.Value, (Len(Fields!CategoryName.Value) - InStrRev(Fields!CategoryName.Value,":") - 1)), Fields!CategoryName.Value) + + + + + + PolicyDW + SELECT DISTINCT DATEADD(d,-day(EvaluationDateTime)+1, CAST(EvaluationDateTime AS DATE)) AS MonthStart +, MonthYear +FROM policy.v_PolicyHistory +UNION +SELECT '1900-01-01', 'ALL' +ORDER BY MonthStart DESC + true + + + + MonthYear + System.String + + + MonthStart + System.DateTime + + + + + + PolicyDW + + + =Parameters!CategoryName.Value + + + =Parameters!DateMonth.Value + + + =Parameters!EvaluatedPolicy.Value + + + =Parameters!ServerGroupName.Value + + + SELECT MonthYear + , DATEADD(d,-day(EvaluationDateTime)+1, CAST(EvaluationDateTime AS DATE)) AS MonthStart + , CASE WHEN PolicyResult IN ('Fail') THEN 1 ELSE 0 end AS FailedPolicyCount +FROM policy.v_PolicyHistory +WHERE CategoryName IN (@CategoryName) +AND EvaluatedPolicy IN (@EvaluatedPolicy) +AND (EvaluatedServer IN (SELECT server_name + FROM policy.pfn_ServerGroupInstances(@ServerGroupName)) +OR @ServerGroupName = '') +AND (EvaluationDateTime >= DATEADD(d,-day(DateAdd(Month, -6, @DateMonth))+1, CAST(DateAdd(Month, -6, @DateMonth) AS DATE)) +AND EvaluationDateTime < DATEADD(s,-1,DATEADD(mm, DATEDIFF(m,0,@DateMonth)+1,0)) +OR (EvaluationDateTime >= DATEADD(d,-day(DateAdd(Month, -6, GETDATE()))+1, CAST(DateAdd(Month, -6, GETDATE()) AS DATE)) +AND @DateMonth = '1900-01-01')) + true + + + + FailedPolicyCount + System.Int32 + + + MonthStart + System.DateTime + + + MonthYear + System.String + + + + + + PolicyDW + + + =Parameters!EvaluatedPolicy.Value + true + + + =Parameters!CategoryName.Value + + + =Parameters!ServerGroupName.Value + + + SELECT CASE + WHEN EXISTS + (SELECT * + FROM policy.v_PolicyHistory_LastEvaluation iple + WHERE iple.EvaluatedServer = ple.EvaluatedServer + AND iple.CategoryName IN (@CategoryName) + AND iple.EvaluatedPolicy IN (@EvaluatedPolicy) + AND iple.PolicyResult = 'FAIL') + THEN 'Out of Compliance' + WHEN EXISTS + (SELECT * + FROM policy.v_PolicyHistory_LastEvaluation iple + WHERE iple.EvaluatedServer = ple.EvaluatedServer + AND iple.CategoryName IN (@CategoryName) + AND iple.EvaluatedPolicy IN (@EvaluatedPolicy) + AND iple.PolicyResult = 'ERROR') + THEN 'Unknown' + ELSE 'In Compliance' + END AS InstanceStatus + , EvaluatedServer +FROM policy.v_PolicyHistory ple +WHERE (EvaluatedServer IN (SELECT server_name FROM policy.pfn_ServerGroupInstances(@ServerGroupName)) +OR @ServerGroupName = '') +GROUP BY EvaluatedServer + true + + + + InstanceStatus + System.String + + + EvaluatedServer + System.String + + + + + + PolicyDW + + + =Parameters!CategoryName.Value + + + =Parameters!ServerGroupName.Value + + + =Parameters!EvaluatedPolicy.Value + + + SELECT ErrorHistoryID +FROM policy.v_EvaluationErrorHistory_LastEvaluation +WHERE EvaluationOrderDesc = 1 +AND CategoryName IN (@CategoryName) +AND EvaluatedPolicy IN (@EvaluatedPolicy) +AND (EvaluatedServer IN (SELECT server_name FROM policy.pfn_ServerGroupInstances(@ServerGroupName)) +OR @ServerGroupName = '') + true + + + + ErrorHistoryID + System.Int32 + + + + + + PolicyDW + SELECT GroupName, GroupValue +FROM policy.v_ServerGroups +ORDER BY Sort + true + + + + GroupName + System.String + + + GroupValue + System.String + + + + + + PolicyDW + + + =Parameters!CategoryName.Value + + + SELECT DISTINCT EvaluatedPolicy +FROM policy.v_PolicyHistory +WHERE CategoryName IN (@CategoryName) + true + + + + EvaluatedPolicy + System.String + + + + + + PolicyDW + + + =Parameters!ServerGroupName.Value + + + SELECT DISTINCT [EvaluatedServer] +FROM [policy].[PolicyHistoryDetail] +WHERE + (EvaluatedServer COLLATE SQL_Latin1_General_CP1_CI_AI IN (SELECT server_name FROM policy.pfn_ServerGroupInstances(@ServerGroupName)) + OR @ServerGroupName = '') +ORDER BY [EvaluatedServer] + + + + EvaluatedServer + System.String + + + + + + PolicyDW + + + =Parameters!ServerName.Value + + + SELECT DISTINCT + SUBSTRING (AggEvaluatedObject, 0, CHARINDEX('\',AggEvaluatedObject)) AggEvaluatedObject_First +FROM +( + SELECT + CASE + WHEN EvaluatedObject LIKE '%Databases\%\' THEN RIGHT(EvaluatedObject, CHARINDEX('\sesabataD',REVERSE(EvaluatedObject))-1) + WHEN EvaluatedObject LIKE '%Databases\%' THEN RIGHT(EvaluatedObject, CHARINDEX('\sesabataD',REVERSE(EvaluatedObject))-1) + '\' + WHEN EvaluatedObject = 'No Targets Found' THEN EvaluatedObject + '\' + ELSE RIGHT(EvaluatedObject, CHARINDEX('\',REVERSE(EvaluatedObject))-1) + '\' + END AS AggEvaluatedObject + FROM [policy].[PolicyHistoryDetail] + WHERE + EvaluatedServer IN (@ServerName) +) A +ORDER BY AggEvaluatedObject_First + + + + AggEvaluatedObject_First + System.String + + + + + + + + + + + + + 2.84375in + + + 1.83333in + + + 1.29167in + + + + + 0.25in + + + + + true + true + + + + + Last Execution Status + + + + + + + Textbox50 + + + 3 + + + + + + + + 0.2725in + + + + + true + true + + + + + Server/Instance/Database Object + + + + + + + + + + + true + true + + + + + Policy Result + + + + + + + + + + + + + + true + true + + + + + Failed Policies + + + + + + + + + + + + + + 0.21in + + + + + true + true + + + + + =Fields!EvaluatedServer.Value + + + + + + + + + + + + + + + + + Bar + + + + White + DiagonalLeft + =Switch(Sum(IIF(Fields!PolicyResult.Value="FAIL", 1, 0))/COUNT(Fields!PolicyResult.Value) = 0, "Green", +Sum(IIF(Fields!PolicyResult.Value="FAIL", 1, 0))/COUNT(Fields!PolicyResult.Value) >= Parameters!PolicyThresholdWarning.Value, "Red", +Sum(IIF(Fields!PolicyResult.Value="FAIL", 1, 0))/COUNT(Fields!PolicyResult.Value) >= Parameters!PolicyThresholdCaution.Value, "Tomato", +Sum(IIF(Fields!PolicyResult.Value="FAIL", 1, 0))/COUNT(Fields!PolicyResult.Value) < Parameters!PolicyThresholdCaution.Value, "Gold") + None + 1pt + + + =SUM(IIF(Fields!PolicyResult.Value="FAIL", 1, 0))/COUNT(Fields!PolicyResult.Value) + 1 + + + 0pt + 0pt + External + + + 25 + Circle + Cross + 70 + + + + + + + Gray + DiagonalLeft + Salmon + None + 0pt + + None + 0 + + 0 + 1 + + + =Parameters!PolicyThresholdCaution.Value + 1 + + 80 + 80 + Cross + + + + + Silver + DiagonalLeft + Salmon + None + 0pt + + None + 0 + + =Parameters!PolicyThresholdCaution.Value + 1 + + + =Parameters!PolicyThresholdWarning.Value + 1 + + 80 + 80 + Cross + + + + + Gainsboro + DiagonalLeft + Salmon + None + 0pt + + None + 0 + + =Parameters!PolicyThresholdWarning.Value + 1 + + + 1 + 1 + + 80 + 80 + Cross + + + + + #00ffffff + None + White + None + 0pt + + NaN + NaN + + 1 + 1 + + + 0 + 1 + + + NaN + NaN + + + DimGray + + -20 + Cross + + External + + + 5 + 0.5 + + + NaN + NaN + + + DimGray + + Cross + + External + + + 9 + 1 + true + + + + + 0 + + + + WhiteSmoke + + Cross + + External + + + 6 + 6 + Circle + + + + + 0 + + + + WhiteSmoke + + Cross + + External + + + 6 + 6 + Circle + + + + NaN + NaN + 20 + Outside + true + true + true + true + + 0 + + + + + + WhiteSmoke + HorizontalCenter + DarkGray + None + 0pt + + RoundedRectangular + + + + + External + + + + true + + External + + + NaN + 50 + 100 + + + + + + =SUM(IIF(Fields!PolicyResult.Value="FAIL", 1, 0))/COUNT(Fields!PolicyResult.Value) + 1 + NoOutput + + None + Tbl_PolicyHistory + + NaN + 1 + + + NaN + 1 + + None + + External + + + 1 + + + + =Parameters!PolicyThresholdWarning.Value + 1 + + + 1 + 1 + + Red + 1 + ThreeSignsDiamond + + External + + + + + + =Parameters!PolicyThresholdCaution.Value + 1 + + + =Parameters!PolicyThresholdWarning.Value + 1 + + Tomato + 1 + ButtonStop + + External + + + + + + 0.01 + 1 + + + =Parameters!PolicyThresholdCaution.Value + 1 + + Gold + 1 + ThreeSignsTriangle + + External + + + + + + 0 + 1 + NoOutput + + + 0 + 1 + NoOutput + + Green + 1 + Circle + + External + + + + + 0 + + ThreeSigns + + + 2pt + + 54 + 4 + 42 + 92 + + + true + + + + Gainsboro + DiagonalLeft + Gray + None + 0pt + + + + + + External + + + + + External + + + ReportHistory + 9 + + + White + + + + + + + + true + true + + + + + =SUM(IIF(Fields!PolicyResult.Value= "FAIL", 1, 0)) + + + + + + + + + White + 2pt + 20pt + 2pt + 2pt + + + + + + + + 0.21in + + + + + true + true + + + + + =Left(Fields!AggEvaluatedObject.Value,(InStr(Fields!AggEvaluatedObject.Value,"\")-1)) + + + + + + + + + + + + + + + + + Bar + + + + White + DiagonalLeft + =Switch(Sum(IIF(Fields!PolicyResult.Value="FAIL", 1, 0))/COUNT(Fields!PolicyResult.Value) = 0, "Green", +Sum(IIF(Fields!PolicyResult.Value="FAIL", 1, 0))/COUNT(Fields!PolicyResult.Value) >= Parameters!PolicyThresholdWarning.Value, "Red", +Sum(IIF(Fields!PolicyResult.Value="FAIL", 1, 0))/COUNT(Fields!PolicyResult.Value) >= Parameters!PolicyThresholdCaution.Value, "Tomato", +Sum(IIF(Fields!PolicyResult.Value="FAIL", 1, 0))/COUNT(Fields!PolicyResult.Value) < Parameters!PolicyThresholdCaution.Value, "Gold") + None + 1pt + + + =SUM(IIF(Fields!PolicyResult.Value="FAIL", 1, 0))/COUNT(Fields!PolicyResult.Value) + 1 + + + 0pt + 0pt + External + + + 25 + Wedge + Cross + 70 + + + + + + + Gray + DiagonalLeft + Salmon + None + 0pt + + None + 0 + + 0 + 1 + + + =Parameters!PolicyThresholdCaution.Value + 1 + + 80 + 80 + Cross + + + + + Silver + DiagonalLeft + Salmon + None + 0pt + + None + 0 + + =Parameters!PolicyThresholdCaution.Value + 1 + + + =Parameters!PolicyThresholdWarning.Value + 1 + + 80 + 80 + Cross + + + + + Gainsboro + DiagonalLeft + Salmon + None + 0pt + + None + 0 + + =Parameters!PolicyThresholdWarning.Value + 1 + + + 1 + 1 + + 80 + 80 + Cross + + + + + #00ffffff + None + White + None + 0pt + + NaN + NaN + + 1 + 1 + + + 0 + 1 + + + NaN + NaN + + + DimGray + + -20 + Cross + + External + + + 5 + 0.5 + + + NaN + NaN + + + DimGray + + Cross + + External + + + 9 + 1 + true + + + + + 0 + + + + WhiteSmoke + + Cross + + External + + + 6 + 6 + Circle + + + + + 0 + + + + WhiteSmoke + + Cross + + External + + + 6 + 6 + Circle + + + + NaN + NaN + 20 + Outside + true + true + true + true + + 0 + + + + + + WhiteSmoke + HorizontalCenter + DarkGray + None + 0pt + + RoundedRectangular + + + + + External + + + + true + + External + + + NaN + 50 + 100 + + + + + + =SUM(IIF(Fields!PolicyResult.Value="FAIL", 1, 0))/COUNT(Fields!PolicyResult.Value) + 1 + NoOutput + + None + table1_EvaluatedServer + + NaN + 1 + + + NaN + 1 + + None + + External + + + 1 + + + + =Parameters!PolicyThresholdWarning.Value + 1 + + + 1 + 1 + + Red + 1 + ThreeSignsDiamond + + External + + + + + + =Parameters!PolicyThresholdCaution.Value + 1 + + + =Parameters!PolicyThresholdWarning.Value + 1 + + Tomato + 1 + ButtonStop + + External + + + + + + 0.01 + 1 + + + =Parameters!PolicyThresholdCaution.Value + 1 + + Gold + 1 + ThreeSignsTriangle + + External + + + + + + 0 + 1 + NoOutput + + + 0 + 1 + NoOutput + + Green + 1 + ThreeSignsCircle + + External + + + + + 0 + + ThreeSigns + + + 2pt + + 54 + 4 + 42 + 92 + + + true + + + + Gainsboro + DiagonalLeft + Gray + None + 0pt + + + + + + External + + + + + External + + + ReportHistory + 9 + + + White + + + + + + + + true + true + + + + + =SUM(SWITCH(Fields!PolicyResult.Value= "FAIL", 1, +Fields!PolicyResult.Value= "ERROR", 1, +Fields!PolicyResult.Value= "PASS", 0)) + + + + + + + + + White + 2pt + 20pt + 2pt + 2pt + + + + + + + + 0.21in + + + + + true + + =IIF(Left(Fields!AggEvaluatedObject.Value,(InStr(Fields!AggEvaluatedObject.Value,"\")-1)) = Right(Fields!EvaluatedObject.Value, (Len(Fields!EvaluatedObject.Value) - InStrRev(Fields!EvaluatedObject.Value, "\"))), True, False) + + true + + + + + =Fields!EvaluatedPolicy.Value + + + + + + + + + + + true + true + + + + + =Fields!PolicyResult.Value + + + + + + + PolicyResult + + + + + PolicyDetails + + + =Fields!policy_id.Value + + + =Fields!EvaluatedObject.Value + + + =Fields!PolicyResult.Value + + + + + + + + + + + + + + true + true + + + + + =Fields!EvaluationDateTime.Value + + + + + + + EvaluationDateTime + + + + + + + + 0.21in + + + + + true + true + + + + + =Right(Fields!EvaluatedObject.Value, (Len(Fields!EvaluatedObject.Value) - InStrRev(Fields!EvaluatedObject.Value, "\"))) + + + + + + + + + + + true + true + + + + + + + + + + + + Textbox64 + + + + + + + + true + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + + + + + =Fields!EvaluatedServer.Value + + + + + =SUM(IIF(Fields!PolicyResult.Value= "FAIL", 1, 0)) + Descending + + + =Fields!EvaluatedServer.Value + + + + + true + + + + + =Left(Fields!AggEvaluatedObject.Value,(InStr(Fields!AggEvaluatedObject.Value,"\")-1)) + + + + + =SUM(IIF(Fields!PolicyResult.Value= "FAIL", 1, 0)) + Descending + + + = +Left(Fields!AggEvaluatedObject.Value,(InStr(Fields!AggEvaluatedObject.Value,"\")-1)) + + + + + true + + + + + + + + + =Fields!EvaluatedPolicy.Value + =Fields!EvaluationDateTime.Value + + + + + =Fields!EvaluatedPolicy.Value + + + + + After + + + + + StartAndEnd + + + + =Left(Fields!AggEvaluatedObject.Value,(InStr(Fields!AggEvaluatedObject.Value,"\")-1)) + NotEqual + + =Right(Fields!EvaluatedObject.Value, (Len(Fields!EvaluatedObject.Value) - InStrRev(Fields!EvaluatedObject.Value, "\"))) + + + + Detail + + + + =Right(Fields!EvaluatedObject.Value, (Len(Fields!EvaluatedObject.Value) - InStrRev(Fields!EvaluatedObject.Value, "\"))) + + + + + + + =IIF(Left(Fields!AggEvaluatedObject.Value,(InStr(Fields!AggEvaluatedObject.Value,"\")-1)) <> Right(Fields!EvaluatedObject.Value, (Len(Fields!EvaluatedObject.Value) - InStrRev(Fields!EvaluatedObject.Value, "\"))), True, False) + Policy + + Detail_Collection + Output + true + + + + true + DatabaseName + + + + + + + true + DatabaseName + + + + + true + EvaluatedServer + + + + + + + ReportHistory + 3.83in + 1.3625in + 5.96875in + + + + + Circle + + + + + + + True + + + + + + + + + 0.5 + + NaN + NaN + NaN + + + + Axis Title + + + + False + + + + + + + + + 0.5 + + NaN + Opposite + NaN + NaN + + + + Failed Policies % + + + + True + + + + False + + + + + + 0.5 + + NaN + NaN + NaN + + + + Failed Objects Count + + + + + + + + + + + + 0.5 + + NaN + Opposite + NaN + NaN + + + + + + + Failed Policy % By Month + + + + BrightPastel + + + + + No Data Available + + + ReportHistoryFull + 0.90292in + 6.01042in + 2.79167in + 4.98958in + 1 + + + White + None + + + + true + true + + + + + Objects in Failed State + + + + + + + 1.02792in + 0.93492cm + 0.31958in + 1.92012in + 2 + + + + true + true + + + + + =Sum(Fields!FailedPolicyCount.Value, "ReportHistory") + + + + + + + + + + + PolicyEvaluationDetails + + + =Parameters!CategoryName.Value + + + =Parameters!EvaluatedPolicy.Value + + + + + + + 1.02792in + 2.34376in + 0.31958in + 0.76389in + 3 + ="Click to review evaluation details" + + + + true + true + + + + + SQL Server Compliance + + + + + + + + + + + + + + + =Fields!CategoryName.Value + + + + + =Right(Fields!CategoryName.Value, (Len(Fields!CategoryName.Value) - InStrRev(Fields!CategoryName.Value,":") - 1)) + + + + + + + + + + + + =Fields!PolicyResult.Value + + + + + =IIF(Fields!PolicyResult.Value="FAIL", 1, (IIF(Fields!PolicyResult.Value="PASS", 2, 3))) + Descending + + + + + + + + + + + + + =Fields!TrimCategoryName.Value + =IIF(IsNothing(Fields!PolicyResult.Value), Nothing, Count(Fields!PolicyResult.Value)) + + + + + true + Outside + + ="View Failed Policy Details for " & Fields!CategoryName.Value + + + + + PolicyEvaluationDetails + + + =Fields!CategoryName.Value + + + ="ALL" + + + =Parameters!ServerGroupName.Value + + + =Parameters!EvaluatedPolicy.Value + + + + + + + + + + + + + + + False + + + + + + + + + 0.5 + + NaN + NaN + NaN + -45 + Rotate45 + true + 8pt + + + + Axis Title + + + + False + + + + + + + + + 0.5 + + NaN + Opposite + NaN + NaN + + + + Objects Count + + + + False + + + + + + + + + 0.5 + + NaN + NaN + NaN + + + + Axis Title + + + + + + + + + + + + 0.5 + + NaN + Opposite + NaN + NaN + + + + + + + + TopRight + WideTable + + + + + Black + Black + true + + + + + Failed Object Count by Policy Category + + true + + + + Black + Green + Red + + + + + + No Data Available + + + ReportHistory + 3.83in + 6.01042in + 4.73063in + 4.98958in + 5 + + + White + None + LightGrey + None + + + + true + true + + + + + =Sum(Fields!FailedPolicyCount.Value, "ReportHistory")/Count(Fields!PolicyResult.Value, "ReportHistory") + + + + + + + 1.41694in + 2.35764in + 0.31958in + 0.76389in + 6 + + + + true + true + + + + + Failed Policies (%) + + + + + + + 1.41694in + 0.36808in + 0.31958in + 1.92012in + 7 + + + + + + + + + =Fields!InstanceStatus.Value + + + + + + + + + + + + + + + + + + + + =IIF(IsNothing(Fields!EvaluatedServer.Value), Nothing, Count(Fields!EvaluatedServer.Value)) + + + + true + true + + ="Click to review evaluation details" + + + + + PolicyEvaluationDetails + + + ALL + + + =Parameters!CategoryName.Value + + + =Parameters!EvaluatedPolicy.Value + + + + + + + + + + + Axis Title + + + + False + + + + + + + + + 0.5 + + NaN + NaN + NaN + + + + Axis Title + + + + False + + + + + + + + + 0.5 + + NaN + Opposite + NaN + NaN + + + + Axis Title + + + + + + + + + + + + 0.5 + + NaN + NaN + NaN + + + + Axis Title + + + + + + + + + + + + 0.5 + + NaN + Opposite + NaN + NaN + + + + + + + + TopRight + WideTable + + + + + Black + Black + + + + + Instance Compliance + + + + BrightPastel + + + + + No Data Available + + + FailedInstances + 0.90292in + 3.17709in + 2.79167in + 2.79166in + 8 + + + White + None + + + + true + true + + + + + =Count(Fields!ErrorHistoryID.Value, "Evaluation_Errors") + + + + + + + + + + + PolicyEvaluationErrors + + + =Parameters!EvaluatedPolicy.Value + + + =Parameters!CategoryName.Value + + + + + + + 1.80596in + 2.35764in + 0.31958in + 0.76389in + 9 + ="Click to view error details" + + + + true + true + + + + + Object Evaluation Errors + + + + + + + 1.80596in + 0.36808in + 0.31958in + 1.92012in + 10 + + + + 9.36271in +