Provance.Resource.HardwareDashboard.ReportRdl (ReportResource)

Element properties:

TypeReportResource
File NameProvance.Report.HardwareDashboard.rdl
AccessibilityPublic

Source Code:

<ReportResource ID="Provance.Resource.HardwareDashboard.ReportRdl" Accessibility="Public" FileName="Provance.Report.HardwareDashboard.rdl" HasNullStream="false" MIMEType="application/octet-stream"/>

File Content: Provance.Report.HardwareDashboard.rdl

<?xml version="1.0" encoding="utf-8"?>

<Report xmlns="http://schemas.microsoft.com/sqlserver/reporting/2008/01/reportdefinition" xmlns:rd="http://schemas.microsoft.com/SQLServer/reporting/reportdesigner">
<Body><Script>
<ReportItems>
<Chart Name="Chart2">
<ChartCategoryHierarchy>
<ChartMembers>
<ChartMember>
<Group Name="Chart2_CategoryGroup1">
<GroupExpressions>
<GroupExpression>=Fields!DisplayName.Value</GroupExpression>
</GroupExpressions>
</Group>
<SortExpressions>
<SortExpression>
<Value>=Fields!DisplayName.Value</Value>
</SortExpression>
</SortExpressions>
<Label>=Fields!DisplayName.Value</Label>
</ChartMember>
</ChartMembers>
</ChartCategoryHierarchy>
<ChartSeriesHierarchy>
<ChartMembers>
<ChartMember>
<Group Name="Chart2_SeriesGroup1">
<GroupExpressions>
<GroupExpression>=Fields!AssetCount.Value</GroupExpression>
</GroupExpressions>
</Group>
<SortExpressions>
<SortExpression>
<Value>=Fields!DisplayName.Value</Value>
</SortExpression>
</SortExpressions>
<Label>=Fields!AssetCount.Value</Label>
</ChartMember>
</ChartMembers>
</ChartSeriesHierarchy>
<ChartData>
<ChartSeriesCollection>
<ChartSeries Name="AssetCount">
<ChartDataPoints>
<ChartDataPoint>
<ChartDataPointValues>
<X>=Fields!DisplayName.Value</X>
<Y>=Sum(Fields!AssetCount.Value)</Y>
</ChartDataPointValues>
<ChartDataLabel>
<Style /></Style>
<Label>=FormatPercent(Fields!AssetCount.Value/Fields!TotalAssetCount.Value,0)</Label>
<Visible>true</Visible>
</ChartDataLabel>
<ToolTip>
=Fields!AssetCount.Value &amp; " " &amp;
Code.GetLocTable("LT_Report").GetString("LabelAssetsAt", "[Assets(s) at]") &amp; " " &amp;
Fields!DisplayName.Value
</ToolTip>
<ActionInfo>
<Actions>
<Action>
<Drillthrough>
<ReportName>Provance.Report.SerializedHardwareAssets</ReportName>
<Parameters>
<Parameter Name="LocationId">
<Value>=Fields!LocationDimKey.Value</Value>
</Parameter>
</Parameters>
</Drillthrough>
</Action>
</Actions>
</ActionInfo>
<Style /></Style>
<ChartMarker>
<Style /></Style>
</ChartMarker>
<DataElementOutput>Output</DataElementOutput>
<ChartItemInLegend>
<LegendText>
=IIF(Fields!DisplayName.Value &lt;&gt; "Unknown", Fields!DisplayName.Value,
Code.GetLocTable("LT_Report").GetString("LabelUnknown", "[Unknown]"))
</LegendText>
</ChartItemInLegend>
</ChartDataPoint>
</ChartDataPoints>
<Type>Shape</Type>
<Style /></Style>
<ChartEmptyPoints>
<Style /></Style>
<ChartMarker>
<Style /></Style>
</ChartMarker>
<ChartDataLabel>
<Style /></Style>
</ChartDataLabel>
</ChartEmptyPoints>
<ValueAxisName>Primary</ValueAxisName>
<CategoryAxisName>Primary</CategoryAxisName>
<ChartSmartLabel>
<CalloutLineColor>Black</CalloutLineColor>
<MinMovingDistance>0pt</MinMovingDistance>
</ChartSmartLabel>
</ChartSeries>
</ChartSeriesCollection>
</ChartData>
<ChartAreas>
<ChartArea Name="Default">
<ChartCategoryAxes>
<ChartAxis Name="Primary">
<Style></Style>
<FontSize>8pt</FontSize>
</Style>
<ChartAxisTitle>
<Caption>Axis Title</Caption>
<Style></Style>
<FontSize>8pt</FontSize>
</Style>
</ChartAxisTitle>
<ChartMajorGridLines>
<Enabled>False</Enabled>
<Style></Style>
<Border>
<Color>Gainsboro</Color>
</Border>
</Style>
</ChartMajorGridLines>
<ChartMinorGridLines>
<Style></Style>
<Border>
<Color>Gainsboro</Color>
<Style></Style>Dotted</Style>
</Border>
</Style>
</ChartMinorGridLines>
<ChartMinorTickMarks>
<Length>0.5</Length>
</ChartMinorTickMarks>
<CrossAt>NaN</CrossAt>
<Minimum>NaN</Minimum>
<Maximum>NaN</Maximum>
<ChartAxisScaleBreak>
<Style /></Style>
</ChartAxisScaleBreak>
</ChartAxis>
<ChartAxis Name="Secondary">
<Style></Style>
<FontSize>8pt</FontSize>
</Style>
<ChartAxisTitle>
<Caption>Axis Title</Caption>
<Style></Style>
<FontSize>8pt</FontSize>
</Style>
</ChartAxisTitle>
<ChartMajorGridLines>
<Enabled>False</Enabled>
<Style></Style>
<Border>
<Color>Gainsboro</Color>
</Border>
</Style>
</ChartMajorGridLines>
<ChartMinorGridLines>
<Style></Style>
<Border>
<Color>Gainsboro</Color>
<Style></Style>Dotted</Style>
</Border>
</Style>
</ChartMinorGridLines>
<ChartMinorTickMarks>
<Length>0.5</Length>
</ChartMinorTickMarks>
<CrossAt>NaN</CrossAt>
<Location>Opposite</Location>
<Minimum>NaN</Minimum>
<Maximum>NaN</Maximum>
<ChartAxisScaleBreak>
<Style /></Style>
</ChartAxisScaleBreak>
</ChartAxis>
</ChartCategoryAxes>
<ChartValueAxes>
<ChartAxis Name="Primary">
<Style></Style>
<FontSize>8pt</FontSize>
</Style>
<ChartAxisTitle>
<Caption>Axis Title</Caption>
<Style></Style>
<FontSize>8pt</FontSize>
</Style>
</ChartAxisTitle>
<ChartMajorGridLines>
<Style></Style>
<Border>
<Color>Gainsboro</Color>
</Border>
</Style>
</ChartMajorGridLines>
<ChartMinorGridLines>
<Style></Style>
<Border>
<Color>Gainsboro</Color>
<Style></Style>Dotted</Style>
</Border>
</Style>
</ChartMinorGridLines>
<ChartMinorTickMarks>
<Length>0.5</Length>
</ChartMinorTickMarks>
<CrossAt>NaN</CrossAt>
<Minimum>NaN</Minimum>
<Maximum>NaN</Maximum>
<ChartAxisScaleBreak>
<Style /></Style>
</ChartAxisScaleBreak>
</ChartAxis>
<ChartAxis Name="Secondary">
<Style></Style>
<FontSize>8pt</FontSize>
</Style>
<ChartAxisTitle>
<Caption>Axis Title</Caption>
<Style></Style>
<FontSize>8pt</FontSize>
</Style>
</ChartAxisTitle>
<ChartMajorGridLines>
<Style></Style>
<Border>
<Color>Gainsboro</Color>
</Border>
</Style>
</ChartMajorGridLines>
<ChartMinorGridLines>
<Style></Style>
<Border>
<Color>Gainsboro</Color>
<Style></Style>Dotted</Style>
</Border>
</Style>
</ChartMinorGridLines>
<ChartMinorTickMarks>
<Length>0.5</Length>
</ChartMinorTickMarks>
<CrossAt>NaN</CrossAt>
<Location>Opposite</Location>
<Minimum>NaN</Minimum>
<Maximum>NaN</Maximum>
<ChartAxisScaleBreak>
<Style /></Style>
</ChartAxisScaleBreak>
</ChartAxis>
</ChartValueAxes>
<ChartThreeDProperties>
<Enabled>true</Enabled>
</ChartThreeDProperties>
<Style></Style>
<BackgroundGradientType>None</BackgroundGradientType>
</Style>
</ChartArea>
</ChartAreas>
<ChartLegends>
<ChartLegend Name="Default">
<Style></Style>
<BackgroundGradientType>None</BackgroundGradientType>
<FontSize>8pt</FontSize>
</Style>
<Position>TopCenter</Position>
<ChartLegendTitle>
<Caption />
<Style></Style>
<FontSize>8pt</FontSize>
<FontWeight>Bold</FontWeight>
<TextAlign>Center</TextAlign>
</Style>
</ChartLegendTitle>
<HeaderSeparatorColor>Black</HeaderSeparatorColor>
<ColumnSeparatorColor>Black</ColumnSeparatorColor>
</ChartLegend>
</ChartLegends>
<ChartTitles>
<ChartTitle Name="Default">
<Caption>=Code.GetLocTable("LT_Report").GetString("ElementAssetByLocation", "[Assets By Location]")</Caption>
<Style></Style>
<BackgroundGradientType>None</BackgroundGradientType>
<FontWeight>Bold</FontWeight>
<TextAlign>General</TextAlign>
<VerticalAlign>Top</VerticalAlign>
</Style>
<Position>TopLeft</Position>
</ChartTitle>
</ChartTitles>
<Palette>BrightPastel</Palette>
<ChartBorderSkin>
<Style></Style>
<BackgroundColor>Gray</BackgroundColor>
<BackgroundGradientType>None</BackgroundGradientType>
<Color>White</Color>
</Style>
</ChartBorderSkin>
<ChartNoDataMessage Name="NoDataMessage">
<Caption>=Code.GetLocTable("LT_Report").GetString("A", "[No Data Available]")</Caption>
<Style></Style>
<BackgroundGradientType>None</BackgroundGradientType>
<TextAlign>General</TextAlign>
<VerticalAlign>Top</VerticalAlign>
</Style>
</ChartNoDataMessage>
<DataSetName>AssetsByLocation</DataSetName>
<Height>2.96875in</Height>
<Width>2.4in</Width>
<Style></Style>
<Border>
<Color>LightGrey</Color>
<Style></Style>Solid</Style>
</Border>
<BackgroundColor>White</BackgroundColor>
<BackgroundGradientType>None</BackgroundGradientType>
</Style>
</Chart>
<Chart Name="Chart3">
<ChartCategoryHierarchy>
<ChartMembers>
<ChartMember>
<Group Name="Chart3_CategoryGroup1">
<GroupExpressions>
<GroupExpression>=Fields!DisplayName.Value</GroupExpression>
</GroupExpressions>
</Group>
<SortExpressions>
<SortExpression>
<Value>=Fields!DisplayName.Value</Value>
</SortExpression>
</SortExpressions>
<Label>=Fields!DisplayName.Value</Label>
</ChartMember>
</ChartMembers>
</ChartCategoryHierarchy>
<ChartSeriesHierarchy>
<ChartMembers>
<ChartMember>
<Group Name="Chart3_SeriesGroup1">
<GroupExpressions>
<GroupExpression>=Fields!AssetCount.Value</GroupExpression>
</GroupExpressions>
</Group>
<Label>=Fields!AssetCount.Value</Label>
</ChartMember>
</ChartMembers>
</ChartSeriesHierarchy>
<ChartData>
<ChartSeriesCollection>
<ChartSeries Name="AssetCount">
<ChartDataPoints>
<ChartDataPoint>
<ChartDataPointValues>
<X>=Fields!DisplayName.Value</X>
<Y>=Sum(Fields!AssetCount.Value)</Y>
</ChartDataPointValues>
<ChartDataLabel>
<Style /></Style>
<Label>=FormatPercent(Fields!AssetCount.Value/Fields!TotalAssetCount.Value,0)</Label>
<Visible>true</Visible>
</ChartDataLabel>
<ToolTip>
=Fields!AssetCount.Value &amp; " " &amp;
Code.GetLocTable("LT_Report").GetString("LabelAssetsAt", "[Assets(s) at]") &amp; " " &amp;
Fields!DisplayName.Value
</ToolTip>
<ActionInfo>
<Actions>
<Action>
<Drillthrough>
<ReportName>Provance.Report.SerializedHardwareAssets</ReportName>
<Parameters>
<Parameter Name="CostCenterId">
<Value>=Fields!CostCenterDimKey.Value</Value>
</Parameter>
</Parameters>
</Drillthrough>
</Action>
</Actions>
</ActionInfo>
<Style /></Style>
<ChartMarker>
<Style /></Style>
</ChartMarker>
<DataElementOutput>Output</DataElementOutput>
<ChartItemInLegend>
<LegendText>
=IIF(Fields!DisplayName.Value &lt;&gt; "Unknown", Fields!DisplayName.Value,
Code.GetLocTable("LT_Report").GetString("LabelUnknown", "[Unknown]"))
</LegendText>
</ChartItemInLegend>
</ChartDataPoint>
</ChartDataPoints>
<Type>Shape</Type>
<Style /></Style>
<ChartEmptyPoints>
<Style /></Style>
<ChartMarker>
<Style /></Style>
</ChartMarker>
<ChartDataLabel>
<Style /></Style>
</ChartDataLabel>
</ChartEmptyPoints>
<ValueAxisName>Primary</ValueAxisName>
<CategoryAxisName>Primary</CategoryAxisName>
<ChartSmartLabel>
<CalloutLineColor>Black</CalloutLineColor>
<MinMovingDistance>0pt</MinMovingDistance>
</ChartSmartLabel>
</ChartSeries>
</ChartSeriesCollection>
</ChartData>
<ChartAreas>
<ChartArea Name="Default">
<ChartCategoryAxes>
<ChartAxis Name="Primary">
<Style></Style>
<FontSize>8pt</FontSize>
</Style>
<ChartAxisTitle>
<Caption>Axis Title</Caption>
<Style></Style>
<FontSize>8pt</FontSize>
</Style>
</ChartAxisTitle>
<ChartMajorGridLines>
<Enabled>False</Enabled>
<Style></Style>
<Border>
<Color>Gainsboro</Color>
</Border>
</Style>
</ChartMajorGridLines>
<ChartMinorGridLines>
<Style></Style>
<Border>
<Color>Gainsboro</Color>
<Style></Style>Dotted</Style>
</Border>
</Style>
</ChartMinorGridLines>
<ChartMinorTickMarks>
<Length>0.5</Length>
</ChartMinorTickMarks>
<CrossAt>NaN</CrossAt>
<Minimum>NaN</Minimum>
<Maximum>NaN</Maximum>
<ChartAxisScaleBreak>
<Style /></Style>
</ChartAxisScaleBreak>
</ChartAxis>
<ChartAxis Name="Secondary">
<Style></Style>
<FontSize>8pt</FontSize>
</Style>
<ChartAxisTitle>
<Caption>Axis Title</Caption>
<Style></Style>
<FontSize>8pt</FontSize>
</Style>
</ChartAxisTitle>
<ChartMajorGridLines>
<Enabled>False</Enabled>
<Style></Style>
<Border>
<Color>Gainsboro</Color>
</Border>
</Style>
</ChartMajorGridLines>
<ChartMinorGridLines>
<Style></Style>
<Border>
<Color>Gainsboro</Color>
<Style></Style>Dotted</Style>
</Border>
</Style>
</ChartMinorGridLines>
<ChartMinorTickMarks>
<Length>0.5</Length>
</ChartMinorTickMarks>
<CrossAt>NaN</CrossAt>
<Location>Opposite</Location>
<Minimum>NaN</Minimum>
<Maximum>NaN</Maximum>
<ChartAxisScaleBreak>
<Style /></Style>
</ChartAxisScaleBreak>
</ChartAxis>
</ChartCategoryAxes>
<ChartValueAxes>
<ChartAxis Name="Primary">
<Style></Style>
<FontSize>8pt</FontSize>
</Style>
<ChartAxisTitle>
<Caption>Axis Title</Caption>
<Style></Style>
<FontSize>8pt</FontSize>
</Style>
</ChartAxisTitle>
<ChartMajorGridLines>
<Style></Style>
<Border>
<Color>Gainsboro</Color>
</Border>
</Style>
</ChartMajorGridLines>
<ChartMinorGridLines>
<Style></Style>
<Border>
<Color>Gainsboro</Color>
<Style></Style>Dotted</Style>
</Border>
</Style>
</ChartMinorGridLines>
<ChartMinorTickMarks>
<Length>0.5</Length>
</ChartMinorTickMarks>
<CrossAt>NaN</CrossAt>
<Minimum>NaN</Minimum>
<Maximum>NaN</Maximum>
<ChartAxisScaleBreak>
<Style /></Style>
</ChartAxisScaleBreak>
</ChartAxis>
<ChartAxis Name="Secondary">
<Style></Style>
<FontSize>8pt</FontSize>
</Style>
<ChartAxisTitle>
<Caption>Axis Title</Caption>
<Style></Style>
<FontSize>8pt</FontSize>
</Style>
</ChartAxisTitle>
<ChartMajorGridLines>
<Style></Style>
<Border>
<Color>Gainsboro</Color>
</Border>
</Style>
</ChartMajorGridLines>
<ChartMinorGridLines>
<Style></Style>
<Border>
<Color>Gainsboro</Color>
<Style></Style>Dotted</Style>
</Border>
</Style>
</ChartMinorGridLines>
<ChartMinorTickMarks>
<Length>0.5</Length>
</ChartMinorTickMarks>
<CrossAt>NaN</CrossAt>
<Location>Opposite</Location>
<Minimum>NaN</Minimum>
<Maximum>NaN</Maximum>
<ChartAxisScaleBreak>
<Style /></Style>
</ChartAxisScaleBreak>
</ChartAxis>
</ChartValueAxes>
<ChartThreeDProperties>
<Enabled>true</Enabled>
</ChartThreeDProperties>
<Style></Style>
<BackgroundGradientType>None</BackgroundGradientType>
</Style>
</ChartArea>
</ChartAreas>
<ChartLegends>
<ChartLegend Name="Default">
<Style></Style>
<BackgroundGradientType>None</BackgroundGradientType>
<FontSize>8pt</FontSize>
</Style>
<Position>TopCenter</Position>
<ChartLegendTitle>
<Caption />
<Style></Style>
<FontSize>8pt</FontSize>
<FontWeight>Bold</FontWeight>
<TextAlign>Center</TextAlign>
</Style>
</ChartLegendTitle>
<HeaderSeparatorColor>Black</HeaderSeparatorColor>
<ColumnSeparatorColor>Black</ColumnSeparatorColor>
</ChartLegend>
</ChartLegends>
<ChartTitles>
<ChartTitle Name="Default">
<Caption>=Code.GetLocTable("LT_Report").GetString("ElementAssetByCostCenter", "[Assets By Cost Center]")</Caption>
<Style></Style>
<BackgroundGradientType>None</BackgroundGradientType>
<FontWeight>Bold</FontWeight>
<TextAlign>General</TextAlign>
<VerticalAlign>Top</VerticalAlign>
</Style>
<Position>TopLeft</Position>
</ChartTitle>
</ChartTitles>
<Palette>BrightPastel</Palette>
<ChartBorderSkin>
<Style></Style>
<BackgroundColor>Gray</BackgroundColor>
<BackgroundGradientType>None</BackgroundGradientType>
<Color>White</Color>
</Style>
</ChartBorderSkin>
<ChartNoDataMessage Name="NoDataMessage">
<Caption>=Code.GetLocTable("LT_Report").GetString("A", "[No Data Available]")</Caption>
<Style></Style>
<BackgroundGradientType>None</BackgroundGradientType>
<TextAlign>General</TextAlign>
<VerticalAlign>Top</VerticalAlign>
</Style>
</ChartNoDataMessage>
<DataSetName>AssetByCostCenter</DataSetName>
<Left>2.46944in</Left>
<Height>2.96874in</Height>
<Width>2.4in</Width>
<ZIndex>1</ZIndex>
<Style></Style>
<Border>
<Color>LightGrey</Color>
<Style></Style>Solid</Style>
</Border>
<BackgroundColor>White</BackgroundColor>
<BackgroundGradientType>None</BackgroundGradientType>
</Style>
</Chart>
<Chart Name="Chart4">
<ChartCategoryHierarchy>
<ChartMembers>
<ChartMember>
<Group Name="Chart4_CategoryGroup1">
<GroupExpressions>
<GroupExpression>=Fields!DisplayName.Value</GroupExpression>
</GroupExpressions>
</Group>
<SortExpressions>
<SortExpression>
<Value>=Fields!DisplayName.Value</Value>
</SortExpression>
</SortExpressions>
<Label>=Fields!DisplayName.Value</Label>
</ChartMember>
</ChartMembers>
</ChartCategoryHierarchy>
<ChartSeriesHierarchy>
<ChartMembers>
<ChartMember>
<Group Name="Chart4_SeriesGroup1">
<GroupExpressions>
<GroupExpression>=Fields!AssetCount.Value</GroupExpression>
</GroupExpressions>
</Group>
<Label>=Fields!AssetCount.Value</Label>
</ChartMember>
</ChartMembers>
</ChartSeriesHierarchy>
<ChartData>
<ChartSeriesCollection>
<ChartSeries Name="AssetCount">
<ChartDataPoints>
<ChartDataPoint>
<ChartDataPointValues>
<X>=Fields!DisplayName.Value</X>
<Y>=Sum(Fields!AssetCount.Value)</Y>
</ChartDataPointValues>
<ChartDataLabel>
<Style /></Style>
<Label>=FormatPercent(Fields!AssetCount.Value/Fields!TotalAssetCount.Value,0)</Label>
<Visible>true</Visible>
</ChartDataLabel>
<ToolTip>
=Fields!AssetCount.Value &amp; " " &amp;
Code.GetLocTable("LT_Report").GetString("LabelAssetsAt", "[Assets(s) at]") &amp; " " &amp;
Fields!DisplayName.Value
</ToolTip>
<ActionInfo>
<Actions>
<Action>
<Drillthrough>
<ReportName>Provance.Report.SerializedHardwareAssets</ReportName>
<Parameters>
<Parameter Name="OrganizationId">
<Value>=Fields!OrganizationDimKey.Value</Value>
</Parameter>
</Parameters>
</Drillthrough>
</Action>
</Actions>
</ActionInfo>
<Style /></Style>
<ChartMarker>
<Style /></Style>
</ChartMarker>
<DataElementOutput>Output</DataElementOutput>
<ChartItemInLegend>
<LegendText>
=IIF(Fields!DisplayName.Value &lt;&gt; "Unknown", Fields!DisplayName.Value,
Code.GetLocTable("LT_Report").GetString("LabelUnknown", "[Unknown]"))
</LegendText>
</ChartItemInLegend>
</ChartDataPoint>
</ChartDataPoints>
<Type>Shape</Type>
<Style /></Style>
<ChartEmptyPoints>
<Style /></Style>
<ChartMarker>
<Style /></Style>
</ChartMarker>
<ChartDataLabel>
<Style /></Style>
</ChartDataLabel>
</ChartEmptyPoints>
<ValueAxisName>Primary</ValueAxisName>
<CategoryAxisName>Primary</CategoryAxisName>
<ChartSmartLabel>
<CalloutLineColor>Black</CalloutLineColor>
<MinMovingDistance>0pt</MinMovingDistance>
</ChartSmartLabel>
</ChartSeries>
</ChartSeriesCollection>
</ChartData>
<ChartAreas>
<ChartArea Name="Default">
<ChartCategoryAxes>
<ChartAxis Name="Primary">
<Style></Style>
<FontSize>8pt</FontSize>
</Style>
<ChartAxisTitle>
<Caption>Axis Title</Caption>
<Style></Style>
<FontSize>8pt</FontSize>
</Style>
</ChartAxisTitle>
<ChartMajorGridLines>
<Enabled>False</Enabled>
<Style></Style>
<Border>
<Color>Gainsboro</Color>
</Border>
</Style>
</ChartMajorGridLines>
<ChartMinorGridLines>
<Style></Style>
<Border>
<Color>Gainsboro</Color>
<Style></Style>Dotted</Style>
</Border>
</Style>
</ChartMinorGridLines>
<ChartMinorTickMarks>
<Length>0.5</Length>
</ChartMinorTickMarks>
<CrossAt>NaN</CrossAt>
<Minimum>NaN</Minimum>
<Maximum>NaN</Maximum>
<ChartAxisScaleBreak>
<Style /></Style>
</ChartAxisScaleBreak>
</ChartAxis>
<ChartAxis Name="Secondary">
<Style></Style>
<FontSize>8pt</FontSize>
</Style>
<ChartAxisTitle>
<Caption>Axis Title</Caption>
<Style></Style>
<FontSize>8pt</FontSize>
</Style>
</ChartAxisTitle>
<ChartMajorGridLines>
<Enabled>False</Enabled>
<Style></Style>
<Border>
<Color>Gainsboro</Color>
</Border>
</Style>
</ChartMajorGridLines>
<ChartMinorGridLines>
<Style></Style>
<Border>
<Color>Gainsboro</Color>
<Style></Style>Dotted</Style>
</Border>
</Style>
</ChartMinorGridLines>
<ChartMinorTickMarks>
<Length>0.5</Length>
</ChartMinorTickMarks>
<CrossAt>NaN</CrossAt>
<Location>Opposite</Location>
<Minimum>NaN</Minimum>
<Maximum>NaN</Maximum>
<ChartAxisScaleBreak>
<Style /></Style>
</ChartAxisScaleBreak>
</ChartAxis>
</ChartCategoryAxes>
<ChartValueAxes>
<ChartAxis Name="Primary">
<Style></Style>
<FontSize>8pt</FontSize>
</Style>
<ChartAxisTitle>
<Caption>Axis Title</Caption>
<Style></Style>
<FontSize>8pt</FontSize>
</Style>
</ChartAxisTitle>
<ChartMajorGridLines>
<Style></Style>
<Border>
<Color>Gainsboro</Color>
</Border>
</Style>
</ChartMajorGridLines>
<ChartMinorGridLines>
<Style></Style>
<Border>
<Color>Gainsboro</Color>
<Style></Style>Dotted</Style>
</Border>
</Style>
</ChartMinorGridLines>
<ChartMinorTickMarks>
<Length>0.5</Length>
</ChartMinorTickMarks>
<CrossAt>NaN</CrossAt>
<Minimum>NaN</Minimum>
<Maximum>NaN</Maximum>
<ChartAxisScaleBreak>
<Style /></Style>
</ChartAxisScaleBreak>
</ChartAxis>
<ChartAxis Name="Secondary">
<Style></Style>
<FontSize>8pt</FontSize>
</Style>
<ChartAxisTitle>
<Caption>Axis Title</Caption>
<Style></Style>
<FontSize>8pt</FontSize>
</Style>
</ChartAxisTitle>
<ChartMajorGridLines>
<Style></Style>
<Border>
<Color>Gainsboro</Color>
</Border>
</Style>
</ChartMajorGridLines>
<ChartMinorGridLines>
<Style></Style>
<Border>
<Color>Gainsboro</Color>
<Style></Style>Dotted</Style>
</Border>
</Style>
</ChartMinorGridLines>
<ChartMinorTickMarks>
<Length>0.5</Length>
</ChartMinorTickMarks>
<CrossAt>NaN</CrossAt>
<Location>Opposite</Location>
<Minimum>NaN</Minimum>
<Maximum>NaN</Maximum>
<ChartAxisScaleBreak>
<Style /></Style>
</ChartAxisScaleBreak>
</ChartAxis>
</ChartValueAxes>
<ChartThreeDProperties>
<Enabled>true</Enabled>
</ChartThreeDProperties>
<Style></Style>
<BackgroundGradientType>None</BackgroundGradientType>
</Style>
</ChartArea>
</ChartAreas>
<ChartLegends>
<ChartLegend Name="Default">
<Style></Style>
<BackgroundGradientType>None</BackgroundGradientType>
<FontSize>8pt</FontSize>
</Style>
<Position>TopCenter</Position>
<ChartLegendTitle>
<Caption />
<Style></Style>
<FontSize>8pt</FontSize>
<FontWeight>Bold</FontWeight>
<TextAlign>Center</TextAlign>
</Style>
</ChartLegendTitle>
<HeaderSeparatorColor>Black</HeaderSeparatorColor>
<ColumnSeparatorColor>Black</ColumnSeparatorColor>
</ChartLegend>
</ChartLegends>
<ChartTitles>
<ChartTitle Name="Default">
<Caption>=Code.GetLocTable("LT_Report").GetString("ElementAssetByOrganization", "[Assets By Organization]")</Caption>
<Style></Style>
<BackgroundGradientType>None</BackgroundGradientType>
<FontWeight>Bold</FontWeight>
<TextAlign>General</TextAlign>
<VerticalAlign>Top</VerticalAlign>
</Style>
<Position>TopLeft</Position>
</ChartTitle>
</ChartTitles>
<Palette>BrightPastel</Palette>
<ChartBorderSkin>
<Style></Style>
<BackgroundColor>Gray</BackgroundColor>
<BackgroundGradientType>None</BackgroundGradientType>
<Color>White</Color>
</Style>
</ChartBorderSkin>
<ChartNoDataMessage Name="NoDataMessage">
<Caption>=Code.GetLocTable("LT_Report").GetString("A", "[No Data Available]")</Caption>
<Style></Style>
<BackgroundGradientType>None</BackgroundGradientType>
<TextAlign>General</TextAlign>
<VerticalAlign>Top</VerticalAlign>
</Style>
</ChartNoDataMessage>
<DataSetName>AssetsByOrganization</DataSetName>
<Left>4.975in</Left>
<Height>2.96875in</Height>
<Width>2.4in</Width>
<ZIndex>2</ZIndex>
<Style></Style>
<Border>
<Color>LightGrey</Color>
<Style></Style>Solid</Style>
</Border>
<BackgroundColor>White</BackgroundColor>
<BackgroundGradientType>None</BackgroundGradientType>
</Style>
</Chart>
<Chart Name="Chart5">
<ChartCategoryHierarchy>
<ChartMembers>
<ChartMember>
<Group Name="Chart5_CategoryGroup1">
<GroupExpressions>
<GroupExpression>=Fields!AgeGroup.Value</GroupExpression>
</GroupExpressions>
</Group>
<SortExpressions>
<SortExpression>
<Value>=Fields!AgeGroup.Value</Value>
</SortExpression>
</SortExpressions>
<Label>
=IIf(Fields!AgeGroup.Value ="IsGreaterFiveYrs",Code.GetLocTable("LT_Report").GetString("LabelGreatherThan5Yrs", "[&gt; 5 years old]"),
IIF(Fields!AgeGroup.Value = "IsBetweenTwoAndFiveYrs",Code.GetLocTable("LT_Report").GetString("Label2To5Yrs", "[2-5 years old]"),
IIF(Fields!AgeGroup.Value = "IsLessTwoYrs",Code.GetLocTable("LT_Report").GetString("LabelLessThan2Yrs", "[&lt; 2 years old]"),
Code.GetLocTable("LT_Report").GetString("LabelUnknown", "[Unknown]"))))
</Label>
</ChartMember>
</ChartMembers>
</ChartCategoryHierarchy>
<ChartSeriesHierarchy>
<ChartMembers>
<ChartMember>
<Group Name="Chart5_SeriesGroup1">
<GroupExpressions>
<GroupExpression>=Fields!AssetCount.Value</GroupExpression>
</GroupExpressions>
</Group>
<Label>=Fields!AssetCount.Value</Label>
</ChartMember>
</ChartMembers>
</ChartSeriesHierarchy>
<ChartData>
<ChartSeriesCollection>
<ChartSeries Name="AssetCount">
<ChartDataPoints>
<ChartDataPoint>
<ChartDataPointValues>
<X>
=IIf(Fields!AgeGroup.Value ="IsGreaterFiveYrs",Code.GetLocTable("LT_Report").GetString("LabelGreatherThan5Yrs", "[&gt; 5 years old]"),
IIF(Fields!AgeGroup.Value = "IsBetweenTwoAndFiveYrs",Code.GetLocTable("LT_Report").GetString("Label2To5Yrs", "[2-5 years old]"),
IIF(Fields!AgeGroup.Value = "IsLessTwoYrs",Code.GetLocTable("LT_Report").GetString("LabelLessThan2Yrs", "[&lt; 2 years old]"),
Code.GetLocTable("LT_Report").GetString("LabelUnknown", "[Unknown]"))))
</X>
<Y>=Sum(Fields!AssetCount.Value)</Y>
</ChartDataPointValues>
<ChartDataLabel>
<Style /></Style>
<Label>=FormatPercent(Fields!AssetCount.Value/Fields!TotalAssetCount.Value,0)</Label>
<Visible>true</Visible>
</ChartDataLabel>
<ToolTip>
=Fields!AssetCount.Value &amp; " " &amp; Code.GetLocTable("LT_Report").GetString("LabelAssets", "[asset(s)]") &amp; " " &amp;
IIf(Fields!AgeGroup.Value ="IsGreaterFiveYrs",Code.GetLocTable("LT_Report").GetString("LabelGreatherThan5Yrs", "[&gt; 5 years old]"),
IIF(Fields!AgeGroup.Value = "IsBetweenTwoAndFiveYrs",Code.GetLocTable("LT_Report").GetString("Label2To5Yrs", "[2-5 years old]"),
IIF(Fields!AgeGroup.Value = "IsLessTwoYrs",Code.GetLocTable("LT_Report").GetString("LabelLessThan2Yrs", "[&lt; 2 years old]"),
Code.GetLocTable("LT_Report").GetString("LabelUnknown", "[Unknown]"))))
</ToolTip>
<ActionInfo>
<Actions>
<Action>
<Drillthrough>
<ReportName>Provance.Report.SerializedHardwareAssets</ReportName>
<Parameters>
<Parameter Name="AgeRange">
<Value>=Fields!AgeGroup.Value</Value>
</Parameter>
<Parameter Name="ExcludeLeased">
<Value>True</Value>
</Parameter>
</Parameters>
</Drillthrough>
</Action>
</Actions>
</ActionInfo>
<Style /></Style>
<ChartMarker>
<Style /></Style>
</ChartMarker>
<DataElementOutput>Output</DataElementOutput>
</ChartDataPoint>
</ChartDataPoints>
<Type>Shape</Type>
<Style /></Style>
<ChartEmptyPoints>
<Style /></Style>
<ChartMarker>
<Style /></Style>
</ChartMarker>
<ChartDataLabel>
<Style /></Style>
</ChartDataLabel>
</ChartEmptyPoints>
<ValueAxisName>Primary</ValueAxisName>
<CategoryAxisName>Primary</CategoryAxisName>
<ChartSmartLabel>
<CalloutLineColor>Black</CalloutLineColor>
<MinMovingDistance>0pt</MinMovingDistance>
</ChartSmartLabel>
</ChartSeries>
</ChartSeriesCollection>
</ChartData>
<ChartAreas>
<ChartArea Name="Default">
<ChartCategoryAxes>
<ChartAxis Name="Primary">
<Style></Style>
<FontSize>8pt</FontSize>
</Style>
<ChartAxisTitle>
<Caption>Axis Title</Caption>
<Style></Style>
<FontSize>8pt</FontSize>
</Style>
</ChartAxisTitle>
<ChartMajorGridLines>
<Enabled>False</Enabled>
<Style></Style>
<Border>
<Color>Gainsboro</Color>
</Border>
</Style>
</ChartMajorGridLines>
<ChartMinorGridLines>
<Style></Style>
<Border>
<Color>Gainsboro</Color>
<Style></Style>Dotted</Style>
</Border>
</Style>
</ChartMinorGridLines>
<ChartMinorTickMarks>
<Length>0.5</Length>
</ChartMinorTickMarks>
<CrossAt>NaN</CrossAt>
<Minimum>NaN</Minimum>
<Maximum>NaN</Maximum>
<ChartAxisScaleBreak>
<Style /></Style>
</ChartAxisScaleBreak>
</ChartAxis>
<ChartAxis Name="Secondary">
<Style></Style>
<FontSize>8pt</FontSize>
</Style>
<ChartAxisTitle>
<Caption>Axis Title</Caption>
<Style></Style>
<FontSize>8pt</FontSize>
</Style>
</ChartAxisTitle>
<ChartMajorGridLines>
<Enabled>False</Enabled>
<Style></Style>
<Border>
<Color>Gainsboro</Color>
</Border>
</Style>
</ChartMajorGridLines>
<ChartMinorGridLines>
<Style></Style>
<Border>
<Color>Gainsboro</Color>
<Style></Style>Dotted</Style>
</Border>
</Style>
</ChartMinorGridLines>
<ChartMinorTickMarks>
<Length>0.5</Length>
</ChartMinorTickMarks>
<CrossAt>NaN</CrossAt>
<Location>Opposite</Location>
<Minimum>NaN</Minimum>
<Maximum>NaN</Maximum>
<ChartAxisScaleBreak>
<Style /></Style>
</ChartAxisScaleBreak>
</ChartAxis>
</ChartCategoryAxes>
<ChartValueAxes>
<ChartAxis Name="Primary">
<Style></Style>
<FontSize>8pt</FontSize>
</Style>
<ChartAxisTitle>
<Caption>Axis Title</Caption>
<Style></Style>
<FontSize>8pt</FontSize>
</Style>
</ChartAxisTitle>
<ChartMajorGridLines>
<Style></Style>
<Border>
<Color>Gainsboro</Color>
</Border>
</Style>
</ChartMajorGridLines>
<ChartMinorGridLines>
<Style></Style>
<Border>
<Color>Gainsboro</Color>
<Style></Style>Dotted</Style>
</Border>
</Style>
</ChartMinorGridLines>
<ChartMinorTickMarks>
<Length>0.5</Length>
</ChartMinorTickMarks>
<CrossAt>NaN</CrossAt>
<Minimum>NaN</Minimum>
<Maximum>NaN</Maximum>
<ChartAxisScaleBreak>
<Style /></Style>
</ChartAxisScaleBreak>
</ChartAxis>
<ChartAxis Name="Secondary">
<Style></Style>
<FontSize>8pt</FontSize>
</Style>
<ChartAxisTitle>
<Caption>Axis Title</Caption>
<Style></Style>
<FontSize>8pt</FontSize>
</Style>
</ChartAxisTitle>
<ChartMajorGridLines>
<Style></Style>
<Border>
<Color>Gainsboro</Color>
</Border>
</Style>
</ChartMajorGridLines>
<ChartMinorGridLines>
<Style></Style>
<Border>
<Color>Gainsboro</Color>
<Style></Style>Dotted</Style>
</Border>
</Style>
</ChartMinorGridLines>
<ChartMinorTickMarks>
<Length>0.5</Length>
</ChartMinorTickMarks>
<CrossAt>NaN</CrossAt>
<Location>Opposite</Location>
<Minimum>NaN</Minimum>
<Maximum>NaN</Maximum>
<ChartAxisScaleBreak>
<Style /></Style>
</ChartAxisScaleBreak>
</ChartAxis>
</ChartValueAxes>
<ChartThreeDProperties>
<Enabled>true</Enabled>
</ChartThreeDProperties>
<Style></Style>
<BackgroundGradientType>None</BackgroundGradientType>
</Style>
</ChartArea>
</ChartAreas>
<ChartLegends>
<ChartLegend Name="Default">
<Style></Style>
<BackgroundGradientType>None</BackgroundGradientType>
<FontSize>8pt</FontSize>
</Style>
<Position>TopCenter</Position>
<ChartLegendTitle>
<Caption />
<Style></Style>
<FontSize>8pt</FontSize>
<FontWeight>Bold</FontWeight>
<TextAlign>Center</TextAlign>
</Style>
</ChartLegendTitle>
<HeaderSeparatorColor>Black</HeaderSeparatorColor>
<ColumnSeparatorColor>Black</ColumnSeparatorColor>
</ChartLegend>
</ChartLegends>
<ChartTitles>
<ChartTitle Name="Default">
<Caption>=Code.GetLocTable("LT_Report").GetString("ElementAgeOfAsset", "[Age of Assets (Owned)]")</Caption>
<Style></Style>
<BackgroundGradientType>None</BackgroundGradientType>
<FontWeight>Bold</FontWeight>
<TextAlign>General</TextAlign>
<VerticalAlign>Top</VerticalAlign>
</Style>
<Position>TopLeft</Position>
</ChartTitle>
</ChartTitles>
<Palette>BrightPastel</Palette>
<ChartBorderSkin>
<Style></Style>
<BackgroundColor>Gray</BackgroundColor>
<BackgroundGradientType>None</BackgroundGradientType>
<Color>White</Color>
</Style>
</ChartBorderSkin>
<ChartNoDataMessage Name="NoDataMessage">
<Caption>=Code.GetLocTable("LT_Report").GetString("A", "[No Data Available]")</Caption>
<Style></Style>
<BackgroundGradientType>None</BackgroundGradientType>
<TextAlign>General</TextAlign>
<VerticalAlign>Top</VerticalAlign>
</Style>
</ChartNoDataMessage>
<DataSetName>AgeOfAsset</DataSetName>
<Top>6.09439in</Top>
<Left>0.025in</Left>
<Height>2.96875in</Height>
<Width>2.375in</Width>
<ZIndex>3</ZIndex>
<Style></Style>
<Border>
<Color>LightGrey</Color>
<Style></Style>Solid</Style>
</Border>
<BackgroundColor>White</BackgroundColor>
<BackgroundGradientType>None</BackgroundGradientType>
</Style>
</Chart>
<Chart Name="Chart7">
<ChartCategoryHierarchy>
<ChartMembers>
<ChartMember>
<Group Name="Chart7_CategoryGroup1">
<GroupExpressions>
<GroupExpression>=Fields!ReceivedDate.Value</GroupExpression>
</GroupExpressions>
</Group>
<SortExpressions>
<SortExpression>
<Value>=Fields!ReceivedDate.Value</Value>
</SortExpression>
</SortExpressions>
<Label>=Fields!ReceivedDate.Value</Label>
</ChartMember>
</ChartMembers>
</ChartCategoryHierarchy>
<ChartSeriesHierarchy>
<ChartMembers>
<ChartMember>
<Group Name="Chart7_SeriesGroup1">
<GroupExpressions>
<GroupExpression>=Fields!DisplayName.Value</GroupExpression>
</GroupExpressions>
</Group>
<SortExpressions>
<SortExpression>
<Value>=Fields!DisplayName.Value</Value>
</SortExpression>
</SortExpressions>
<Label>=Fields!DisplayName.Value</Label>
</ChartMember>
</ChartMembers>
</ChartSeriesHierarchy>
<ChartData>
<ChartSeriesCollection>
<ChartSeries Name="Cost">
<ChartDataPoints>
<ChartDataPoint>
<ChartDataPointValues>
<X>=Fields!ReceivedDate.Value</X>
<Y>=Sum(Fields!Cost.Value)</Y>
</ChartDataPointValues>
<ChartDataLabel>
<Style /></Style>
</ChartDataLabel>
<ActionInfo>
<Actions>
<Action>
<Drillthrough>
<ReportName>Provance.Report.SerializedHardwareAssets</ReportName>
<Parameters>
<Parameter Name="ManufacturerId">
<Value>=Fields!CompanyDimKey.Value</Value>
</Parameter>
<Parameter Name="IncludeDisposed">
<Value>True</Value>
</Parameter>
</Parameters>
</Drillthrough>
</Action>
</Actions>
</ActionInfo>
<Style /></Style>
<ChartMarker>
<Type>Circle</Type>
<Size>3pt</Size>
<Style></Style>
<Border>
<Width>0.25pt</Width>
</Border>
</Style>
</ChartMarker>
<DataElementOutput>Output</DataElementOutput>
</ChartDataPoint>
</ChartDataPoints>
<Type>Line</Type>
<Subtype>Smooth</Subtype>
<Style /></Style>
<ChartEmptyPoints>
<Style /></Style>
<ChartMarker>
<Style /></Style>
</ChartMarker>
<ChartDataLabel>
<Style /></Style>
</ChartDataLabel>
</ChartEmptyPoints>
<ValueAxisName>Primary</ValueAxisName>
<CategoryAxisName>Primary</CategoryAxisName>
<ChartSmartLabel>
<CalloutLineColor>Black</CalloutLineColor>
<MinMovingDistance>0pt</MinMovingDistance>
</ChartSmartLabel>
</ChartSeries>
</ChartSeriesCollection>
</ChartData>
<ChartAreas>
<ChartArea Name="Default">
<ChartCategoryAxes>
<ChartAxis Name="Primary">
<Style></Style>
<FontSize>8pt</FontSize>
<Format>MMM yyyy</Format>
</Style>
<ChartAxisTitle>
<Caption />
<Style></Style>
<FontSize>8pt</FontSize>
</Style>
</ChartAxisTitle>
<Interval>
=IIF(IsNothing(Fields!ReceivedDate),1,
IIF (DateDiff("m",
DateAdd("m",-1,Min(Fields!ReceivedDate.Value, "InvestmentByManufacturer")),
DateAdd("m",1,Max(Fields!ReceivedDate.Value, "InvestmentByManufacturer"))) &lt; 4,
1,2))
</Interval>
<IntervalType>Months</IntervalType>
<ChartMajorGridLines>
<Enabled>False</Enabled>
<Style></Style>
<Border>
<Color>Gainsboro</Color>
</Border>
</Style>
</ChartMajorGridLines>
<ChartMinorGridLines>
<Style></Style>
<Border>
<Color>Gainsboro</Color>
<Style></Style>Dotted</Style>
</Border>
</Style>
</ChartMinorGridLines>
<ChartMajorTickMarks>
<Interval>2</Interval>
<IntervalType>Months</IntervalType>
</ChartMajorTickMarks>
<ChartMinorTickMarks>
<Length>0.5</Length>
</ChartMinorTickMarks>
<CrossAt>NaN</CrossAt>
<Minimum>NaN</Minimum>
<Maximum>NaN</Maximum>
<Angle>-90</Angle>
<IncludeZero>false</IncludeZero>
<LabelsAutoFitDisabled>true</LabelsAutoFitDisabled>
<ChartAxisScaleBreak>
<Style /></Style>
</ChartAxisScaleBreak>
</ChartAxis>
<ChartAxis Name="Secondary">
<Style></Style>
<FontSize>8pt</FontSize>
</Style>
<ChartAxisTitle>
<Caption>Axis Title</Caption>
<Style></Style>
<FontSize>8pt</FontSize>
</Style>
</ChartAxisTitle>
<ChartMajorGridLines>
<Enabled>False</Enabled>
<Style></Style>
<Border>
<Color>Gainsboro</Color>
</Border>
</Style>
</ChartMajorGridLines>
<ChartMinorGridLines>
<Style></Style>
<Border>
<Color>Gainsboro</Color>
<Style></Style>Dotted</Style>
</Border>
</Style>
</ChartMinorGridLines>
<ChartMinorTickMarks>
<Length>0.5</Length>
</ChartMinorTickMarks>
<CrossAt>NaN</CrossAt>
<Location>Opposite</Location>
<Minimum>NaN</Minimum>
<Maximum>NaN</Maximum>
<ChartAxisScaleBreak>
<Style /></Style>
</ChartAxisScaleBreak>
</ChartAxis>
</ChartCategoryAxes>
<ChartValueAxes>
<ChartAxis Name="Primary">
<Style></Style>
<FontSize>8pt</FontSize>
<Format>#,0,;(#,0,)</Format>
</Style>
<ChartAxisTitle>
<Caption>
=Fields!CostIsoCurrencyCode.Value &amp; " " &amp;
Code.GetLocTable("LT_Report").GetString("LabelInThousands", "[in thousands]")
</Caption>
<Style></Style>
<FontSize>8pt</FontSize>
</Style>
</ChartAxisTitle>
<ChartMajorGridLines>
<Style></Style>
<Border>
<Color>Gainsboro</Color>
</Border>
</Style>
</ChartMajorGridLines>
<ChartMinorGridLines>
<Style></Style>
<Border>
<Color>Gainsboro</Color>
<Style></Style>Dotted</Style>
</Border>
</Style>
</ChartMinorGridLines>
<ChartMinorTickMarks>
<Length>0.5</Length>
</ChartMinorTickMarks>
<CrossAt>NaN</CrossAt>
<Minimum>NaN</Minimum>
<Maximum>NaN</Maximum>
<ChartAxisScaleBreak>
<Style /></Style>
</ChartAxisScaleBreak>
</ChartAxis>
<ChartAxis Name="Secondary">
<Style></Style>
<FontSize>8pt</FontSize>
</Style>
<ChartAxisTitle>
<Caption>Axis Title</Caption>
<Style></Style>
<FontSize>8pt</FontSize>
</Style>
</ChartAxisTitle>
<ChartMajorGridLines>
<Style></Style>
<Border>
<Color>Gainsboro</Color>
</Border>
</Style>
</ChartMajorGridLines>
<ChartMinorGridLines>
<Style></Style>
<Border>
<Color>Gainsboro</Color>
<Style></Style>Dotted</Style>
</Border>
</Style>
</ChartMinorGridLines>
<ChartMinorTickMarks>
<Length>0.5</Length>
</ChartMinorTickMarks>
<CrossAt>NaN</CrossAt>
<Location>Opposite</Location>
<Minimum>NaN</Minimum>
<Maximum>NaN</Maximum>
<ChartAxisScaleBreak>
<Style /></Style>
</ChartAxisScaleBreak>
</ChartAxis>
</ChartValueAxes>
<Style></Style>
<BackgroundGradientType>None</BackgroundGradientType>
</Style>
</ChartArea>
</ChartAreas>
<ChartLegends>
<ChartLegend Name="Default">
<Style></Style>
<BackgroundGradientType>None</BackgroundGradientType>
<FontSize>8pt</FontSize>
</Style>
<Position>TopCenter</Position>
<ChartLegendTitle>
<Caption />
<Style></Style>
<FontSize>8pt</FontSize>
<FontWeight>Bold</FontWeight>
<TextAlign>Center</TextAlign>
</Style>
</ChartLegendTitle>
<HeaderSeparatorColor>Black</HeaderSeparatorColor>
<ColumnSeparatorColor>Black</ColumnSeparatorColor>
</ChartLegend>
</ChartLegends>
<ChartTitles>
<ChartTitle Name="Default">
<Caption>=Code.GetLocTable("LT_Report").GetString("ElementInvestmentByManufacturer", "[Investment by Manufacturer]")</Caption>
<Style></Style>
<BackgroundGradientType>None</BackgroundGradientType>
<FontWeight>Bold</FontWeight>
<TextAlign>General</TextAlign>
<VerticalAlign>Top</VerticalAlign>
</Style>
<Position>TopLeft</Position>
</ChartTitle>
</ChartTitles>
<Palette>BrightPastel</Palette>
<ChartBorderSkin>
<Style></Style>
<BackgroundColor>Gray</BackgroundColor>
<BackgroundGradientType>None</BackgroundGradientType>
<Color>White</Color>
</Style>
</ChartBorderSkin>
<ChartNoDataMessage Name="NoDataMessage">
<Caption>=Code.GetLocTable("LT_Report").GetString("A", "[No Data Available]")</Caption>
<Style></Style>
<BackgroundGradientType>None</BackgroundGradientType>
<TextAlign>General</TextAlign>
<VerticalAlign>Top</VerticalAlign>
</Style>
</ChartNoDataMessage>
<DataSetName>InvestmentByManufacturer</DataSetName>
<Top>3.03819in</Top>
<Height>2.9687in</Height>
<Width>3.64375in</Width>
<ZIndex>4</ZIndex>
<Style></Style>
<Border>
<Color>LightGrey</Color>
<Style></Style>Solid</Style>
</Border>
<BackgroundColor>White</BackgroundColor>
<BackgroundGradientType>None</BackgroundGradientType>
</Style>
</Chart>
<Chart Name="AssetStatusChart">
<ChartCategoryHierarchy>
<ChartMembers>
<ChartMember>
<Group Name="AssetStatusChart_CategoryGroup1">
<GroupExpressions>
<GroupExpression>=Fields!HardwareAssetLifecycleStatusValue.Value</GroupExpression>
</GroupExpressions>
</Group>
<SortExpressions>
<SortExpression>
<Value>=Fields!HardwareAssetLifecycleStatusValue.Value</Value>
<Direction>Descending</Direction>
</SortExpression>
</SortExpressions>
<Label>=Fields!HardwareAssetLifecycleStatusValue.Value</Label>
</ChartMember>
</ChartMembers>
</ChartCategoryHierarchy>
<ChartSeriesHierarchy>
<ChartMembers>
<ChartMember>
<Label>Lease Asset Count</Label>
</ChartMember>
<ChartMember>
<Label>Owned Asset Count</Label>
</ChartMember>
</ChartMembers>
</ChartSeriesHierarchy>
<ChartData>
<ChartSeriesCollection>
<ChartSeries Name="LeaseAssetCount">
<ChartDataPoints>
<ChartDataPoint>
<ChartDataPointValues>
<Y>=Sum(Fields!LeaseAssetCount.Value)</Y>
</ChartDataPointValues>
<ChartDataLabel>
<Style /></Style>
</ChartDataLabel>
<ToolTip>=FormatPercent(Fields!LeaseAssetCount.Value/Fields!TotalAssetCount.Value,0) &amp; " " &amp; Fields!HardwareAssetLifecycleStatusValue.Value &amp; " " &amp; Code.GetLocTable("LT_Report").GetString("LabelLeased ", "[Leased]")</ToolTip>
<ActionInfo>
<Actions>
<Action>
<Drillthrough>
<ReportName>Provance.Report.SerializedHardwareAssets</ReportName>
<Parameters>
<Parameter Name="StatusId">
<Value>=Fields!HardwareAssetLifecycleStatusId.Value</Value>
</Parameter>
<Parameter Name="ExcludeOwned">
<Value>True</Value>
</Parameter>
</Parameters>
</Drillthrough>
</Action>
</Actions>
</ActionInfo>
<Style /></Style>
<ChartMarker>
<Style /></Style>
</ChartMarker>
<DataElementOutput>Output</DataElementOutput>
</ChartDataPoint>
</ChartDataPoints>
<Type>Bar</Type>
<Style /></Style>
<ChartEmptyPoints>
<Style /></Style>
<ChartMarker>
<Style /></Style>
</ChartMarker>
<ChartDataLabel>
<Style /></Style>
</ChartDataLabel>
</ChartEmptyPoints>
<ChartItemInLegend>
<LegendText>=Code.GetLocTable("LT_Report").GetString("LabelLeased", "[Leased]")</LegendText>
</ChartItemInLegend>
<ValueAxisName>Primary</ValueAxisName>
<CategoryAxisName>Primary</CategoryAxisName>
<ChartSmartLabel>
<CalloutLineColor>Black</CalloutLineColor>
<MinMovingDistance>0pt</MinMovingDistance>
</ChartSmartLabel>
</ChartSeries>
<ChartSeries Name="OwnedAssetCount1">
<ChartDataPoints>
<ChartDataPoint>
<ChartDataPointValues>
<Y>=Sum(Fields!OwnedAssetCount.Value)</Y>
</ChartDataPointValues>
<ChartDataLabel>
<Style /></Style>
</ChartDataLabel>
<ToolTip>=FormatPercent(Fields!OwnedAssetCount.Value/Fields!TotalAssetCount.Value,0) &amp; " " &amp; Fields!HardwareAssetLifecycleStatusValue.Value &amp; " " &amp; Code.GetLocTable("LT_Report").GetString("LabelOwned", "[Owned]")</ToolTip>
<ActionInfo>
<Actions>
<Action>
<Drillthrough>
<ReportName>Provance.Report.SerializedHardwareAssets</ReportName>
<Parameters>
<Parameter Name="StatusId">
<Value>=Fields!HardwareAssetLifecycleStatusId.Value</Value>
</Parameter>
<Parameter Name="ExcludeLeased">
<Value>True</Value>
</Parameter>
</Parameters>
</Drillthrough>
</Action>
</Actions>
</ActionInfo>
<Style /></Style>
<ChartMarker>
<Style /></Style>
</ChartMarker>
<DataElementOutput>Output</DataElementOutput>
</ChartDataPoint>
</ChartDataPoints>
<Type>Bar</Type>
<Style /></Style>
<ChartEmptyPoints>
<Style /></Style>
<ChartMarker>
<Style /></Style>
</ChartMarker>
<ChartDataLabel>
<Style /></Style>
</ChartDataLabel>
</ChartEmptyPoints>
<ChartItemInLegend>
<LegendText>=Code.GetLocTable("LT_Report").GetString("LabelOwned", "[Owned]")</LegendText>
</ChartItemInLegend>
<ValueAxisName>Primary</ValueAxisName>
<CategoryAxisName>Primary</CategoryAxisName>
<ChartSmartLabel>
<CalloutLineColor>Black</CalloutLineColor>
<MinMovingDistance>0pt</MinMovingDistance>
</ChartSmartLabel>
</ChartSeries>
</ChartSeriesCollection>
</ChartData>
<ChartAreas>
<ChartArea Name="Default">
<ChartCategoryAxes>
<ChartAxis Name="Primary">
<Style></Style>
<FontSize>8pt</FontSize>
<Format>0;(0)</Format>
</Style>
<ChartAxisTitle>
<Caption />
<Style></Style>
<FontSize>8pt</FontSize>
</Style>
</ChartAxisTitle>
<ChartMajorGridLines>
<Enabled>False</Enabled>
<Style></Style>
<Border>
<Color>Gainsboro</Color>
</Border>
</Style>
</ChartMajorGridLines>
<ChartMinorGridLines>
<Style></Style>
<Border>
<Color>Gainsboro</Color>
<Style></Style>Dotted</Style>
</Border>
</Style>
</ChartMinorGridLines>
<ChartMinorTickMarks>
<Length>0.5</Length>
</ChartMinorTickMarks>
<CrossAt>NaN</CrossAt>
<Minimum>NaN</Minimum>
<Maximum>NaN</Maximum>
<ChartAxisScaleBreak>
<Style /></Style>
</ChartAxisScaleBreak>
</ChartAxis>
<ChartAxis Name="Secondary">
<Style></Style>
<FontSize>8pt</FontSize>
</Style>
<ChartAxisTitle>
<Caption>Axis Title</Caption>
<Style></Style>
<FontSize>8pt</FontSize>
</Style>
</ChartAxisTitle>
<ChartMajorGridLines>
<Enabled>False</Enabled>
<Style></Style>
<Border>
<Color>Gainsboro</Color>
</Border>
</Style>
</ChartMajorGridLines>
<ChartMinorGridLines>
<Style></Style>
<Border>
<Color>Gainsboro</Color>
<Style></Style>Dotted</Style>
</Border>
</Style>
</ChartMinorGridLines>
<ChartMinorTickMarks>
<Length>0.5</Length>
</ChartMinorTickMarks>
<CrossAt>NaN</CrossAt>
<Location>Opposite</Location>
<Minimum>NaN</Minimum>
<Maximum>NaN</Maximum>
<ChartAxisScaleBreak>
<Style /></Style>
</ChartAxisScaleBreak>
</ChartAxis>
</ChartCategoryAxes>
<ChartValueAxes>
<ChartAxis Name="Primary">
<Style></Style>
<FontSize>8pt</FontSize>
<Format>0;(0)</Format>
</Style>
<ChartAxisTitle>
<Caption />
<Style></Style>
<FontSize>8pt</FontSize>
</Style>
</ChartAxisTitle>
<Interval>
=IIf(Sum(Fields!AssetCount.Value) &gt; 5000,5000,
IIF(Sum(Fields!AssetCount.Value) &gt; 1000,1000,
IIf(Sum(Fields!AssetCount.Value) &gt;100, 100,
IIf(Sum(Fields!AssetCount.Value) &gt; 10, 10, 1))))
</Interval>
<IntervalType>Number</IntervalType>
<ChartMajorGridLines>
<Style></Style>
<Border>
<Color>Gainsboro</Color>
</Border>
</Style>
</ChartMajorGridLines>
<ChartMinorGridLines>
<Style></Style>
<Border>
<Color>Gainsboro</Color>
<Style></Style>Dotted</Style>
</Border>
</Style>
</ChartMinorGridLines>
<ChartMinorTickMarks>
<Length>0.5</Length>
</ChartMinorTickMarks>
<CrossAt>NaN</CrossAt>
<Minimum>=0</Minimum>
<Maximum>NaN</Maximum>
<ChartAxisScaleBreak>
<Style /></Style>
</ChartAxisScaleBreak>
</ChartAxis>
<ChartAxis Name="Secondary">
<Style></Style>
<FontSize>8pt</FontSize>
</Style>
<ChartAxisTitle>
<Caption>Axis Title</Caption>
<Style></Style>
<FontSize>8pt</FontSize>
</Style>
</ChartAxisTitle>
<ChartMajorGridLines>
<Style></Style>
<Border>
<Color>Gainsboro</Color>
</Border>
</Style>
</ChartMajorGridLines>
<ChartMinorGridLines>
<Style></Style>
<Border>
<Color>Gainsboro</Color>
<Style></Style>Dotted</Style>
</Border>
</Style>
</ChartMinorGridLines>
<ChartMinorTickMarks>
<Length>0.5</Length>
</ChartMinorTickMarks>
<CrossAt>NaN</CrossAt>
<Location>Opposite</Location>
<Minimum>NaN</Minimum>
<Maximum>NaN</Maximum>
<ChartAxisScaleBreak>
<Style /></Style>
</ChartAxisScaleBreak>
</ChartAxis>
</ChartValueAxes>
<ChartThreeDProperties>
<Enabled>true</Enabled>
<Clustered>true</Clustered>
</ChartThreeDProperties>
<Style></Style>
<BackgroundGradientType>None</BackgroundGradientType>
</Style>
</ChartArea>
</ChartAreas>
<ChartLegends>
<ChartLegend Name="Default">
<Style></Style>
<BackgroundGradientType>None</BackgroundGradientType>
<FontSize>8pt</FontSize>
</Style>
<Position>TopRight</Position>
<ChartLegendTitle>
<Caption />
<Style></Style>
<FontSize>8pt</FontSize>
<FontWeight>Bold</FontWeight>
<TextAlign>Center</TextAlign>
</Style>
</ChartLegendTitle>
<HeaderSeparatorColor>Black</HeaderSeparatorColor>
<ColumnSeparatorColor>Black</ColumnSeparatorColor>
</ChartLegend>
</ChartLegends>
<ChartTitles>
<ChartTitle Name="Default">
<Caption>=Code.GetLocTable("LT_Report").GetString("ElementAssetStatus", "[Asset Status]")</Caption>
<Style></Style>
<BackgroundGradientType>None</BackgroundGradientType>
<FontWeight>Bold</FontWeight>
<TextAlign>General</TextAlign>
<VerticalAlign>Top</VerticalAlign>
</Style>
<Position>TopLeft</Position>
</ChartTitle>
</ChartTitles>
<Palette>BrightPastel</Palette>
<ChartBorderSkin>
<Style></Style>
<BackgroundColor>Gray</BackgroundColor>
<BackgroundGradientType>None</BackgroundGradientType>
<Color>White</Color>
</Style>
</ChartBorderSkin>
<ChartNoDataMessage Name="NoDataMessage">
<Caption>=Code.GetLocTable("LT_Report").GetString("A", "[No Data Available]")</Caption>
<Style></Style>
<BackgroundGradientType>None</BackgroundGradientType>
<TextAlign>General</TextAlign>
<VerticalAlign>Top</VerticalAlign>
</Style>
</ChartNoDataMessage>
<DataSetName>AssetStatus</DataSetName>
<Top>6.11245in</Top>
<Left>2.4875in</Left>
<Height>2.96875in</Height>
<Width>2.4in</Width>
<ZIndex>5</ZIndex>
<Style></Style>
<Border>
<Color>LightGrey</Color>
<Style></Style>Solid</Style>
</Border>
<BackgroundColor>White</BackgroundColor>
<BackgroundGradientType>None</BackgroundGradientType>
</Style>
</Chart>
<Rectangle Name="Rectangle1">
<ReportItems>
<Tablix Name="Tablix2">
<TablixBody>
<TablixColumns>
<TablixColumn>
<Width>0.575in</Width>
</TablixColumn>
<TablixColumn>
<Width>0.575in</Width>
</TablixColumn>
<TablixColumn>
<Width>0.575in</Width>
</TablixColumn>
<TablixColumn>
<Width>0.575in</Width>
</TablixColumn>
</TablixColumns>
<TablixRows>
<TablixRow>
<Height>0.27082in</Height>
<TablixCells>
<TablixCell>
<CellContents>
<Textbox Name="Textbox8">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value />
<Style></Style>
<FontSize>9pt</FontSize>
</Style>
</TextRun>
</TextRuns>
<Style /></Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox8</rd:DefaultName>
<ActionInfo>
<Actions>
<Action>
<Drillthrough>
<ReportName>../Report.AgreementManagement.Folder/Provance.Report.AgreementSummary</ReportName>
<Parameters>
<Parameter Name="ThresholdContractExpired">
<Value>=Parameters!ThresholdContractExpired.Value</Value>
</Parameter>
<Parameter Name="ThresholdContractCloseToExpired">
<Value>=Parameters!ThresholdContractCloseToExpired.Value</Value>
</Parameter>
<Parameter Name="Threshold">
<Value>AL</Value>
</Parameter>
</Parameters>
</Drillthrough>
</Action>
</Actions>
</ActionInfo>
<Style></Style>
<Border>
<Color>LightGrey</Color>
<Style></Style>Solid</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="txtExpired">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Label>Expired</Label>
<Value>=Code.GetLocTable("LT_Report").GetString("LabelExpired", "[Expired]")</Value>
<Style></Style>
<FontSize>8pt</FontSize>
</Style>
</TextRun>
</TextRuns>
<Style /></Style>
</Paragraph>
</Paragraphs>
<ActionInfo>
<Actions>
<Action>
<Drillthrough>
<ReportName>../Report.AgreementManagement.Folder/Provance.Report.AgreementSummary</ReportName>
<Parameters>
<Parameter Name="ContractType">
<Value>AL</Value>
</Parameter>
<Parameter Name="ThresholdContractExpired">
<Value>=Parameters!ThresholdContractExpired.Value</Value>
</Parameter>
<Parameter Name="ThresholdContractCloseToExpired">
<Value>=Parameters!ThresholdContractCloseToExpired.Value</Value>
</Parameter>
<Parameter Name="Threshold">
<Value>EX</Value>
</Parameter>
</Parameters>
</Drillthrough>
</Action>
</Actions>
</ActionInfo>
<Style></Style>
<Border>
<Color>LightGrey</Color>
<Style></Style>Solid</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="txt7Day">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Label>Close</Label>
<Value>=Code.GetLocTable("LT_Report").GetString("C", "[Close]")</Value>
<Style></Style>
<FontSize>8pt</FontSize>
</Style>
</TextRun>
</TextRuns>
<Style /></Style>
</Paragraph>
</Paragraphs>
<ActionInfo>
<Actions>
<Action>
<Drillthrough>
<ReportName>../Report.AgreementManagement.Folder/Provance.Report.AgreementSummary</ReportName>
<Parameters>
<Parameter Name="ContractType">
<Value>AL</Value>
</Parameter>
<Parameter Name="ThresholdContractExpired">
<Value>=Parameters!ThresholdContractExpired.Value</Value>
</Parameter>
<Parameter Name="ThresholdContractCloseToExpired">
<Value>=Parameters!ThresholdContractCloseToExpired.Value</Value>
</Parameter>
<Parameter Name="Threshold">
<Value>CL</Value>
</Parameter>
</Parameters>
</Drillthrough>
</Action>
</Actions>
</ActionInfo>
<Style></Style>
<Border>
<Color>LightGrey</Color>
<Style></Style>Solid</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="txt30Day">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Label>Good</Label>
<Value>=Code.GetLocTable("LT_Report").GetString("D", "[Good]")</Value>
<Style></Style>
<FontSize>8pt</FontSize>
</Style>
</TextRun>
</TextRuns>
<Style /></Style>
</Paragraph>
</Paragraphs>
<ActionInfo>
<Actions>
<Action>
<Drillthrough>
<ReportName>../Report.AgreementManagement.Folder/Provance.Report.AgreementSummary</ReportName>
<Parameters>
<Parameter Name="ContractType">
<Value>AL</Value>
</Parameter>
<Parameter Name="ThresholdContractExpired">
<Value>=Parameters!ThresholdContractExpired.Value</Value>
</Parameter>
<Parameter Name="ThresholdContractCloseToExpired">
<Value>=Parameters!ThresholdContractCloseToExpired.Value</Value>
</Parameter>
<Parameter Name="Threshold">
<Value>GO</Value>
</Parameter>
</Parameters>
</Drillthrough>
</Action>
</Actions>
</ActionInfo>
<Style></Style>
<Border>
<Color>LightGrey</Color>
<Style></Style>Solid</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
</TablixCells>
</TablixRow>
<TablixRow>
<Height>0.16667in</Height>
<TablixCells>
<TablixCell>
<CellContents>
<Textbox Name="Textbox5">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value />
<Style></Style>
<FontSize>9pt</FontSize>
</Style>
</TextRun>
</TextRuns>
<Style /></Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox5</rd:DefaultName>
<Style></Style>
<Border>
<Color>LightGrey</Color>
<Style></Style>Solid</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="Textbox6">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value />
<Style></Style>
<FontSize>8pt</FontSize>
</Style>
</TextRun>
</TextRuns>
<Style /></Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox6</rd:DefaultName>
<Style></Style>
<Border>
<Color>LightGrey</Color>
<Style></Style>Solid</Style>
</Border>
<BackgroundColor>Red</BackgroundColor>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="Textbox7">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value />
<Style></Style>
<FontSize>8pt</FontSize>
</Style>
</TextRun>
</TextRuns>
<Style /></Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox7</rd:DefaultName>
<Style></Style>
<Border>
<Color>LightGrey</Color>
<Style></Style>Solid</Style>
</Border>
<BackgroundColor>Yellow</BackgroundColor>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="Textbox9">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value />
<Style></Style>
<FontSize>8pt</FontSize>
</Style>
</TextRun>
</TextRuns>
<Style /></Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox9</rd:DefaultName>
<Style></Style>
<Border>
<Color>LightGrey</Color>
<Style></Style>Solid</Style>
</Border>
<BackgroundColor>Green</BackgroundColor>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
</TablixCells>
</TablixRow>
<TablixRow>
<Height>0.35in</Height>
<TablixCells>
<TablixCell>
<CellContents>
<Textbox Name="txtWarranty">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Label>Warranty</Label>
<Value>=Code.GetLocTable("LT_Report").GetString("LabelWarranty", "[Warranty]")</Value>
<Style></Style>
<FontSize>8pt</FontSize>
</Style>
</TextRun>
</TextRuns>
<Style /></Style>
</Paragraph>
</Paragraphs>
<ActionInfo>
<Actions>
<Action>
<Drillthrough>
<ReportName>../Report.AgreementManagement.Folder/Provance.Report.AgreementSummary</ReportName>
<Parameters>
<Parameter Name="ContractType">
<Value>WA</Value>
</Parameter>
<Parameter Name="ThresholdContractExpired">
<Value>=Parameters!ThresholdContractExpired.Value</Value>
</Parameter>
<Parameter Name="ThresholdContractCloseToExpired">
<Value>=Parameters!ThresholdContractCloseToExpired.Value</Value>
</Parameter>
<Parameter Name="Threshold">
<Value>AL</Value>
</Parameter>
</Parameters>
</Drillthrough>
</Action>
</Actions>
</ActionInfo>
<Style></Style>
<Border>
<Color>LightGrey</Color>
<Style></Style>Solid</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="txtWarrantyExpired">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Label>Expired</Label>
<Value>=Sum(IIF(Fields!ContractType.Value = "Warranty",Fields!Expired.Value,0))</Value>
<Style /></Style>
</TextRun>
</TextRuns>
<Style></Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<ActionInfo>
<Actions>
<Action>
<Drillthrough>
<ReportName>../Report.AgreementManagement.Folder/Provance.Report.AgreementSummary</ReportName>
<Parameters>
<Parameter Name="ContractType">
<Value>WA</Value>
</Parameter>
<Parameter Name="ThresholdContractExpired">
<Value>=Parameters!ThresholdContractExpired.Value</Value>
</Parameter>
<Parameter Name="ThresholdContractCloseToExpired">
<Value>=Parameters!ThresholdContractCloseToExpired.Value</Value>
</Parameter>
<Parameter Name="Threshold">
<Value>EX</Value>
</Parameter>
</Parameters>
</Drillthrough>
</Action>
</Actions>
</ActionInfo>
<Style></Style>
<Border>
<Color>LightGrey</Color>
<Style></Style>Solid</Style>
</Border>
<VerticalAlign>Middle</VerticalAlign>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="txtWarranty7Days">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Label>Close</Label>
<Value>=Sum(IIf(Fields!ContractType.Value = "Warranty",Fields!CloseToExpired.Value,0))</Value>
<Style /></Style>
</TextRun>
</TextRuns>
<Style></Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<ActionInfo>
<Actions>
<Action>
<Drillthrough>
<ReportName>../Report.AgreementManagement.Folder/Provance.Report.AgreementSummary</ReportName>
<Parameters>
<Parameter Name="ContractType">
<Value>WA</Value>
</Parameter>
<Parameter Name="ThresholdContractExpired">
<Value>=Parameters!ThresholdContractExpired.Value</Value>
</Parameter>
<Parameter Name="ThresholdContractCloseToExpired">
<Value>=Parameters!ThresholdContractCloseToExpired.Value</Value>
</Parameter>
<Parameter Name="Threshold">
<Value>CL</Value>
</Parameter>
</Parameters>
</Drillthrough>
</Action>
</Actions>
</ActionInfo>
<Style></Style>
<Border>
<Color>LightGrey</Color>
<Style></Style>Solid</Style>
</Border>
<VerticalAlign>Middle</VerticalAlign>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="txtWarranty30Day">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Label>Good</Label>
<Value>=Sum(IIf(Fields!ContractType.Value = "Warranty",Fields!Good.Value,0))</Value>
<Style /></Style>
</TextRun>
</TextRuns>
<Style></Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<ActionInfo>
<Actions>
<Action>
<Drillthrough>
<ReportName>../Report.AgreementManagement.Folder/Provance.Report.AgreementSummary</ReportName>
<Parameters>
<Parameter Name="ContractType">
<Value>WA</Value>
</Parameter>
<Parameter Name="ThresholdContractExpired">
<Value>=Parameters!ThresholdContractExpired.Value</Value>
</Parameter>
<Parameter Name="ThresholdContractCloseToExpired">
<Value>=Parameters!ThresholdContractCloseToExpired.Value</Value>
</Parameter>
<Parameter Name="Threshold">
<Value>GO</Value>
</Parameter>
</Parameters>
</Drillthrough>
</Action>
</Actions>
</ActionInfo>
<Style></Style>
<Border>
<Color>LightGrey</Color>
<Style></Style>Solid</Style>
</Border>
<VerticalAlign>Middle</VerticalAlign>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
</TablixCells>
</TablixRow>
<TablixRow>
<Height>0.35in</Height>
<TablixCells>
<TablixCell>
<CellContents>
<Textbox Name="txtLease">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Label>Lease</Label>
<Value>=Code.GetLocTable("LT_Report").GetString("LabelLease", "[Lease]")</Value>
<Style></Style>
<FontSize>8pt</FontSize>
</Style>
</TextRun>
</TextRuns>
<Style /></Style>
</Paragraph>
</Paragraphs>
<ActionInfo>
<Actions>
<Action>
<Drillthrough>
<ReportName>../Report.AgreementManagement.Folder/Provance.Report.AgreementSummary</ReportName>
<Parameters>
<Parameter Name="ContractType">
<Value>LE</Value>
</Parameter>
<Parameter Name="ThresholdContractExpired">
<Value>=Parameters!ThresholdContractExpired.Value</Value>
</Parameter>
<Parameter Name="ThresholdContractCloseToExpired">
<Value>=Parameters!ThresholdContractCloseToExpired.Value</Value>
</Parameter>
<Parameter Name="Threshold">
<Value>AL</Value>
</Parameter>
</Parameters>
</Drillthrough>
</Action>
</Actions>
</ActionInfo>
<Style></Style>
<Border>
<Color>LightGrey</Color>
<Style></Style>Solid</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="txtLeaseExpired">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Label>Expired</Label>
<Value>=Sum(IIf(Fields!ContractType.Value = "Lease",Fields!Expired.Value,0))</Value>
<Style /></Style>
</TextRun>
</TextRuns>
<Style></Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<ActionInfo>
<Actions>
<Action>
<Drillthrough>
<ReportName>../Report.AgreementManagement.Folder/Provance.Report.AgreementSummary</ReportName>
<Parameters>
<Parameter Name="ContractType">
<Value>LE</Value>
</Parameter>
<Parameter Name="ThresholdContractExpired">
<Value>=Parameters!ThresholdContractExpired.Value</Value>
</Parameter>
<Parameter Name="ThresholdContractCloseToExpired">
<Value>=Parameters!ThresholdContractCloseToExpired.Value</Value>
</Parameter>
<Parameter Name="Threshold">
<Value>EX</Value>
</Parameter>
</Parameters>
</Drillthrough>
</Action>
</Actions>
</ActionInfo>
<Style></Style>
<Border>
<Color>LightGrey</Color>
<Style></Style>Solid</Style>
</Border>
<VerticalAlign>Middle</VerticalAlign>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="txtLease7Day">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Label>Close</Label>
<Value>=Sum(IIf(Fields!ContractType.Value = "Lease",Fields!CloseToExpired.Value,0))</Value>
<Style /></Style>
</TextRun>
</TextRuns>
<Style></Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<ActionInfo>
<Actions>
<Action>
<Drillthrough>
<ReportName>../Report.AgreementManagement.Folder/Provance.Report.AgreementSummary</ReportName>
<Parameters>
<Parameter Name="ContractType">
<Value>LE</Value>
</Parameter>
<Parameter Name="ThresholdContractExpired">
<Value>=Parameters!ThresholdContractExpired.Value</Value>
</Parameter>
<Parameter Name="ThresholdContractCloseToExpired">
<Value>=Parameters!ThresholdContractCloseToExpired.Value</Value>
</Parameter>
<Parameter Name="Threshold">
<Value>CL</Value>
</Parameter>
</Parameters>
</Drillthrough>
</Action>
</Actions>
</ActionInfo>
<Style></Style>
<Border>
<Color>LightGrey</Color>
<Style></Style>Solid</Style>
</Border>
<VerticalAlign>Middle</VerticalAlign>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="txtLease30Day">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Label>Good</Label>
<Value>=Sum(IIf(Fields!ContractType.Value = "Lease",Fields!Good.Value,0))</Value>
<Style /></Style>
</TextRun>
</TextRuns>
<Style></Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<ActionInfo>
<Actions>
<Action>
<Drillthrough>
<ReportName>../Report.AgreementManagement.Folder/Provance.Report.AgreementSummary</ReportName>
<Parameters>
<Parameter Name="ContractType">
<Value>LE</Value>
</Parameter>
<Parameter Name="ThresholdContractExpired">
<Value>=Parameters!ThresholdContractExpired.Value</Value>
</Parameter>
<Parameter Name="ThresholdContractCloseToExpired">
<Value>=Parameters!ThresholdContractCloseToExpired.Value</Value>
</Parameter>
<Parameter Name="Threshold">
<Value>GO</Value>
</Parameter>
</Parameters>
</Drillthrough>
</Action>
</Actions>
</ActionInfo>
<Style></Style>
<Border>
<Color>LightGrey</Color>
<Style></Style>Solid</Style>
</Border>
<VerticalAlign>Middle</VerticalAlign>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
</TablixCells>
</TablixRow>
<TablixRow>
<Height>0.35in</Height>
<TablixCells>
<TablixCell>
<CellContents>
<Textbox Name="txtSupport">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Label>Support</Label>
<Value>=Code.GetLocTable("LT_Report").GetString("LabelSupport", "[Support]")</Value>
<Style></Style>
<FontSize>8pt</FontSize>
</Style>
</TextRun>
</TextRuns>
<Style /></Style>
</Paragraph>
</Paragraphs>
<ActionInfo>
<Actions>
<Action>
<Drillthrough>
<ReportName>../Report.AgreementManagement.Folder/Provance.Report.AgreementSummary</ReportName>
<Parameters>
<Parameter Name="ContractType">
<Value>SV</Value>
</Parameter>
<Parameter Name="ThresholdContractExpired">
<Value>=Parameters!ThresholdContractExpired.Value</Value>
</Parameter>
<Parameter Name="ThresholdContractCloseToExpired">
<Value>=Parameters!ThresholdContractCloseToExpired.Value</Value>
</Parameter>
<Parameter Name="Threshold">
<Value>AL</Value>
</Parameter>
</Parameters>
</Drillthrough>
</Action>
</Actions>
</ActionInfo>
<Style></Style>
<Border>
<Color>LightGrey</Color>
<Style></Style>Solid</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="txtSupportExpired">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Label>Expired</Label>
<Value>=Sum(IIf(Fields!ContractType.Value = "Support",Fields!Expired.Value,0))</Value>
<Style /></Style>
</TextRun>
</TextRuns>
<Style></Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<ActionInfo>
<Actions>
<Action>
<Drillthrough>
<ReportName>../Report.AgreementManagement.Folder/Provance.Report.AgreementSummary</ReportName>
<Parameters>
<Parameter Name="ContractType">
<Value>SV</Value>
</Parameter>
<Parameter Name="ThresholdContractExpired">
<Value>=Parameters!ThresholdContractExpired.Value</Value>
</Parameter>
<Parameter Name="ThresholdContractCloseToExpired">
<Value>=Parameters!ThresholdContractCloseToExpired.Value</Value>
</Parameter>
<Parameter Name="Threshold">
<Value>EX</Value>
</Parameter>
</Parameters>
</Drillthrough>
</Action>
</Actions>
</ActionInfo>
<Style></Style>
<Border>
<Color>LightGrey</Color>
<Style></Style>Solid</Style>
</Border>
<VerticalAlign>Middle</VerticalAlign>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="txtSupport7Day">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Label>Close</Label>
<Value>=Sum(IIf(Fields!ContractType.Value = "Support",Fields!CloseToExpired.Value,0))</Value>
<Style /></Style>
</TextRun>
</TextRuns>
<Style></Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<ActionInfo>
<Actions>
<Action>
<Drillthrough>
<ReportName>../Report.AgreementManagement.Folder/Provance.Report.AgreementSummary</ReportName>
<Parameters>
<Parameter Name="ContractType">
<Value>SV</Value>
</Parameter>
<Parameter Name="ThresholdContractExpired">
<Value>=Parameters!ThresholdContractExpired.Value</Value>
</Parameter>
<Parameter Name="ThresholdContractCloseToExpired">
<Value>=Parameters!ThresholdContractCloseToExpired.Value</Value>
</Parameter>
<Parameter Name="Threshold">
<Value>CL</Value>
</Parameter>
</Parameters>
</Drillthrough>
</Action>
</Actions>
</ActionInfo>
<Style></Style>
<Border>
<Color>LightGrey</Color>
<Style></Style>Solid</Style>
</Border>
<VerticalAlign>Middle</VerticalAlign>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="txtSupport30Day">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Label>Good</Label>
<Value>=Sum(IIf(Fields!ContractType.Value = "Support",Fields!Good.Value,0))</Value>
<Style /></Style>
</TextRun>
</TextRuns>
<Style></Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<ActionInfo>
<Actions>
<Action>
<Drillthrough>
<ReportName>../Report.AgreementManagement.Folder/Provance.Report.AgreementSummary</ReportName>
<Parameters>
<Parameter Name="ContractType">
<Value>SV</Value>
</Parameter>
<Parameter Name="ThresholdContractExpired">
<Value>=Parameters!ThresholdContractExpired.Value</Value>
</Parameter>
<Parameter Name="ThresholdContractCloseToExpired">
<Value>=Parameters!ThresholdContractCloseToExpired.Value</Value>
</Parameter>
<Parameter Name="Threshold">
<Value>GO</Value>
</Parameter>
</Parameters>
</Drillthrough>
</Action>
</Actions>
</ActionInfo>
<Style></Style>
<Border>
<Color>LightGrey</Color>
<Style></Style>Solid</Style>
</Border>
<VerticalAlign>Middle</VerticalAlign>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
</TablixCells>
</TablixRow>
<TablixRow>
<Height>0.35in</Height>
<TablixCells>
<TablixCell>
<CellContents>
<Textbox Name="txtDisposal">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Label>Disposal</Label>
<Value>=Code.GetLocTable("LT_Report").GetString("LabelDisposal", "[Disposal]")</Value>
<Style></Style>
<FontSize>8pt</FontSize>
</Style>
</TextRun>
</TextRuns>
<Style /></Style>
</Paragraph>
</Paragraphs>
<ActionInfo>
<Actions>
<Action>
<Drillthrough>
<ReportName>../Report.AgreementManagement.Folder/Provance.Report.AgreementSummary</ReportName>
<Parameters>
<Parameter Name="ContractType">
<Value>DI</Value>
</Parameter>
<Parameter Name="ThresholdContractExpired">
<Value>=Parameters!ThresholdContractExpired.Value</Value>
</Parameter>
<Parameter Name="ThresholdContractCloseToExpired">
<Value>=Parameters!ThresholdContractCloseToExpired.Value</Value>
</Parameter>
<Parameter Name="Threshold">
<Value>AL</Value>
</Parameter>
</Parameters>
</Drillthrough>
</Action>
</Actions>
</ActionInfo>
<Style></Style>
<Border>
<Color>LightGrey</Color>
<Style></Style>Solid</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="txtDisposalExpired">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Label>Expired</Label>
<Value>=Sum(IIf(Fields!ContractType.Value = "Disposal",Fields!Expired.Value,0))</Value>
<Style /></Style>
</TextRun>
</TextRuns>
<Style></Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<ActionInfo>
<Actions>
<Action>
<Drillthrough>
<ReportName>../Report.AgreementManagement.Folder/Provance.Report.AgreementSummary</ReportName>
<Parameters>
<Parameter Name="ContractType">
<Value>DI</Value>
</Parameter>
<Parameter Name="ThresholdContractExpired">
<Value>=Parameters!ThresholdContractExpired.Value</Value>
</Parameter>
<Parameter Name="ThresholdContractCloseToExpired">
<Value>=Parameters!ThresholdContractCloseToExpired.Value</Value>
</Parameter>
<Parameter Name="Threshold">
<Value>EX</Value>
</Parameter>
</Parameters>
</Drillthrough>
</Action>
</Actions>
</ActionInfo>
<Style></Style>
<Border>
<Color>LightGrey</Color>
<Style></Style>Solid</Style>
</Border>
<VerticalAlign>Middle</VerticalAlign>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="txtDisposal7Day">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Label>Close</Label>
<Value>=Sum(IIf(Fields!ContractType.Value = "Disposal",Fields!CloseToExpired.Value,0))</Value>
<Style /></Style>
</TextRun>
</TextRuns>
<Style></Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<ActionInfo>
<Actions>
<Action>
<Drillthrough>
<ReportName>../Report.AgreementManagement.Folder/Provance.Report.AgreementSummary</ReportName>
<Parameters>
<Parameter Name="ContractType">
<Value>DI</Value>
</Parameter>
<Parameter Name="ThresholdContractExpired">
<Value>=Parameters!ThresholdContractExpired.Value</Value>
</Parameter>
<Parameter Name="ThresholdContractCloseToExpired">
<Value>=Parameters!ThresholdContractCloseToExpired.Value</Value>
</Parameter>
<Parameter Name="Threshold">
<Value>CL</Value>
</Parameter>
</Parameters>
</Drillthrough>
</Action>
</Actions>
</ActionInfo>
<Style></Style>
<Border>
<Color>LightGrey</Color>
<Style></Style>Solid</Style>
</Border>
<VerticalAlign>Middle</VerticalAlign>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="txtDisposal30Day">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Label>Good</Label>
<Value>=Sum(IIf(Fields!ContractType.Value = "Disposal",Fields!Good.Value,0))</Value>
<Style /></Style>
</TextRun>
</TextRuns>
<Style></Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<ActionInfo>
<Actions>
<Action>
<Drillthrough>
<ReportName>../Report.AgreementManagement.Folder/Provance.Report.AgreementSummary</ReportName>
<Parameters>
<Parameter Name="ContractType">
<Value>DI</Value>
</Parameter>
<Parameter Name="ThresholdContractExpired">
<Value>=Parameters!ThresholdContractExpired.Value</Value>
</Parameter>
<Parameter Name="ThresholdContractCloseToExpired">
<Value>=Parameters!ThresholdContractCloseToExpired.Value</Value>
</Parameter>
<Parameter Name="Threshold">
<Value>GO</Value>
</Parameter>
</Parameters>
</Drillthrough>
</Action>
</Actions>
</ActionInfo>
<Style></Style>
<Border>
<Color>LightGrey</Color>
<Style></Style>Solid</Style>
</Border>
<VerticalAlign>Middle</VerticalAlign>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
</TablixCells>
</TablixRow>
<TablixRow>
<Height>0.25in</Height>
<TablixCells>
<TablixCell>
<CellContents>
<Textbox Name="Textbox1">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Label>User Defined</Label>
<Value>=Code.GetLocTable("LT_Report").GetString("B", "[User Defined]")</Value>
<Style></Style>
<FontSize>8pt</FontSize>
</Style>
</TextRun>
</TextRuns>
<Style /></Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox1</rd:DefaultName>
<ActionInfo>
<Actions>
<Action>
<Drillthrough>
<ReportName>../Report.AgreementManagement.Folder/Provance.Report.AgreementSummary</ReportName>
<Parameters>
<Parameter Name="ContractType">
<Value>UD</Value>
</Parameter>
<Parameter Name="ThresholdContractExpired">
<Value>=Parameters!ThresholdContractExpired.Value</Value>
</Parameter>
<Parameter Name="ThresholdContractCloseToExpired">
<Value>=Parameters!ThresholdContractCloseToExpired.Value</Value>
</Parameter>
<Parameter Name="Threshold">
<Value>AL</Value>
</Parameter>
</Parameters>
</Drillthrough>
</Action>
</Actions>
</ActionInfo>
<Style></Style>
<Border>
<Color>LightGrey</Color>
<Style></Style>Solid</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="Textbox2">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Label>Expired</Label>
<Value>=Sum(IIf(Fields!ContractType.Value = "UserDefined",Fields!Expired.Value,0))</Value>
<Style /></Style>
</TextRun>
</TextRuns>
<Style></Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox2</rd:DefaultName>
<ActionInfo>
<Actions>
<Action>
<Drillthrough>
<ReportName>../Report.AgreementManagement.Folder/Provance.Report.AgreementSummary</ReportName>
<Parameters>
<Parameter Name="ContractType">
<Value>UD</Value>
</Parameter>
<Parameter Name="ThresholdContractExpired">
<Value>=Parameters!ThresholdContractExpired.Value</Value>
</Parameter>
<Parameter Name="ThresholdContractCloseToExpired">
<Value>=Parameters!ThresholdContractCloseToExpired.Value</Value>
</Parameter>
<Parameter Name="Threshold">
<Value>EX</Value>
</Parameter>
</Parameters>
</Drillthrough>
</Action>
</Actions>
</ActionInfo>
<Style></Style>
<Border>
<Color>LightGrey</Color>
<Style></Style>Solid</Style>
</Border>
<VerticalAlign>Middle</VerticalAlign>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="Textbox3">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Label>Close</Label>
<Value>=Sum(IIf(Fields!ContractType.Value = "UserDefined",Fields!CloseToExpired.Value,0))</Value>
<Style /></Style>
</TextRun>
</TextRuns>
<Style></Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox3</rd:DefaultName>
<ActionInfo>
<Actions>
<Action>
<Drillthrough>
<ReportName>../Report.AgreementManagement.Folder/Provance.Report.AgreementSummary</ReportName>
<Parameters>
<Parameter Name="ContractType">
<Value>UD</Value>
</Parameter>
<Parameter Name="ThresholdContractExpired">
<Value>=Parameters!ThresholdContractExpired.Value</Value>
</Parameter>
<Parameter Name="ThresholdContractCloseToExpired">
<Value>=Parameters!ThresholdContractCloseToExpired.Value</Value>
</Parameter>
<Parameter Name="Threshold">
<Value>CL</Value>
</Parameter>
</Parameters>
</Drillthrough>
</Action>
</Actions>
</ActionInfo>
<Style></Style>
<Border>
<Color>LightGrey</Color>
<Style></Style>Solid</Style>
</Border>
<VerticalAlign>Middle</VerticalAlign>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="Textbox4">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Label>Good</Label>
<Value>=Sum(IIf(Fields!ContractType.Value = "UserDefined",Fields!Good.Value,0))</Value>
<Style /></Style>
</TextRun>
</TextRuns>
<Style></Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox4</rd:DefaultName>
<ActionInfo>
<Actions>
<Action>
<Drillthrough>
<ReportName>../Report.AgreementManagement.Folder/Provance.Report.AgreementSummary</ReportName>
<Parameters>
<Parameter Name="ContractType">
<Value>UD</Value>
</Parameter>
<Parameter Name="ThresholdContractExpired">
<Value>=Parameters!ThresholdContractExpired.Value</Value>
</Parameter>
<Parameter Name="ThresholdContractCloseToExpired">
<Value>=Parameters!ThresholdContractCloseToExpired.Value</Value>
</Parameter>
<Parameter Name="Threshold">
<Value>GO</Value>
</Parameter>
</Parameters>
</Drillthrough>
</Action>
</Actions>
</ActionInfo>
<Style></Style>
<Border>
<Color>LightGrey</Color>
<Style></Style>Solid</Style>
</Border>
<VerticalAlign>Middle</VerticalAlign>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
</TablixCells>
</TablixRow>
</TablixRows>
</TablixBody>
<TablixColumnHierarchy>
<TablixMembers>
<TablixMember />
<TablixMember />
<TablixMember />
<TablixMember />
</TablixMembers>
</TablixColumnHierarchy>
<TablixRowHierarchy>
<TablixMembers>
<TablixMember>
<KeepWithGroup>After</KeepWithGroup>
</TablixMember>
<TablixMember>
<KeepWithGroup>After</KeepWithGroup>
</TablixMember>
<TablixMember>
<Group Name="Details">
<GroupExpressions>
<GroupExpression>=Fields!GroupingProperty.Value</GroupExpression>
</GroupExpressions>
</Group>
<TablixMembers>
<TablixMember />
<TablixMember />
<TablixMember />
<TablixMember />
<TablixMember />
</TablixMembers>
</TablixMember>
</TablixMembers>
</TablixRowHierarchy>
<NoRowsMessage>=Code.GetLocTable("LT_Report").GetString("A", "[No Data Available]")</NoRowsMessage>
<DataSetName>ContractExpiration</DataSetName>
<Top>0.4in</Top>
<Left>0.05in</Left>
<Height>2.08749in</Height>
<Width>2.3in</Width>
<Style></Style>
<Border>
<Style></Style>None</Style>
</Border>
</Style>
</Tablix>
<Textbox Name="Textbox29">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Label>Contract Expiration</Label>
<Value>=Code.GetLocTable("LT_Report").GetString("ElementContractExpiration", "[Contract Expiration]")</Value>
<Style></Style>
<FontWeight>Bold</FontWeight>
</Style>
</TextRun>
</TextRuns>
<Style /></Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox29</rd:DefaultName>
<Top>0.1in</Top>
<Left>0.05in</Left>
<Height>0.28806in</Height>
<Width>2.3in</Width>
<ZIndex>1</ZIndex>
<Style></Style>
<Border>
<Style></Style>None</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</ReportItems>
<KeepTogether>true</KeepTogether>
<Top>6.11245in</Top>
<Left>4.975in</Left>
<Height>2.96875in</Height>
<Width>2.4in</Width>
<ZIndex>6</ZIndex>
<Style></Style>
<Border>
<Color>LightGrey</Color>
<Style></Style>Solid</Style>
</Border>
</Style>
</Rectangle>
<Chart Name="Chart8">
<ChartCategoryHierarchy>
<ChartMembers>
<ChartMember>
<Group Name="Chart7_CategoryGroup2">
<GroupExpressions>
<GroupExpression>=Fields!ReceivedDate.Value</GroupExpression>
</GroupExpressions>
</Group>
<SortExpressions>
<SortExpression>
<Value>=Fields!ReceivedDate.Value</Value>
</SortExpression>
</SortExpressions>
<Label>=Fields!ReceivedDate.Value</Label>
</ChartMember>
</ChartMembers>
</ChartCategoryHierarchy>
<ChartSeriesHierarchy>
<ChartMembers>
<ChartMember>
<Group Name="Chart7_SeriesGroup2">
<GroupExpressions>
<GroupExpression>=Fields!DisplayName.Value</GroupExpression>
</GroupExpressions>
</Group>
<SortExpressions>
<SortExpression>
<Value>=Fields!DisplayName.Value</Value>
</SortExpression>
</SortExpressions>
<Label>=Fields!DisplayName.Value</Label>
</ChartMember>
</ChartMembers>
</ChartSeriesHierarchy>
<ChartData>
<ChartSeriesCollection>
<ChartSeries Name="Cost">
<ChartDataPoints>
<ChartDataPoint>
<ChartDataPointValues>
<X>=Fields!ReceivedDate.Value</X>
<Y>=Sum(Fields!Cost.Value)</Y>
</ChartDataPointValues>
<ChartDataLabel>
<Style /></Style>
</ChartDataLabel>
<ActionInfo>
<Actions>
<Action>
<Drillthrough>
<ReportName>Provance.Report.SerializedHardwareAssets</ReportName>
<Parameters>
<Parameter Name="SupplierId">
<Value>=Fields!CompanyDimKey.Value</Value>
</Parameter>
<Parameter Name="IncludeDisposed">
<Value>True</Value>
</Parameter>
</Parameters>
</Drillthrough>
</Action>
</Actions>
</ActionInfo>
<Style /></Style>
<ChartMarker>
<Type>Circle</Type>
<Size>3pt</Size>
<Style></Style>
<Border>
<Width>0.25pt</Width>
</Border>
</Style>
</ChartMarker>
<DataElementOutput>Output</DataElementOutput>
</ChartDataPoint>
</ChartDataPoints>
<Type>Line</Type>
<Subtype>Smooth</Subtype>
<Style /></Style>
<ChartEmptyPoints>
<Style /></Style>
<ChartMarker>
<Style /></Style>
</ChartMarker>
<ChartDataLabel>
<Style /></Style>
</ChartDataLabel>
</ChartEmptyPoints>
<ValueAxisName>Primary</ValueAxisName>
<CategoryAxisName>Primary</CategoryAxisName>
<ChartSmartLabel>
<CalloutLineColor>Black</CalloutLineColor>
<MinMovingDistance>0pt</MinMovingDistance>
</ChartSmartLabel>
</ChartSeries>
</ChartSeriesCollection>
</ChartData>
<ChartAreas>
<ChartArea Name="Default">
<ChartCategoryAxes>
<ChartAxis Name="Primary">
<Style></Style>
<FontSize>8pt</FontSize>
<Format>MMM yyyy</Format>
</Style>
<ChartAxisTitle>
<Caption />
<Style></Style>
<FontSize>8pt</FontSize>
</Style>
</ChartAxisTitle>
<Interval>=IIF(IsNothing(Fields!ReceivedDate.Value), 1, IIF(DateDiff("m", DateAdd("m", - 1, Min(Fields!ReceivedDate.Value, "InvestmentBySupplier")), DateAdd("m", 1, Max(Fields!ReceivedDate.Value, "InvestmentBySupplier"))) &lt; 4, 1, 2))</Interval>
<IntervalType>Months</IntervalType>
<ChartMajorGridLines>
<Enabled>False</Enabled>
<Style></Style>
<Border>
<Color>Gainsboro</Color>
</Border>
</Style>
</ChartMajorGridLines>
<ChartMinorGridLines>
<Style></Style>
<Border>
<Color>Gainsboro</Color>
<Style></Style>Dotted</Style>
</Border>
</Style>
</ChartMinorGridLines>
<ChartMajorTickMarks>
<Interval>2</Interval>
<IntervalType>Months</IntervalType>
</ChartMajorTickMarks>
<ChartMinorTickMarks>
<Length>0.5</Length>
</ChartMinorTickMarks>
<CrossAt>NaN</CrossAt>
<Minimum>NaN</Minimum>
<Maximum>NaN</Maximum>
<Angle>-90</Angle>
<IncludeZero>false</IncludeZero>
<LabelsAutoFitDisabled>true</LabelsAutoFitDisabled>
<ChartAxisScaleBreak>
<Style /></Style>
</ChartAxisScaleBreak>
</ChartAxis>
<ChartAxis Name="Secondary">
<Style></Style>
<FontSize>8pt</FontSize>
</Style>
<ChartAxisTitle>
<Caption>Axis Title</Caption>
<Style></Style>
<FontSize>8pt</FontSize>
</Style>
</ChartAxisTitle>
<ChartMajorGridLines>
<Enabled>False</Enabled>
<Style></Style>
<Border>
<Color>Gainsboro</Color>
</Border>
</Style>
</ChartMajorGridLines>
<ChartMinorGridLines>
<Style></Style>
<Border>
<Color>Gainsboro</Color>
<Style></Style>Dotted</Style>
</Border>
</Style>
</ChartMinorGridLines>
<ChartMinorTickMarks>
<Length>0.5</Length>
</ChartMinorTickMarks>
<CrossAt>NaN</CrossAt>
<Location>Opposite</Location>
<Minimum>NaN</Minimum>
<Maximum>NaN</Maximum>
<ChartAxisScaleBreak>
<Style /></Style>
</ChartAxisScaleBreak>
</ChartAxis>
</ChartCategoryAxes>
<ChartValueAxes>
<ChartAxis Name="Primary">
<Style></Style>
<FontSize>8pt</FontSize>
<Format>#,0,;(#,0,)</Format>
</Style>
<ChartAxisTitle>
<Caption>=Fields!CostIsoCurrencyCode.Value &amp; " " &amp; Code.GetLocTable("LT_Report").GetString("LabelInThousands", "[in thousands]")</Caption>
<Style></Style>
<FontSize>8pt</FontSize>
</Style>
</ChartAxisTitle>
<ChartMajorGridLines>
<Style></Style>
<Border>
<Color>Gainsboro</Color>
</Border>
</Style>
</ChartMajorGridLines>
<ChartMinorGridLines>
<Style></Style>
<Border>
<Color>Gainsboro</Color>
<Style></Style>Dotted</Style>
</Border>
</Style>
</ChartMinorGridLines>
<ChartMinorTickMarks>
<Length>0.5</Length>
</ChartMinorTickMarks>
<CrossAt>NaN</CrossAt>
<Minimum>NaN</Minimum>
<Maximum>NaN</Maximum>
<ChartAxisScaleBreak>
<Style /></Style>
</ChartAxisScaleBreak>
</ChartAxis>
<ChartAxis Name="Secondary">
<Style></Style>
<FontSize>8pt</FontSize>
</Style>
<ChartAxisTitle>
<Caption>Axis Title</Caption>
<Style></Style>
<FontSize>8pt</FontSize>
</Style>
</ChartAxisTitle>
<ChartMajorGridLines>
<Style></Style>
<Border>
<Color>Gainsboro</Color>
</Border>
</Style>
</ChartMajorGridLines>
<ChartMinorGridLines>
<Style></Style>
<Border>
<Color>Gainsboro</Color>
<Style></Style>Dotted</Style>
</Border>
</Style>
</ChartMinorGridLines>
<ChartMinorTickMarks>
<Length>0.5</Length>
</ChartMinorTickMarks>
<CrossAt>NaN</CrossAt>
<Location>Opposite</Location>
<Minimum>NaN</Minimum>
<Maximum>NaN</Maximum>
<ChartAxisScaleBreak>
<Style /></Style>
</ChartAxisScaleBreak>
</ChartAxis>
</ChartValueAxes>
<Style></Style>
<BackgroundGradientType>None</BackgroundGradientType>
</Style>
</ChartArea>
</ChartAreas>
<ChartLegends>
<ChartLegend Name="Default">
<Style></Style>
<BackgroundGradientType>None</BackgroundGradientType>
<FontSize>8pt</FontSize>
</Style>
<Position>TopCenter</Position>
<ChartLegendTitle>
<Caption />
<Style></Style>
<FontSize>8pt</FontSize>
<FontWeight>Bold</FontWeight>
<TextAlign>Center</TextAlign>
</Style>
</ChartLegendTitle>
<HeaderSeparatorColor>Black</HeaderSeparatorColor>
<ColumnSeparatorColor>Black</ColumnSeparatorColor>
</ChartLegend>
</ChartLegends>
<ChartTitles>
<ChartTitle Name="Default">
<Caption>=Code.GetLocTable("LT_Report").GetString("ElementInvestmentBySupplier", "[Investment by Supplier]")</Caption>
<Style></Style>
<BackgroundGradientType>None</BackgroundGradientType>
<FontWeight>Bold</FontWeight>
<TextAlign>General</TextAlign>
<VerticalAlign>Top</VerticalAlign>
</Style>
<Position>TopLeft</Position>
</ChartTitle>
</ChartTitles>
<Palette>BrightPastel</Palette>
<ChartBorderSkin>
<Style></Style>
<BackgroundColor>Gray</BackgroundColor>
<BackgroundGradientType>None</BackgroundGradientType>
<Color>White</Color>
</Style>
</ChartBorderSkin>
<ChartNoDataMessage Name="NoDataMessage">
<Caption>=Code.GetLocTable("LT_Report").GetString("A", "[No Data Available]")</Caption>
<Style></Style>
<BackgroundGradientType>None</BackgroundGradientType>
<TextAlign>General</TextAlign>
<VerticalAlign>Top</VerticalAlign>
</Style>
</ChartNoDataMessage>
<DataSetName>InvestmentBySupplier</DataSetName>
<Top>3.03819in</Top>
<Left>3.64375in</Left>
<Height>2.9687in</Height>
<Width>3.64375in</Width>
<ZIndex>7</ZIndex>
<Style></Style>
<Border>
<Color>LightGrey</Color>
<Style></Style>Solid</Style>
</Border>
<BackgroundColor>White</BackgroundColor>
<BackgroundGradientType>None</BackgroundGradientType>
</Style>
</Chart>
</ReportItems>
<Height>9.0812in</Height>
<Style /></Style>
</Script></Body>
<Width>7.375in</Width>
<Page>
<PageHeader>
<Height>0.577in</Height>
<PrintOnFirstPage>true</PrintOnFirstPage>
<PrintOnLastPage>true</PrintOnLastPage>
<ReportItems>
<Textbox Name="Textbox14">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Code.GetLocTable("LT_Report").GetString("ReportName", "[Hardware Asset Management Dashboard]")</Value>
<Style></Style>
<FontFamily>Tahoma</FontFamily>
<FontSize>11pt</FontSize>
<FontWeight>Bold</FontWeight>
</Style>
</TextRun>
</TextRuns>
<Style></Style>
<TextAlign>Left</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox9</rd:DefaultName>
<Height>0.577in</Height>
<Width>3.37828in</Width>
<Style></Style>
<Border>
<Style></Style>None</Style>
</Border>
<VerticalAlign>Middle</VerticalAlign>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
<Image Name="Image3">
<Source>External</Source>
<Value>ReportHeaderR.png</Value>
<Sizing>FitProportional</Sizing>
<Left>3.39217in</Left>
<Height>0.577in</Height>
<Width>3.98283in</Width>
<ZIndex>1</ZIndex>
<Style></Style>
<Border>
<Style></Style>None</Style>
</Border>
</Style>
</Image>
</ReportItems>
<Style></Style>
<Border>
<Style></Style>None</Style>
</Border>
</Style>
</PageHeader>
<LeftMargin>0.5in</LeftMargin>
<RightMargin>0.5in</RightMargin>
<TopMargin>0.5in</TopMargin>
<BottomMargin>0.5in</BottomMargin>
<Style /></Style>
</Page>
<AutoRefresh>0</AutoRefresh>
<DataSources>
<DataSource Name="DWDataMart">
<DataSourceReference>DWDataMart</DataSourceReference>
<rd:SecurityType>None</rd:SecurityType>
<rd:DataSourceID>17f1ddbd-dd74-4498-be36-12e44eb4ebea</rd:DataSourceID>
</DataSource>
</DataSources>
<DataSets>
<DataSet Name="LT_Report">
<Query>
<DataSourceName>DWDataMart</DataSourceName>
<QueryParameters>
<QueryParameter Name="@ManagementPackSystemName">
<Value>Provance.Asset.Reports</Value>
</QueryParameter>
<QueryParameter Name="@ReportSystemName">
<Value>Provance.Report.HardwareDashboard</Value>
</QueryParameter>
<QueryParameter Name="@LanguageCode">
<Value>=Code.GetReportLocLanguageCode()</Value>
</QueryParameter>
<QueryParameter Name="@Scope">
<Value>%</Value>
</QueryParameter>
</QueryParameters>
<CommandType>StoredProcedure</CommandType>
<CommandText>ReportDisplayStringGet</CommandText>
<rd:UseGenericDesigner>true</rd:UseGenericDesigner>
</Query>
<Fields>
<Field Name="XML_F52E2B61_18A1_11d1_B105_00805F49916B">
<DataField>XML_F52E2B61-18A1-11d1-B105-00805F49916B</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
</Fields>
</DataSet>
<DataSet Name="AssetsByLocation">
<Query>
<DataSourceName>DWDataMart</DataSourceName>
<CommandText>--Query AssetsByLocation HardwareAssetDashboard
declare @ComputerAssetLifeCycleDisposed varchar(255),
@ComputerAssetLifeCycleLifeCycleReturned varchar(255),
@GeneralAssetLifeCycleDisposed varchar(255),
@GeneralAssetLifeCycleReturned varchar(255),
@ObjectStatusPendingDelete varchar(255),
@TotalAssetCount int

select @ComputerAssetLifeCycleDisposed = 'Provance.Enumeration.ComputerAssetLifeCycle.Disposed',
@ComputerAssetLifeCycleLifeCycleReturned= 'Provance.Enumeration.ComputerAssetLifeCycle.Returned',
@GeneralAssetLifeCycleDisposed = 'Provance.Enumeration.GeneralAssetLifeCycle.Disposed',
@GeneralAssetLifeCycleReturned = 'Provance.Enumeration.GeneralAssetLifeCycle.Returned',
@ObjectStatusPendingDelete = 'System.ConfigItem.ObjectStatusEnum.PendingDelete'

select @TotalAssetCount = ISNULL(COUNT(*),0)
from ProvanceComputerAssetDimvw A
WHERE A.LifeCycle NOT IN (@ComputerAssetLifeCycleDisposed,@ComputerAssetLifeCycleLifeCycleReturned)
AND A.IsDeleted = 0
and ISNULL(A.ObjectStatus,'') &lt;&gt; @ObjectStatusPendingDelete


select @TotalAssetCount = ISNULL(@TotalAssetCount,0) + ISNULL(COUNT(*) ,0)
from ProvanceGeneralAssetDimvw A
WHERE A.LifeCycle NOT IN (@GeneralAssetLifeCycleDisposed,@GeneralAssetLifeCycleReturned)
AND A.IsDeleted = 0
and ISNULL(A.ObjectStatus,'') &lt;&gt; @ObjectStatusPendingDelete


declare @Location Table (LocationDimKey int, ParentLocationDimKey int)

-- Get all locations and their immediate parent, if they do not have one, they are their own parent
insert into @Location (LocationDimKey,ParentLocationDimKey)
select a.ProvanceLocationDimKey,isnull(b.LocationIsContainedByLocation_ProvanceLocationDimKey,a.ProvanceLocationDimKey)
from ProvanceLocationDimvw a
left join ProvanceLocationIsContainedByLocationFactvw b on a.ProvanceLocationDimKey = b.ProvanceLocationDimKey
and b.DeletedDate is null
where A.IsDeleted = 0
and ISNULL(A.ObjectStatus,'') &lt;&gt; @ObjectStatusPendingDelete

-- If they have a parent update the ParentLocationDimKey untill there are no more parents
while @@ROWCOUNT &lt;&gt; 0
begin
update @Location
set ParentLocationDimKey = b.LocationIsContainedByLocation_ProvanceLocationDimKey
from @Location a
join ProvanceLocationIsContainedByLocationFactvw b on a.ParentLocationDimKey = b.ProvanceLocationDimKey
and a.ParentLocationDimKey &lt;&gt; b.LocationIsContainedByLocation_ProvanceLocationDimKey
and b.DeletedDate is null
end

/*
select * from @location
select ProvanceLocationDimKey,DisplayName from ProvanceLocationDimvw
*/
-- select a.DisplayName,d.*,e.DisplayName
select count(*) as AssetCount, isnull(e.DisplayName,'Unknown') DisplayName,@TotalAssetCount TotalAssetCount, isnull(e.ProvanceLocationDimKey,-1) LocationDimKey
from ProvanceHardwareAssetStandardDimvw a
join (select a.EntityDimKey,a.BaseManagedEntityId
from ProvanceGeneralAssetDimvw A
WHERE A.LifeCycle NOT IN (@GeneralAssetLifeCycleDisposed,@GeneralAssetLifeCycleReturned)
AND A.IsDeleted = 0
and ISNULL(A.ObjectStatus,'') &lt;&gt; @ObjectStatusPendingDelete
union all
select a.EntityDimKey,a.BaseManagedEntityId
from ProvanceComputerAssetDimvw A
WHERE A.LifeCycle NOT IN (@ComputerAssetLifeCycleDisposed,@ComputerAssetLifeCycleLifeCycleReturned)
AND A.IsDeleted = 0
and ISNULL(A.ObjectStatus,'') &lt;&gt; @ObjectStatusPendingDelete) b on a.BaseManagedEntityId = b.BaseManagedEntityId
left join ProvanceHardwareAssetStandardHasLocationFactvw c on a.ProvanceHardwareAssetStandardDimKey = c.ProvanceHardwareAssetStandardDimKey AND C.DeletedDate IS NULL
left join @Location d on c.HardwareAssetStandardHasLocation_ProvanceLocationDimKey = d.LocationDimKey
left join ProvanceLocationDimvw e on d.ParentLocationDimKey = e.ProvanceLocationDimKey
group by e.DisplayName,e.ProvanceLocationDimKey
</CommandText>
<rd:UseGenericDesigner>true</rd:UseGenericDesigner>
</Query>
<Fields>
<Field Name="AssetCount">
<DataField>AssetCount</DataField>
<rd:TypeName>System.Int32</rd:TypeName>
</Field>
<Field Name="DisplayName">
<DataField>DisplayName</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="TotalAssetCount">
<DataField>TotalAssetCount</DataField>
<rd:TypeName>System.Int32</rd:TypeName>
</Field>
<Field Name="LocationDimKey">
<DataField>LocationDimKey</DataField>
<rd:TypeName>System.Int32</rd:TypeName>
</Field>
</Fields>
</DataSet>
<DataSet Name="AssetByCostCenter">
<Query>
<DataSourceName>DWDataMart</DataSourceName>
<CommandText>--Query AssetsByCostCenter HardwareAssetDashboard
set nocount on
declare @ComputerAssetLifeCycleDisposed varchar(255),
@ComputerAssetLifeCycleLifeCycleReturned varchar(255),
@GeneralAssetLifeCycleDisposed varchar(255),
@GeneralAssetLifeCycleReturned varchar(255),
@ObjectStatusPendingDelete varchar(255),
@TotalAssetCount int

select @ComputerAssetLifeCycleDisposed = 'Provance.Enumeration.ComputerAssetLifeCycle.Disposed',
@ComputerAssetLifeCycleLifeCycleReturned= 'Provance.Enumeration.ComputerAssetLifeCycle.Returned',
@GeneralAssetLifeCycleDisposed = 'Provance.Enumeration.GeneralAssetLifeCycle.Disposed',
@GeneralAssetLifeCycleReturned = 'Provance.Enumeration.GeneralAssetLifeCycle.Returned',
@ObjectStatusPendingDelete = 'System.ConfigItem.ObjectStatusEnum.PendingDelete'

select @TotalAssetCount = ISNULL(COUNT(*) ,0)
from ProvanceComputerAssetDimvw A
WHERE A.LifeCycle NOT IN (@ComputerAssetLifeCycleDisposed,@ComputerAssetLifeCycleLifeCycleReturned)
AND A.IsDeleted = 0
and ISNULL(A.ObjectStatus,'') &lt;&gt; @ObjectStatusPendingDelete


select @TotalAssetCount = ISNULL(@TotalAssetCount,0) + ISNULL(COUNT(*),0)
from ProvanceGeneralAssetDimvw A
WHERE A.LifeCycle NOT IN (@GeneralAssetLifeCycleDisposed,@GeneralAssetLifeCycleReturned)
AND A.IsDeleted = 0
and ISNULL(A.ObjectStatus,'') &lt;&gt; @ObjectStatusPendingDelete


declare @CostCenter Table (CostCenterDimKey int, ParentCostCenterDimKey int)

-- Get all CostCenters and their immediate parent, if they do not have one, they are their own parent
insert into @CostCenter (CostCenterDimKey,ParentCostCenterDimKey)
select a.ProvanceCostCenterDimKey,isnull(b.CostCenterIsContainedByCostCenter_ProvanceCostCenterDimKey,a.ProvanceCostCenterDimKey)
from ProvanceCostCenterDimvw a
left join ProvanceCostCenterIsContainedByCostCenterFactvw b on a.ProvanceCostCenterDimKey = b.ProvanceCostCenterDimKey
and b.DeletedDate is null
where A.IsDeleted = 0
and ISNULL(A.ObjectStatus,'') &lt;&gt; @ObjectStatusPendingDelete

-- If they have a parent update the ParentCostCenterDimKey untill there are no more parents
while @@ROWCOUNT &lt;&gt; 0
begin
update @CostCenter
set ParentCostCenterDimKey = b.CostCenterIsContainedByCostCenter_ProvanceCostCenterDimKey
from @CostCenter a
join ProvanceCostCenterIsContainedByCostCenterFactvw b on a.ParentCostCenterDimKey = b.ProvanceCostCenterDimKey
and a.ParentCostCenterDimKey &lt;&gt; b.CostCenterIsContainedByCostCenter_ProvanceCostCenterDimKey
and b.DeletedDate is null
end

/*
select * from @CostCenter
select ProvanceCostCenterDimKey,DisplayName from ProvanceCostCenterDimvw
*/
-- select a.DisplayName,d.*,e.DisplayName
select count(*) as AssetCount, isnull(e.DisplayName,'Unknown') DisplayName,@TotalAssetCount TotalAssetCount, isnull(e.ProvanceCostCenterDimKey,-1) CostCenterDimKey
from ProvanceHardwareAssetStandardDimvw a
join (select a.EntityDimKey,a.BaseManagedEntityId
from ProvanceGeneralAssetDimvw A
WHERE A.LifeCycle NOT IN (@GeneralAssetLifeCycleDisposed,@GeneralAssetLifeCycleReturned)
AND A.IsDeleted = 0
and ISNULL(A.ObjectStatus,'') &lt;&gt; @ObjectStatusPendingDelete
union all
select a.EntityDimKey,a.BaseManagedEntityId
from ProvanceComputerAssetDimvw A
WHERE A.LifeCycle NOT IN (@ComputerAssetLifeCycleDisposed,@ComputerAssetLifeCycleLifeCycleReturned)
AND A.IsDeleted = 0
and ISNULL(A.ObjectStatus,'') &lt;&gt; @ObjectStatusPendingDelete) b on a.BaseManagedEntityId = b.BaseManagedEntityId
left join ProvanceHardwareAssetStandardHasCostCenterFactvw c on a.ProvanceHardwareAssetStandardDimKey = c.ProvanceHardwareAssetStandardDimKey AND C.DeletedDate IS NULL
left join @CostCenter d on c.HardwareAssetStandardHasCostCenter_ProvanceCostCenterDimKey = d.CostCenterDimKey
left join ProvanceCostCenterDimvw e on d.ParentCostCenterDimKey = e.ProvanceCostCenterDimKey
group by e.DisplayName,e.ProvanceCostCenterDimKey
</CommandText>
<rd:UseGenericDesigner>true</rd:UseGenericDesigner>
</Query>
<Fields>
<Field Name="AssetCount">
<DataField>AssetCount</DataField>
<rd:TypeName>System.Int32</rd:TypeName>
</Field>
<Field Name="DisplayName">
<DataField>DisplayName</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="TotalAssetCount">
<DataField>TotalAssetCount</DataField>
<rd:TypeName>System.Int32</rd:TypeName>
</Field>
<Field Name="CostCenterDimKey">
<DataField>CostCenterDimKey</DataField>
<rd:TypeName>System.Int32</rd:TypeName>
</Field>
</Fields>
</DataSet>
<DataSet Name="AssetsByOrganization">
<Query>
<DataSourceName>DWDataMart</DataSourceName>
<CommandText>--Query AssetsByOrganization HardwareAssetDashboard
declare @ComputerAssetLifeCycleDisposed varchar(255),
@ComputerAssetLifeCycleLifeCycleReturned varchar(255),
@GeneralAssetLifeCycleDisposed varchar(255),
@GeneralAssetLifeCycleReturned varchar(255),
@ObjectStatusPendingDelete varchar(255),
@TotalAssetCount int

select @ComputerAssetLifeCycleDisposed = 'Provance.Enumeration.ComputerAssetLifeCycle.Disposed',
@ComputerAssetLifeCycleLifeCycleReturned= 'Provance.Enumeration.ComputerAssetLifeCycle.Returned',
@GeneralAssetLifeCycleDisposed = 'Provance.Enumeration.GeneralAssetLifeCycle.Disposed',
@GeneralAssetLifeCycleReturned = 'Provance.Enumeration.GeneralAssetLifeCycle.Returned',
@ObjectStatusPendingDelete = 'System.ConfigItem.ObjectStatusEnum.PendingDelete'

select @TotalAssetCount = ISNULL(COUNT(*) ,0)
from ProvanceComputerAssetDimvw A
WHERE A.LifeCycle NOT IN (@ComputerAssetLifeCycleDisposed,@ComputerAssetLifeCycleLifeCycleReturned)
AND A.IsDeleted = 0
and ISNULL(A.ObjectStatus,'') &lt;&gt; @ObjectStatusPendingDelete


select @TotalAssetCount =ISNULL( @TotalAssetCount,0) + ISNULL(COUNT(*) ,0)
from ProvanceGeneralAssetDimvw A
WHERE A.LifeCycle NOT IN (@GeneralAssetLifeCycleDisposed,@GeneralAssetLifeCycleReturned)
AND A.IsDeleted = 0
and ISNULL(A.ObjectStatus,'') &lt;&gt; @ObjectStatusPendingDelete


declare @Organization Table (OrganizationDimKey int, ParentOrganizationDimKey int)

-- Get all Organizations and their immediate parent, if they do not have one, they are their own parent
insert into @Organization (OrganizationDimKey,ParentOrganizationDimKey)
select a.ProvanceOrganizationDimKey,isnull(b.OrganizationIsContainedByOrganization_ProvanceOrganizationDimKey,a.ProvanceOrganizationDimKey)
from ProvanceOrganizationDimvw a
left join ProvanceOrganizationIsContainedByOrganizationFactvw b on a.ProvanceOrganizationDimKey = b.ProvanceOrganizationDimKey
and b.DeletedDate is null
where A.IsDeleted = 0
and ISNULL(A.ObjectStatus,'') &lt;&gt; @ObjectStatusPendingDelete

-- If they have a parent update the ParentOrganizationDimKey untill there are no more parents
while @@ROWCOUNT &lt;&gt; 0
begin
update @Organization
set ParentOrganizationDimKey = b.OrganizationIsContainedByOrganization_ProvanceOrganizationDimKey
from @Organization a
join ProvanceOrganizationIsContainedByOrganizationFactvw b on a.ParentOrganizationDimKey = b.ProvanceOrganizationDimKey
and a.ParentOrganizationDimKey &lt;&gt; b.OrganizationIsContainedByOrganization_ProvanceOrganizationDimKey
and b.DeletedDate is null
end

/*
select * from @Organization
select ProvanceOrganizationDimKey,DisplayName from ProvanceOrganizationDimvw
*/
-- select a.DisplayName,d.*,e.DisplayName
select count(*) as AssetCount, isnull(e.DisplayName,'Unknown') DisplayName,@TotalAssetCount TotalAssetCount, isnull(e.ProvanceOrganizationDimKey,-1) OrganizationDimKey
from ProvanceHardwareAssetStandardDimvw a
join (select a.EntityDimKey,a.BaseManagedEntityId
from ProvanceGeneralAssetDimvw A
WHERE A.LifeCycle NOT IN (@GeneralAssetLifeCycleDisposed,@GeneralAssetLifeCycleReturned)
AND A.IsDeleted = 0
and ISNULL(A.ObjectStatus,'') &lt;&gt; @ObjectStatusPendingDelete
union all
select a.EntityDimKey,a.BaseManagedEntityId
from ProvanceComputerAssetDimvw A
WHERE A.LifeCycle NOT IN (@ComputerAssetLifeCycleDisposed,@ComputerAssetLifeCycleLifeCycleReturned)
AND A.IsDeleted = 0
and ISNULL(A.ObjectStatus,'') &lt;&gt; @ObjectStatusPendingDelete) b on a.BaseManagedEntityId = b.BaseManagedEntityId
left join ProvanceHardwareAssetStandardHasOrganizationFactvw c on a.ProvanceHardwareAssetStandardDimKey = c.ProvanceHardwareAssetStandardDimKey AND C.DeletedDate IS NULL
left join @Organization d on c.HardwareAssetStandardHasOrganization_ProvanceOrganizationDimKey = d.OrganizationDimKey
left join ProvanceOrganizationDimvw e on d.ParentOrganizationDimKey = e.ProvanceOrganizationDimKey
group by e.DisplayName,e.ProvanceOrganizationDimKey
</CommandText>
<rd:UseGenericDesigner>true</rd:UseGenericDesigner>
</Query>
<Fields>
<Field Name="AssetCount">
<DataField>AssetCount</DataField>
<rd:TypeName>System.Int32</rd:TypeName>
</Field>
<Field Name="DisplayName">
<DataField>DisplayName</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="TotalAssetCount">
<DataField>TotalAssetCount</DataField>
<rd:TypeName>System.Int32</rd:TypeName>
</Field>
<Field Name="OrganizationDimKey">
<DataField>OrganizationDimKey</DataField>
<rd:TypeName>System.Int32</rd:TypeName>
</Field>
</Fields>
</DataSet>
<DataSet Name="InvestmentByManufacturer">
<Query>
<DataSourceName>DWDataMart</DataSourceName>
<CommandText>--Query InvestmentbyManufacturer HardwareAssetDashboard
DECLARE @ObjectStatusPendingDelete VARCHAR(255)
SELECT @ObjectStatusPendingDelete = 'System.ConfigItem.ObjectStatusEnum.PendingDelete'


;with Investments as (
SELECT A.Cost Cost,
A.CostCurrency CostCurrency,
E.DisplayName DisplayName,
DATEADD(MONTH,DATEDIFF(MONTH,0,A.ReceivedDate),0) ReceivedDate,
E.ProvanceCompanyDimKey ProvanceCompanyDimKey
FROM ProvanceHardwareAssetStandardDimvw A
JOIN ProvanceHardwareAssetStandardIsHardwareCatalogSerializedFactvw B ON A.ProvanceHardwareAssetStandardDimKey = B.ProvanceHardwareAssetStandardDimKey AND B.DeletedDate IS NULL
JOIN ProvanceHardwareCatalogSerializedDim C ON B.HardwareAssetStandardIsHardwareCatalogSerialized_ProvanceHardwareCatalogSerializedDimKey = C.ProvanceHardwareCatalogSerializedDimKey AND C.IsDeleted = 0 AND ISNULL(C.ObjectStatus,'') &lt;&gt; @ObjectStatusPendingDelete
JOIN ProvanceHardwareCatalogSerializedHasManufacturerFactvw D ON C.ProvanceHardwareCatalogSerializedDimKey = D.ProvanceHardwareCatalogSerializedDimKey AND D.DeletedDate IS NULL
JOIN ProvanceCompanyDimvw E ON D.HardwareCatalogSerializedHasManufacturer_ProvanceCompanyDimKey = E.ProvanceCompanyDimKey AND E.IsDeleted = 0 AND ISNULL(E.ObjectStatus,'') &lt;&gt; @ObjectStatusPendingDelete
WHERE DATEDIFF(mm,A.ReceivedDate,GetDate()) &lt; 13)
-- End of Investments
select SUM(A.Cost) Cost,
MIN(A.CostCurrency) CostIsoCurrencyCode,
MIN(A.DisplayName) DisplayName,
DATEADD(MONTH,DATEDIFF(MONTH,0,A.ReceivedDate),0) ReceivedDate,
A.ProvanceCompanyDimKey CompanyDimKey
FROM Investments A
JOIN (SELECT TOP 10 b.ProvanceCompanyDimKey
FROM Investments B
GROUP BY b.ProvanceCompanyDimKey
ORDER BY SUM(B.Cost)) C ON A.ProvanceCompanyDimKey = C.ProvanceCompanyDimKey
GROUP BY A.ProvanceCompanyDimKey, DATEADD(MONTH,DATEDIFF(MONTH,0,A.ReceivedDate),0)
</CommandText>
<rd:UseGenericDesigner>true</rd:UseGenericDesigner>
</Query>
<Fields>
<Field Name="Cost">
<DataField>Cost</DataField>
<rd:TypeName>System.Decimal</rd:TypeName>
</Field>
<Field Name="DisplayName">
<DataField>DisplayName</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="CostIsoCurrencyCode">
<DataField>CostIsoCurrencyCode</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="ReceivedDate">
<DataField>ReceivedDate</DataField>
<rd:TypeName>System.DateTime</rd:TypeName>
</Field>
<Field Name="CompanyDimKey">
<DataField>CompanyDimKey</DataField>
<rd:TypeName>System.Int32</rd:TypeName>
</Field>
</Fields>
</DataSet>
<DataSet Name="InvestmentBySupplier">
<Query>
<DataSourceName>DWDataMart</DataSourceName>
<CommandText>--Query InvestmentbySupplier HardwareAssetDashboard
DECLARE @ObjectStatusPendingDelete VARCHAR(255)
SELECT @ObjectStatusPendingDelete = 'System.ConfigItem.ObjectStatusEnum.PendingDelete'


;with Investments as (
SELECT A.Cost Cost,
A.CostCurrency CostCurrency,
C.DisplayName DisplayName,
DATEADD(MONTH,DATEDIFF(MONTH,0,A.ReceivedDate),0) ReceivedDate,
C.ProvanceCompanyDimKey ProvanceCompanyDimKey
FROM ProvanceHardwareAssetStandardDimvw A
JOIN ProvanceHardwareAssetStandardHasSupplierFactvw B ON A.ProvanceHardwareAssetStandardDimKey = B.ProvanceHardwareAssetStandardDimKey AND B.DeletedDate IS NULL
JOIN ProvanceCompanyDimvw C ON b.HardwareAssetStandardHasSupplier_ProvanceCompanyDimKey = C.ProvanceCompanyDimKey AND C.IsDeleted = 0 AND ISNULL(C.ObjectStatus,'') &lt;&gt; @ObjectStatusPendingDelete
WHERE DATEDIFF(mm,A.ReceivedDate,GetDate()) &lt; 13)
-- End of Investments
select SUM(A.Cost) Cost,
MIN(A.CostCurrency) CostIsoCurrencyCode,
MIN(A.DisplayName) DisplayName,
DATEADD(MONTH,DATEDIFF(MONTH,0,A.ReceivedDate),0) ReceivedDate,
A.ProvanceCompanyDimKey CompanyDimKey
FROM Investments A
JOIN (SELECT TOP 10 b.ProvanceCompanyDimKey
FROM Investments B
GROUP BY b.ProvanceCompanyDimKey
ORDER BY SUM(B.Cost)) C ON A.ProvanceCompanyDimKey = C.ProvanceCompanyDimKey
GROUP BY A.ProvanceCompanyDimKey, DATEADD(MONTH,DATEDIFF(MONTH,0,A.ReceivedDate),0)
</CommandText>
<rd:UseGenericDesigner>true</rd:UseGenericDesigner>
</Query>
<Fields>
<Field Name="Cost">
<DataField>Cost</DataField>
<rd:TypeName>System.Decimal</rd:TypeName>
</Field>
<Field Name="DisplayName">
<DataField>DisplayName</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="CostIsoCurrencyCode">
<DataField>CostIsoCurrencyCode</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="ReceivedDate">
<DataField>ReceivedDate</DataField>
<rd:TypeName>System.DateTime</rd:TypeName>
</Field>
<Field Name="CompanyDimKey">
<DataField>CompanyDimKey</DataField>
<rd:TypeName>System.Int32</rd:TypeName>
</Field>
</Fields>
</DataSet>
<DataSet Name="AgeOfAsset">
<Query>
<DataSourceName>DWDataMart</DataSourceName>
<CommandText>--Query AgeOfAssetHardwareAssetDashboard
DECLARE @ObjectStatusPendingDelete VARCHAR(255),
@ComputerAssetLifeCycleDisposedId VARCHAR(255),
@ComputerAssetLifeCycleReturnedId VARCHAR(255),
@GeneralAssetLifeCycleDisposedId VARCHAR(255),
@GeneralAssetLifeCycleReturnedId VARCHAR(255),
@HardwareAssetOwnershipTypeNonOwnedId VARCHAR(255),
@HardwareAssetOwnershipTypeLeasedId VARCHAR(255)

SELECT @ObjectStatusPendingDelete = 'System.ConfigItem.ObjectStatusEnum.PendingDelete',
@ComputerAssetLifeCycleDisposedId = 'Provance.Enumeration.ComputerAssetLifeCycle.Disposed',
@ComputerAssetLifeCycleReturnedId = 'Provance.Enumeration.ComputerAssetLifeCycle.Returned',
@GeneralAssetLifeCycleDisposedId = 'Provance.Enumeration.GeneralAssetLifeCycle.Disposed',
@GeneralAssetLifeCycleReturnedId = 'Provance.Enumeration.GeneralAssetLifeCycle.Returned',
@HardwareAssetOwnershipTypeNonOwnedId = 'Provance.Enumeration.HardwareAssetOwnershipType.NonOwned',
@HardwareAssetOwnershipTypeLeasedId = 'Provance.Enumeration.HardwareAssetOwnershipType.Leased'


SELECT COUNT(1) AS AssetCount, C.AgeGroup, MAX(C.TotalAssetCount) TotalAssetCount
FROM (SELECT COUNT(*) OVER () as TotalAssetCount,
B.Cost,
CASE WHEN B.ReceivedDate is null THEN 'Unknown'
WHEN (DATEDIFF(yy,B.ReceivedDate,GetDate())) BETWEEN 0 AND 1 THEN 'IsLessTwoYrs'
WHEN (DATEDIFF(yy,B.ReceivedDate,GetDate())) BETWEEN 2 AND 5 THEN 'IsBetweenTwoAndFiveYrs'
WHEN (DATEDIFF(yy,B.ReceivedDate,GetDate()))&gt; 5 THEN 'IsGreaterFiveYrs'
END AgeGroup
FROM (SELECT a.Cost,a.ReceivedDate
FROM ProvanceComputerAssetDimvw A
WHERE A.LifeCycle NOT IN (@ComputerAssetLifeCycleDisposedId,@ComputerAssetLifeCycleReturnedId)
AND ISNULL(A.OwnershipType,'') NOT IN (@HardwareAssetOwnershipTypeNonOwnedId,@HardwareAssetOwnershipTypeLeasedId)
AND A.IsDeleted = 0
AND ISNULL(A.ObjectStatus,'') &lt;&gt; @ObjectStatusPendingDelete
UNION ALL
SELECT a.Cost,a.ReceivedDate
FROM ProvanceGeneralAssetDimvw A
WHERE A.LifeCycle NOT IN (@GeneralAssetLifeCycleDisposedId,@GeneralAssetLifeCycleReturnedId)
AND ISNULL(A.OwnershipType,'') NOT IN (@HardwareAssetOwnershipTypeNonOwnedId,@HardwareAssetOwnershipTypeLeasedId)
AND A.IsDeleted = 0
AND ISNULL(A.ObjectStatus,'') &lt;&gt; @ObjectStatusPendingDelete
) B ) C
GROUP BY C.AgeGroup
</CommandText>
<rd:UseGenericDesigner>true</rd:UseGenericDesigner>
</Query>
<Fields>
<Field Name="AssetCount">
<DataField>AssetCount</DataField>
<rd:TypeName>System.Int32</rd:TypeName>
</Field>
<Field Name="AgeGroup">
<DataField>AgeGroup</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="TotalAssetCount">
<DataField>TotalAssetCount</DataField>
<rd:TypeName>System.Int32</rd:TypeName>
</Field>
</Fields>
</DataSet>
<DataSet Name="AssetStatus">
<Query>
<DataSourceName>DWDataMart</DataSourceName>
<QueryParameters>
<QueryParameter Name="@UserLanguage">
<Value>=Code.GetReportLocLanguageCode()</Value>
<rd:UserDefined>true</rd:UserDefined>
</QueryParameter>
</QueryParameters>
<CommandText>--Query AssetStatus HardwareAssetDashboard
-- DECLARE @UserLanguage VARCHAR(255) SELECT @UserLanguage = 'ENU'

DECLARE @ObjectStatusPendingDelete VARCHAR(255),
@ComputerAssetLifeCycleDisposedId VARCHAR(255),
@ComputerAssetLifeCycleReturnedId VARCHAR(255),
@GeneralAssetLifeCycleDisposedId VARCHAR(255),
@GeneralAssetLifeCycleReturnedId VARCHAR(255),
@HardwareAssetOwnershipTypeNonOwnedId VARCHAR(255),
@HardwareAssetOwnershipTypeLeasedId VARCHAR(255)

SELECT @ObjectStatusPendingDelete = 'System.ConfigItem.ObjectStatusEnum.PendingDelete',
@ComputerAssetLifeCycleDisposedId = 'Provance.Enumeration.ComputerAssetLifeCycle.Disposed',
@ComputerAssetLifeCycleReturnedId = 'Provance.Enumeration.ComputerAssetLifeCycle.Returned',
@GeneralAssetLifeCycleDisposedId = 'Provance.Enumeration.GeneralAssetLifeCycle.Disposed',
@GeneralAssetLifeCycleReturnedId = 'Provance.Enumeration.GeneralAssetLifeCycle.Returned',
@HardwareAssetOwnershipTypeNonOwnedId = 'Provance.Enumeration.OwnershipType.NonOwned',
@HardwareAssetOwnershipTypeLeasedId = 'Provance.Enumeration.OwnershipType.Leased'



select c.LifeCycleValue HardwareAssetLifecycleStatusValue,
MAX(ProvanceComputerAssetLifeCycleId) HardwareAssetLifecycleStatusId,
count(*) AssetCount,
sum(LeasedYn) LeaseAssetCount,
max(c.TotalAssetCount) TotalAssetCount,
count(*) - sum(LeasedYn) OwnedAssetCount
From ( select COUNT(*) OVER () TotalAssetCount,
LifeCycleValue,ProvanceComputerAssetLifeCycleId,
CASE WHEN OwnershipType = @HardwareAssetOwnershipTypeLeasedId THEN 1 ELSE 0 END LeasedYn
from (SELECT B.ProvanceComputerAssetLifeCycleValue LifeCycleValue,A.OwnershipType,B.ProvanceComputerAssetLifeCycleId
FROM ProvanceComputerAssetDimvw A
LEFT JOIN (SELECT A.ProvanceComputerAssetLifeCycleId,
ISNULL(B.DisplayName, A.ProvanceComputerAssetLifeCycleValue) AS ProvanceComputerAssetLifeCycleValue
FROM ProvanceComputerAssetLifeCyclevw a
LEFT OUTER JOIN DisplayStringDim B ON A.EnumTypeId = B.BaseManagedEntityId AND B.LanguageCode = @UserLanguage) B ON A.LifeCycle_ProvanceComputerAssetLifeCycleId = B.ProvanceComputerAssetLifeCycleId
WHERE A.LifeCycle NOT IN (@ComputerAssetLifeCycleDisposedId,@ComputerAssetLifeCycleReturnedId)
AND ISNULL(A.OwnershipType,'') NOT IN (@HardwareAssetOwnershipTypeNonOwnedId)
AND A.IsDeleted = 0
AND ISNULL(A.ObjectStatus,'') &lt;&gt; @ObjectStatusPendingDelete
UNION ALL
SELECT b.ProvanceGeneralAssetLifeCycleValue, A.OwnershipType,B.ProvanceGeneralAssetLifeCycleId
FROM ProvanceGeneralAssetDimvw A
LEFT JOIN (SELECT A.ProvanceGeneralAssetLifeCycleId,
ISNULL(B.DisplayName, A.ProvanceGeneralAssetLifeCycleValue) AS ProvanceGeneralAssetLifeCycleValue
FROM ProvanceGeneralAssetLifeCyclevw a
LEFT OUTER JOIN DisplayStringDim B ON A.EnumTypeId = B.BaseManagedEntityId AND B.LanguageCode = @UserLanguage) B ON A.LifeCycle_ProvanceGeneralAssetLifeCycleId = B.ProvanceGeneralAssetLifeCycleId
WHERE A.LifeCycle NOT IN (@GeneralAssetLifeCycleDisposedId,@GeneralAssetLifeCycleReturnedId)
AND ISNULL(A.OwnershipType,'') NOT IN (@HardwareAssetOwnershipTypeNonOwnedId)
AND A.IsDeleted = 0
AND ISNULL(A.ObjectStatus,'') &lt;&gt; @ObjectStatusPendingDelete ) b

) c
group by LifeCycleValue
</CommandText>
<rd:UseGenericDesigner>true</rd:UseGenericDesigner>
</Query>
<Fields>
<Field Name="HardwareAssetLifecycleStatusValue">
<DataField>HardwareAssetLifecycleStatusValue</DataField>
<rd:UserDefined>true</rd:UserDefined>
</Field>
<Field Name="HardwareAssetLifecycleStatusId">
<DataField>HardwareAssetLifecycleStatusId</DataField>
<rd:TypeName>System.Int32</rd:TypeName>
</Field>
<Field Name="AssetCount">
<DataField>AssetCount</DataField>
<rd:UserDefined>true</rd:UserDefined>
</Field>
<Field Name="LeaseAssetCount">
<DataField>LeaseAssetCount</DataField>
<rd:UserDefined>true</rd:UserDefined>
</Field>
<Field Name="OwnedAssetCount">
<DataField>OwnedAssetCount</DataField>
<rd:UserDefined>true</rd:UserDefined>
</Field>
<Field Name="TotalAssetCount">
<DataField>TotalAssetCount</DataField>
<rd:TypeName>System.Int32</rd:TypeName>
</Field>
</Fields>
</DataSet>
<DataSet Name="ContractExpiration">
<Query>
<DataSourceName>DWDataMart</DataSourceName>
<QueryParameters>
<QueryParameter Name="@ThresholdContractExpired">
<Value>=Parameters!ThresholdContractExpired.Value</Value>
</QueryParameter>
<QueryParameter Name="@ThresholdContractCloseToExpired">
<Value>=Parameters!ThresholdContractCloseToExpired.Value</Value>
</QueryParameter>
</QueryParameters>
<CommandText>--Query ContractExpiration HardwareAssetDashboard
-- DEClare @ThresholdContractExpired INT,
-- @ThresholdContractCloseToExpired int


--select @ThresholdContractExpired =1,
-- @ThresholdContractCloseToExpired =365



declare @objectStatusPendingDelete varchar(255)

select @objectStatusPendingDelete = 'System.ConfigItem.ObjectStatusEnum.PendingDelete'



SELECT 1 As GroupingProperty,
Z.ContractType,
Sum(Case when datediff(d,GETDATE(),Z.ExpiryDate) &lt;= @ThresholdContractExpired THEN 1 ELSE 0 END) AS Expired,
Sum(Case WHen datediff(d,GETDATE(),Z.ExpiryDate) &gt; @ThresholdContractExpired
and datediff(d,GETDATE(),Z.ExpiryDate) &lt;= @ThresholdContractCloseToExpired THEN 1 Else 0 END) AS CloseToExpired,
Sum(Case When datediff(d,GETDATE(),Z.ExpiryDate) &gt; @ThresholdContractCloseToExpired THEN 1 Else 0 END) AS Good
FROM
(
SELECT 'Lease' AS ContractType, A.ExpiryDate
FROM ProvanceLeaseAgreementDimvw A
WHERE A.IsDeleted = 0
AND ISNULL(a.ObjectStatus,'') &lt;&gt; @objectStatusPendingDelete
UNION ALL
SELECT 'Warranty' AS ContractType, B.ExpiryDate
FROM ProvanceWarrantyAgreementDimvw A
JOIN ProvanceHardwareAssetStandardHasWarrantyAgreementFactvw B ON A.ProvanceWarrantyAgreementDimKey = B.HardwareAssetStandardHasWarrantyAgreement_ProvanceWarrantyAgreementDimKey
WHERE A.IsDeleted = 0
AND ISNULL(a.ObjectStatus,'') &lt;&gt; @objectStatusPendingDelete
UNION ALL
SELECT 'Support' AS ContractType, A.ExpiryDate
FROM ProvanceHardwareMaintenanceAgreementDimvw A
WHERE A.IsDeleted = 0
AND ISNULL(a.ObjectStatus,'') &lt;&gt; @objectStatusPendingDelete
UNION ALL
SELECT 'Disposal' AS ContractType, a.ExpiryDate
FROM ProvanceDisposalAgreementDimvw A
WHERE A.IsDeleted = 0
AND ISNULL(a.ObjectStatus,'') &lt;&gt; @objectStatusPendingDelete
UNION ALL
SELECT 'UserDefined' AS ContractType, A.ExpiryDate
FROM ProvanceUserDefinedAgreementDimvw A
WHERE A.IsDeleted = 0
AND ISNULL(a.ObjectStatus,'') &lt;&gt; @objectStatusPendingDelete) Z
GROUP BY Z.ContractType
</CommandText>
<rd:UseGenericDesigner>true</rd:UseGenericDesigner>
</Query>
<Fields>
<Field Name="ContractType">
<DataField>ContractType</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="GroupingProperty">
<DataField>GroupingProperty</DataField>
<rd:TypeName>System.Int32</rd:TypeName>
</Field>
<Field Name="Expired">
<DataField>Expired</DataField>
<rd:TypeName>System.Int32</rd:TypeName>
</Field>
<Field Name="CloseToExpired">
<DataField>CloseToExpired</DataField>
<rd:TypeName>System.Int32</rd:TypeName>
</Field>
<Field Name="Good">
<DataField>Good</DataField>
<rd:TypeName>System.Int32</rd:TypeName>
</Field>
</Fields>
</DataSet>
<DataSet Name="ContractAdminSettings">
<Query>
<DataSourceName>DWDataMart</DataSourceName>
<CommandText>--Query ContractAdminSettings HardwareAssetDashboard

-- The full outer join will ensure we have a value even if there is no row in ProvanceAssetAdminSettings.
SELECT DISTINCT TOP 1 ISNULL(B.AgreementExpiredThreshold,1) ExpiredThresholdDays, ISNULL(B.AgreementExpiryWarningThreshold,365) CloseToExpiredThresholdDays
FROM (select 1 C1) a
full outer join ProvanceAssetAdminSettingsDim B on B.IsDeleted = 0
--AND SourceId = @SourceId
</CommandText>
</Query>
<Fields>
<Field Name="ExpiredThresholdDays">
<DataField>ExpiredThresholdDays</DataField>
<rd:TypeName>System.Int32</rd:TypeName>
</Field>
<Field Name="CloseToExpiredThresholdDays">
<DataField>CloseToExpiredThresholdDays</DataField>
<rd:TypeName>System.Int32</rd:TypeName>
</Field>
</Fields>
</DataSet>
</DataSets>
<ReportParameters>
<ReportParameter Name="LT_Report">
<DataType>String</DataType>
<DefaultValue>
<DataSetReference>
<DataSetName>LT_Report</DataSetName>
<ValueField>XML_F52E2B61_18A1_11d1_B105_00805F49916B</ValueField>
</DataSetReference>
</DefaultValue>
<Hidden>true</Hidden>
</ReportParameter>
<ReportParameter Name="ThresholdContractExpired">
<DataType>Integer</DataType>
<DefaultValue>
<DataSetReference>
<DataSetName>ContractAdminSettings</DataSetName>
<ValueField>ExpiredThresholdDays</ValueField>
</DataSetReference>
</DefaultValue>
<Prompt>Threshold Contract Expired</Prompt>
</ReportParameter>
<ReportParameter Name="ThresholdContractCloseToExpired">
<DataType>String</DataType>
<DefaultValue>
<DataSetReference>
<DataSetName>ContractAdminSettings</DataSetName>
<ValueField>CloseToExpiredThresholdDays</ValueField>
</DataSetReference>
</DefaultValue>
<Prompt>Threshold Contract Close To Expired</Prompt>
</ReportParameter>
</ReportParameters>
<Code><Script>
Const LocTableStringQuery As String = "R/S[@N='{0}']/text()"

Const TimeZoneParameterName As String = "TimeZone"
Const SD_BaseTypeParameterName As String = "StartDate_BaseType"
Const SD_BaseValueParameterName As String = "StartDate_BaseValue"
Const SD_OffsetTypeParameterName As String = "StartDate_OffsetType"
Const SD_OffsetValueParameterName As String = "StartDate_OffsetValue"
Const ED_BaseTypeParameterName As String = "EndDate_BaseType"
Const ED_BaseValueParameterName As String = "EndDate_BaseValue"
Const ED_OffsetTypeParameterName As String = "EndDate_OffsetType"
Const ED_OffsetValueParameterName As String = "EndDate_OffsetValue"
Const IsRelativeTimeSupported As Boolean = False
Const TimeTypeParameterName As String = "TimeType"
Const TimeWeekMapParameterName As String = "TimeWeekMap"

Dim LocTables As System.Collections.Generic.Dictionary(Of String, Microsoft.EnterpriseManagement.Reporting.XmlStringTable)
Dim ReportTimeZone As Microsoft.EnterpriseManagement.Reporting.TimeZoneCoreInformation
Dim ReportStartDate As DateTime
Dim ReportEndDate As DateTime
Dim ReportTime As Microsoft.EnterpriseManagement.Reporting.ParameterProcessor.RelativeTime
Dim ReportCulture As System.Globalization.CultureInfo
Dim ParameterProcessor As Microsoft.EnterpriseManagement.Reporting.ParameterProcessor
Dim TargetList As String

Protected Overrides Sub OnInit()
LocTables = new System.Collections.Generic.Dictionary(Of String, Microsoft.EnterpriseManagement.Reporting.XmlStringTable)()
ReportTimeZone = Microsoft.EnterpriseManagement.Reporting.TimeZoneInformation.Current
ReportStartDate = DateTime.MinValue
ReportEndDate = DateTime.MinValue
ReportTime = Nothing
ReportCulture = System.Globalization.CultureInfo.GetCultureInfo(Report.User("Language"))
ParameterProcessor = New Microsoft.EnterpriseManagement.Reporting.ParameterProcessor(ReportCulture)
TargetList =Nothing
End Sub

'Public Function GetCallingManagementGroupId() As String
' Return 'Microsoft.EnterpriseManagement.Reporting.ReportingConfiguration.M'anagementGroupId
'End Function

Public Function GetReportLocLanguageCode() As String
Return ReportCulture.ThreeLetterWindowsLanguageName
End Function

Public Function GetReportLCID() As Integer
Return ReportCulture.LCID
End Function

Public Function GetLocTable(Name As String) As Microsoft.EnterpriseManagement.Reporting.XmlStringTable
Dim LocTable As Microsoft.EnterpriseManagement.Reporting.XmlStringTable

If Not LocTables.TryGetValue(Name, LocTable) Then
LocTable = New Microsoft.EnterpriseManagement.Reporting.XmlStringTable(LocTableStringQuery, Report.Parameters(Name).Value)
LocTables.Add(Name, LocTable)
End If

Return LocTable
End Function

Public Function GetReportTimeZone() As Microsoft.EnterpriseManagement.Reporting.TimeZoneCoreInformation
If IsNothing(ReportTimeZone) Then ReportTimeZone = Microsoft.EnterpriseManagement.Reporting.TimeZoneCoreInformation.FromValueString(Report.Parameters(TimeZoneParameterName).Value)
Return ReportTimeZone
End Function

Public Function ToDbDate(ByVal DateValue As DateTime) As DateTime
return GetReportTimeZone.ToUniversalTime(DateValue)
End Function

Public Function ToReportDate(ByVal DateValue As DateTime) As DateTime
return GetReportTimeZone.ToLocalTime(DateValue)
End Function

Public Function GetReportStartDate() As DateTime
If (ReportStartDate = DateTime.MinValue) Then
If (IsRelativeTimeSupported) Then
ReportStartDate = ParameterProcessor.GetDateTime(ToReportDate(DateTime.UtcNow), Report.Parameters(SD_BaseTypeParameterName).Value, Report.Parameters(SD_BaseValueParameterName).Value, Report.Parameters(SD_OffsetTypeParameterName).Value, Report.Parameters(SD_OffsetValueParameterName).Value, Report.Parameters(TimeTypeParameterName).Value)
Else
ReportStartDate = ParameterProcessor.GetDateTime(ToReportDate(DateTime.UtcNow), Report.Parameters(SD_BaseTypeParameterName).Value, Report.Parameters(SD_BaseValueParameterName).Value, Report.Parameters(SD_OffsetTypeParameterName).Value, Report.Parameters(SD_OffsetValueParameterName).Value)
End if
End If
return ReportStartDate
End Function

Public Function GetReportEndDate() As DateTime
If (ReportEndDate = DateTime.MinValue) Then
If (IsRelativeTimeSupported) Then
ReportEndDate = ParameterProcessor.GetDateTime(ToReportDate(DateTime.UtcNow), Report.Parameters(ED_BaseTypeParameterName).Value, Report.Parameters(ED_BaseValueParameterName).Value, Report.Parameters(ED_OffsetTypeParameterName).Value, Report.Parameters(ED_OffsetValueParameterName).Value, Report.Parameters(TimeTypeParameterName).Value)
If IsBusinessHours(GetReportTimeFilter()) Then ReportEndDate = ReportCulture.Calendar.AddDays(ReportEndDate, 1)
Else
ReportEndDate = ParameterProcessor.GetDateTime(ToReportDate(DateTime.UtcNow), Report.Parameters(ED_BaseTypeParameterName).Value, Report.Parameters(ED_BaseValueParameterName).Value, Report.Parameters(ED_OffsetTypeParameterName).Value, Report.Parameters(ED_OffsetValueParameterName).Value)
End if
End If
return ReportEndDate
End Function

Public Function GetReportTimeFilter() As Microsoft.EnterpriseManagement.Reporting.ParameterProcessor.RelativeTime
If IsNothing(ReportTime) Then ReportTime = New Microsoft.EnterpriseManagement.Reporting.ParameterProcessor.RelativeTime(Report.Parameters(TimeTypeParameterName).Value, Report.Parameters(SD_BaseValueParameterName).Value, Report.Parameters(ED_BaseValueParameterName).Value, CStr(Join(Report.Parameters(TimeWeekMapParameterName).Value, ",")))
return ReportTime
End Function

Public Function IsBusinessHours(Value As Microsoft.EnterpriseManagement.Reporting.ParameterProcessor.RelativeTime) As Boolean
return (Not IsNothing(Value)) And (Value.TimeType = Microsoft.EnterpriseManagement.Reporting.ParameterProcessor.RelativeTimeType.Business)
End Function

Public Function FormatDateTime(Format As String, Value As DateTime) As String
return Value.ToString(Format, ReportCulture)
End Function

Public Function FormatNumber(Format As String, Value As Decimal) As String
return Value.ToString(Format, ReportCulture)
End Function

Public Function FormatString(Format As String, ParamArray Values() as Object) As String
return String.Format(ReportCulture, Format, Values)
End Function

Public Function NullFormatString(Format As String, Value as String) As String
return IIF(String.IsNullOrEmpty(Value), String.Empty, String.Format(ReportCulture, Format, Value))
End Function

Public Function FormatBusinessHours(Format As String, Value As Microsoft.EnterpriseManagement.Reporting.ParameterProcessor.RelativeTime) As String
Dim result As String

If IsBusinessHours(Value) Then

Dim firstDay As DayOfWeek
Dim days As System.Collections.Generic.List(Of String)

firstDay = ReportCulture.DateTimeFormat.FirstDayOfWeek
days = new System.Collections.Generic.List(Of String)()

For loopDay As DayOfWeek = DayOfWeek.Sunday To DayOfWeek.Saturday
Dim day As DayOfWeek
day = CType((CInt(loopDay) + CInt(firstDay)) Mod 7, DayOfWeek)

If value.WeekMap.Contains(day) Then days.Add(ReportCulture.DateTimeFormat.GetAbbreviatedDayName(day))
Next loopDay

result = FormatString(Format, DateTime.Today.Add(Value.StartTime).ToString(ReportCulture.DateTimeFormat.ShortTimePattern), DateTime.Today.Add(Value.EndTime).ToString(ReportCulture.DateTimeFormat.ShortTimePattern), String.Join(",", days.ToArray()))

Else
result = String.Empty
End if

return result
End Function

Public Function BuildXmlValueList(ByVal ValueList() As Object) As String
Return Microsoft.EnterpriseManagement.Reporting.MultiValueParameter.ToXml("Data", "Value", ValueList)
End Function


REM -------------------------------------------------

Dim ReportFormatList As System.Collections.Generic.Dictionary(Of String, IDataFormatter)
Const FormatListParameterName As String = "DataFormat"

REM -------------------------------------------------

Public Interface IDataFormatter
Function FormatData(ByVal Value As String) As String
End Interface

Public Class RankDataFormatter
Implements IDataFormatter

Private Series As System.Collections.Generic.SortedDictionary(Of Decimal, String)
Private Culture As System.Globalization.CultureInfo

Public Sub New(ByVal Config As System.Xml.XmlNode, ByVal ReportCulture As System.Globalization.CultureInfo)
Culture = ReportCulture
Series = New System.Collections.Generic.SortedDictionary(Of Decimal, String)()

For Each SeriesXml As System.Xml.XmlNode In Config.ChildNodes
Series.Add(Decimal.Parse(SeriesXml.Attributes("Rank").Value), SeriesXml.Attributes("Format").Value)
Next
End Sub

Public Function FormatData(ByVal Value As String) As String Implements IDataFormatter.FormatData
Dim Result As String = CDec(Value).ToString("G", Culture)

For Each FormatItem As System.Collections.Generic.KeyValuePair(Of Decimal, String) In Series
Dim RunningValue As Decimal = Math.Round(Value / FormatItem.Key)
If RunningValue &gt; 0 Then
Result = String.Format(Culture, FormatItem.Value, RunningValue.ToString("G", Culture))
Else
Exit For
End If
Next

Return Result
End Function
End Class

Public Class LookupDataFormatter
Implements IDataFormatter

Private MappingTable As System.Collections.Generic.IDictionary(Of String, String)

Public Sub New(ByVal Config As System.Xml.XmlNode)
MappingTable = New System.Collections.Generic.Dictionary(Of String, String)(StringComparer.OrdinalIgnoreCase)
For Each SeriesXml As System.Xml.XmlNode In Config.ChildNodes
MappingTable.Add(Decimal.Parse(SeriesXml.Attributes("Value").Value), SeriesXml.Attributes("Label").Value)
Next
End Sub

Public Function FormatData(ByVal Value As String) As String Implements IDataFormatter.FormatData
Dim Result As String
If MappingTable.ContainsKey(Value) Then
Result = MappingTable(Value)
Else
Result = Value
End If
Return Result
End Function
End Class

Public Function GetReportFormatList() As System.Collections.Generic.Dictionary(Of String, IDataFormatter)
If IsNothing(ReportFormatList) Then
Dim Xml As System.Xml.XmlDocument = New System.Xml.XmlDocument()
Xml.LoadXml(Report.Parameters(FormatListParameterName).Value)

ReportFormatList = New System.Collections.Generic.Dictionary(Of String, IDataFormatter)(StringComparer.OrdinalIgnoreCase)
For Each Node As System.Xml.XmlNode In Xml.DocumentElement.ChildNodes
Dim Formatter As IDataFormatter = Nothing

Select Case Node.Attributes("Type").Value.ToUpper()
Case "RANK"
Formatter = New RankDataFormatter(Node, ReportCulture)
Case "LOOKUP"
Formatter = New LookupDataFormatter(Node)
End Select

If Not IsNothing(Formatter) Then
ReportFormatList.Add(Node.Attributes("Name").Value, Formatter)
End If
Next
End If
Return ReportFormatList
End Function

Public Function FormatData(ByVal FormatName As String, ByVal DataType As String, ByVal Value As String)
Dim FormatList As System.Collections.Generic.Dictionary(Of String, IDataFormatter) = GetReportFormatList()
If Not String.IsNullOrEmpty(FormatName) And Not IsNothing(FormatList) Then
If FormatList.ContainsKey(FormatName) Then
Return FormatList(FormatName).FormatData(Value)
End If
End If

If Not String.IsNullOrEmpty(DataType) Then
If DataType = "DateTime" Then
Return FormatDateTime("g", CDate(Value))
ElseIf DataType.StartsWith("UInt") Then
Return FormatNumber("G", Value)
End If
End If

Return Value
End Function

REM ----------------------------------------

Public Dim CurrentObjectList As String

Public Function InitList(ByRef List As String) As String
List = String.Empty
Return List
End Function

Public Function AddListItem(ByRef List As String, Item as String) As String
List = List + Item
Return List
End Function

Public Function GetObjectList(ByVal OptionsXml As String) As String()
Dim Xml As System.Xml.XmlDocument
Xml = New System.Xml.XmlDocument()
Xml.LoadXml(OptionsXml)

Dim Result As System.Collections.Generic.List(Of String)
Result = New System.Collections.Generic.List(Of String)
For Each ObjectNode As System.Xml.XmlNode In Xml.SelectNodes("/Value/Object")
If Not Result.Contains(ObjectNode.InnerText) Then
Result.Add(ObjectNode.InnerText)
End If
Next

Return Result.ToArray()
End Function
</Script></Code>
<CodeModules>
<CodeModule>Microsoft.EnterpriseManagement.Reporting.Code, Version=7.0.5000.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35</CodeModule>
<CodeModule>System.Xml, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</CodeModule>
</CodeModules>
<rd:ReportUnitType>Inch</rd:ReportUnitType>
<rd:ReportID>4ccfd6e4-92f8-4ee4-92f3-e474fef0feb6</rd:ReportID>
</Report>