Res.Comtrade.Citrix.XenDesktop.EndUser.Reports.UserGrowthOverTime (ReportResource)

Element properties:

TypeReportResource
File NameComtrade.Citrix.XenDesktop.EndUser.Reports.UserGrowthOverTime.rdl
AccessibilityPublic

File Content: Comtrade.Citrix.XenDesktop.EndUser.Reports.UserGrowthOverTime.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>
<Image Name="banner_image">
<Source>External</Source>
<Value>Comtrade.Citrix.XenDesktop.EndUser.Reports.banner_772.png</Value>
<Top>0.0625in</Top>
<Height>0.53958in</Height>
<Width>8.05in</Width>
<Style /></Style>
</Image>
<Rectangle Name="rectangle2">
<ReportItems>
<Textbox Name="textbox29">
<CanGrow>true</CanGrow>
<CanShrink>true</CanShrink>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Code.GetLocTable("LT_Report").GetString("R.ReportDuration", "[Report Duration]")</Value>
<Style></Style>
<FontFamily>Tahoma</FontFamily>
<FontSize>8pt</FontSize>
</Style>
</TextRun>
</TextRuns>
<Style /></Style>
</Paragraph>
</Paragraphs>
<Top>0.26389in</Top>
<Left>0.2in</Left>
<Height>0.2in</Height>
<Width>1.65in</Width>
<DataElementOutput>NoOutput</DataElementOutput>
<Style></Style>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
<Textbox Name="textbox26">
<CanGrow>true</CanGrow>
<CanShrink>true</CanShrink>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Code.GetLocTable("LT_Report").GetString("R.ReportTime", "[Report Time]")</Value>
<Style></Style>
<FontFamily>Tahoma</FontFamily>
<FontSize>8pt</FontSize>
</Style>
</TextRun>
</TextRuns>
<Style /></Style>
</Paragraph>
</Paragraphs>
<Top>0.05in</Top>
<Left>0.2in</Left>
<Height>0.2in</Height>
<Width>1.65in</Width>
<ZIndex>1</ZIndex>
<DataElementOutput>NoOutput</DataElementOutput>
<Style></Style>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
<Textbox Name="textbox25">
<CanGrow>true</CanGrow>
<CanShrink>true</CanShrink>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>:</Value>
<Style></Style>
<FontFamily>Tahoma</FontFamily>
<FontSize>8pt</FontSize>
</Style>
</TextRun>
</TextRuns>
<Style /></Style>
</Paragraph>
</Paragraphs>
<Top>0.05in</Top>
<Left>1.85in</Left>
<Height>0.2in</Height>
<Width>0.1in</Width>
<ZIndex>2</ZIndex>
<DataElementOutput>NoOutput</DataElementOutput>
<Style></Style>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
<Textbox Name="ReportGeneratedTime">
<CanGrow>true</CanGrow>
<CanShrink>true</CanShrink>
<DataElementStyle>Element</DataElementStyle>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Code.FormatDateTime("g", Code.ToReportDate(DateTime.UtcNow))</Value>
<Style></Style>
<FontFamily>Tahoma</FontFamily>
<FontSize>8pt</FontSize>
</Style>
</TextRun>
</TextRuns>
<Style /></Style>
</Paragraph>
</Paragraphs>
<Top>0.05in</Top>
<Left>1.95in</Left>
<Height>0.2in</Height>
<Width>6.05in</Width>
<ZIndex>3</ZIndex>
<DataElementName>Created</DataElementName>
<DataElementOutput>Output</DataElementOutput>
<Style></Style>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
<Image Name="parameterBottomImage">
<Source>External</Source>
<Value>../gradient_portrait.gif</Value>
<Top>0.53333in</Top>
<Height>0.05in</Height>
<Width>8.05in</Width>
<ZIndex>4</ZIndex>
<Style /></Style>
</Image>
<Textbox Name="textbox23">
<CanGrow>true</CanGrow>
<CanShrink>true</CanShrink>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>:</Value>
<Style></Style>
<FontFamily>Tahoma</FontFamily>
<FontSize>8pt</FontSize>
</Style>
</TextRun>
</TextRuns>
<Style /></Style>
</Paragraph>
</Paragraphs>
<Top>0.26389in</Top>
<Left>1.85in</Left>
<Height>0.2in</Height>
<Width>0.1in</Width>
<ZIndex>5</ZIndex>
<DataElementOutput>NoOutput</DataElementOutput>
<Style></Style>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
<Textbox Name="textbox21">
<CanGrow>true</CanGrow>
<CanShrink>true</CanShrink>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Code.FormatString(Code.GetLocTable("LT_Report").GetString("R.StartEndTimeFormat", "{0} - {1}"), Code.FormatDateTime("g", Code.GetReportStartDate()), Code.FormatDateTime("g", Code.GetReportEndDate()))</Value>
<Style></Style>
<FontFamily>Tahoma</FontFamily>
<FontSize>8pt</FontSize>
</Style>
</TextRun>
</TextRuns>
<Style /></Style>
</Paragraph>
</Paragraphs>
<Top>0.26389in</Top>
<Left>1.95in</Left>
<Height>0.2in</Height>
<Width>6.05in</Width>
<ZIndex>6</ZIndex>
<DataElementOutput>NoOutput</DataElementOutput>
<Style></Style>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</ReportItems>
<DataElementOutput>ContentsOnly</DataElementOutput>
<Top>1.35417in</Top>
<Height>0.58333in</Height>
<Width>8.05in</Width>
<ZIndex>1</ZIndex>
<Style /></Style>
</Rectangle>
<Rectangle Name="rectangle3">
<ReportItems>
<Textbox Name="reportDescription">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Code.GetReportDescription()</Value>
<Style></Style>
<FontFamily>Tahoma</FontFamily>
<FontSize>8pt</FontSize>
</Style>
</TextRun>
</TextRuns>
<Style /></Style>
</Paragraph>
</Paragraphs>
<Left>0.2in</Left>
<Height>0.2in</Height>
<Width>7.8in</Width>
<DataElementOutput>NoOutput</DataElementOutput>
<Style></Style>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</ReportItems>
<DataElementOutput>ContentsOnly</DataElementOutput>
<Top>1.10417in</Top>
<Height>0.2in</Height>
<Width>8.05in</Width>
<ZIndex>2</ZIndex>
<Visibility>
<Hidden>true</Hidden>
<ToggleItem>reportDescriptionTitle</ToggleItem>
</Visibility>
<Style></Style>
<BackgroundColor>Gainsboro</BackgroundColor>
</Style>
</Rectangle>
<Rectangle Name="rectangle4">
<ReportItems>
<Textbox Name="reportTitle">
<CanGrow>true</CanGrow>
<DataElementStyle>Element</DataElementStyle>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Code.GetReportName()</Value>
<Style></Style>
<FontFamily>Tahoma</FontFamily>
<FontSize>11pt</FontSize>
<FontWeight>Bold</FontWeight>
</Style>
</TextRun>
</TextRuns>
<Style /></Style>
</Paragraph>
</Paragraphs>
<Top>0.05in</Top>
<Left>0.2in</Left>
<Height>0.25in</Height>
<Width>7.8in</Width>
<DataElementName>Title</DataElementName>
<DataElementOutput>Output</DataElementOutput>
<Style></Style>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
<Textbox Name="reportDescriptionTitle">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Code.GetLocTable("LT_Report").GetString("R.DescriptionTitle", "[Report Description Title]")</Value>
<Style></Style>
<FontFamily>Tahoma</FontFamily>
<FontSize>8pt</FontSize>
<Color>DimGray</Color>
</Style>
</TextRun>
</TextRuns>
<Style /></Style>
</Paragraph>
</Paragraphs>
<Top>0.3in</Top>
<Height>0.2in</Height>
<Width>8in</Width>
<ZIndex>1</ZIndex>
<DataElementOutput>NoOutput</DataElementOutput>
<Style></Style>
<VerticalAlign>Middle</VerticalAlign>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</ReportItems>
<DataElementOutput>ContentsOnly</DataElementOutput>
<Top>0.60417in</Top>
<Height>0.5in</Height>
<Width>8.05in</Width>
<ZIndex>3</ZIndex>
<Style></Style>
<BackgroundColor>Gainsboro</BackgroundColor>
</Style>
</Rectangle>
<Tablix Name="Tablix1">
<TablixBody>
<TablixColumns>
<TablixColumn>
<Width>20.87515cm</Width>
</TablixColumn>
</TablixColumns>
<TablixRows>
<TablixRow>
<Height>25.41317cm</Height>
<TablixCells>
<TablixCell>
<CellContents>
<Rectangle Name="Rectangle5">
<ReportItems>
<Textbox Name="textbox1">
<CanGrow>true</CanGrow>
<CanShrink>true</CanShrink>
<DataElementStyle>Element</DataElementStyle>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Code.FormatString("{0}", IIF(Parameters!ObjectType.Value = "Site", Fields!SiteDisplayName.Value, Fields!DGDisplayName.Value))</Value>
<Style></Style>
<FontFamily>Tahoma</FontFamily>
<FontSize>11pt</FontSize>
<FontWeight>Bold</FontWeight>
</Style>
</TextRun>
</TextRuns>
<Style /></Style>
</Paragraph>
</Paragraphs>
<Top>0.26176cm</Top>
<Height>0.25in</Height>
<Width>8.05in</Width>
<DataElementName>Max</DataElementName>
<DataElementOutput>Output</DataElementOutput>
<Style></Style>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
<Textbox Name="textbox15">
<CanGrow>true</CanGrow>
<CanShrink>true</CanShrink>
<DataElementStyle>Element</DataElementStyle>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Code.FormatString("{0}", IIF(Parameters!ObjectType.Value = "Site", Code.GetLocTable("LT_Table").GetString("RT.Title.Site", "[(Site)]"), Code.GetLocTable("LT_Table").GetString("RT.Title.DG", "[(Delivery Group)]")))</Value>
<Style></Style>
<FontFamily>Tahoma</FontFamily>
<FontSize>8pt</FontSize>
<Color>DimGray</Color>
</Style>
</TextRun>
</TextRuns>
<Style /></Style>
</Paragraph>
</Paragraphs>
<Top>0.33917in</Top>
<Height>0.2in</Height>
<Width>8.05in</Width>
<ZIndex>1</ZIndex>
<DataElementName>Min</DataElementName>
<DataElementOutput>Output</DataElementOutput>
<Style></Style>
<Border>
<Style></Style>None</Style>
</Border>
<BottomBorder>
<Color>Black</Color>
<Style></Style>Solid</Style>
</BottomBorder>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
<Chart Name="Chart1">
<ChartCategoryHierarchy>
<ChartMembers>
<ChartMember>
<Group Name="Chart1_CategoryGroup">
<GroupExpressions>
<GroupExpression>=Fields!LoginDate.Value</GroupExpression>
</GroupExpressions>
<Filters>
<Filter>
<FilterExpression>=Fields!DataSet.Value</FilterExpression>
<Operator>Equal</Operator>
<FilterValues>
<FilterValue DataType="Integer">1</FilterValue>
</FilterValues>
</Filter>
</Filters>
</Group>
<SortExpressions>
<SortExpression>
<Value>=Fields!LoginDate.Value</Value>
</SortExpression>
</SortExpressions>
<Label>=Code.FormatAggregatedTimeValueLabel2(Fields!LoginDate.Value,1)</Label>
</ChartMember>
</ChartMembers>
</ChartCategoryHierarchy>
<ChartSeriesHierarchy>
<ChartMembers>
<ChartMember>
<Label>Login Count Sum</Label>
</ChartMember>
</ChartMembers>
</ChartSeriesHierarchy>
<ChartData>
<ChartSeriesCollection>
<ChartSeries Name="LoginCountSum">
<ChartDataPoints>
<ChartDataPoint>
<ChartDataPointValues>
<Y>=IIF(Fields!DataSet.Value = 1,Fields!LoginCountSum.Value, nothing)</Y>
</ChartDataPointValues>
<ChartDataLabel>
<Style /></Style>
</ChartDataLabel>
<Style></Style>
<Border>
<Width>1.5pt</Width>
</Border>
<Color>Red</Color>
</Style>
<ChartMarker>
<Style /></Style>
</ChartMarker>
<DataElementOutput>Output</DataElementOutput>
</ChartDataPoint>
</ChartDataPoints>
<Type>Line</Type>
<Style /></Style>
<ChartEmptyPoints>
<Style /></Style>
<ChartMarker>
<Style /></Style>
</ChartMarker>
<ChartDataLabel>
<Style /></Style>
</ChartDataLabel>
</ChartEmptyPoints>
<ChartItemInLegend>
<LegendText>=Code.GetLocTable("LT_Table").GetString("RT.Chart.NoOfUsers", "[# of Unique Users]")</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>
<FontFamily>Tahoma</FontFamily>
<FontSize>8pt</FontSize>
</Style>
<ChartAxisTitle>
<Caption />
<Style></Style>
<FontFamily>Tahoma</FontFamily>
<FontSize>8pt</FontSize>
</Style>
</ChartAxisTitle>
<Interval>1</Interval>
<ChartMajorGridLines>
<Style></Style>
<Border>
<Color>#c7ddff</Color>
<Width>0.8pt</Width>
</Border>
</Style>
</ChartMajorGridLines>
<ChartMinorGridLines>
<Enabled>False</Enabled>
<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>
<PreventFontShrink>true</PreventFontShrink>
<PreventFontGrow>true</PreventFontGrow>
<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>
<FontFamily>Tahoma</FontFamily>
<FontSize>8pt</FontSize>
</Style>
<ChartAxisTitle>
<Caption />
<Style></Style>
<FontSize>8pt</FontSize>
</Style>
</ChartAxisTitle>
<ChartMajorGridLines>
<Style></Style>
<Border>
<Color>#c7ddff</Color>
<Width>0.8pt</Width>
</Border>
</Style>
</ChartMajorGridLines>
<ChartMinorGridLines>
<Enabled>False</Enabled>
<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>
<PreventFontShrink>true</PreventFontShrink>
<PreventFontGrow>true</PreventFontGrow>
<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>
<Border>
<Style></Style>Dotted</Style>
</Border>
<BackgroundGradientType>None</BackgroundGradientType>
<FontFamily>Tahoma</FontFamily>
<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>
<Palette>BrightPastel</Palette>
<ChartBorderSkin>
<Style></Style>
<BackgroundColor>Gray</BackgroundColor>
<BackgroundGradientType>None</BackgroundGradientType>
<Color>White</Color>
</Style>
</ChartBorderSkin>
<ChartNoDataMessage Name="NoDataMessage">
<Caption>No Data Available</Caption>
<Style></Style>
<BackgroundGradientType>None</BackgroundGradientType>
<TextAlign>General</TextAlign>
<VerticalAlign>Top</VerticalAlign>
</Style>
</ChartNoDataMessage>
<DataSetName>UserGrowthOverTimeDS</DataSetName>
<Top>2.03977cm</Top>
<Left>0.25882cm</Left>
<Height>9.4073cm</Height>
<Width>20.447cm</Width>
<ZIndex>2</ZIndex>
<Style></Style>
<Border>
<Style></Style>None</Style>
</Border>
<BackgroundColor>White</BackgroundColor>
<BackgroundGradientType>None</BackgroundGradientType>
</Style>
</Chart>
<Chart Name="Chart2">
<ChartCategoryHierarchy>
<ChartMembers>
<ChartMember>
<Group Name="Chart1_CategoryGroup2">
<GroupExpressions>
<GroupExpression>=Fields!LoginDate.Value</GroupExpression>
</GroupExpressions>
<Filters>
<Filter>
<FilterExpression>=Fields!DataSet.Value</FilterExpression>
<Operator>Equal</Operator>
<FilterValues>
<FilterValue DataType="Integer">1</FilterValue>
</FilterValues>
</Filter>
</Filters>
</Group>
<SortExpressions>
<SortExpression>
<Value>=Fields!LoginDate.Value</Value>
</SortExpression>
</SortExpressions>
<Label>=IIF(Fields!DataSet.Value = 1, Code.FormatAggregatedTimeValueLabel2(Fields!LoginDate.Value,1), Nothing)</Label>
</ChartMember>
</ChartMembers>
</ChartCategoryHierarchy>
<ChartSeriesHierarchy>
<ChartMembers>
<ChartMember>
<Label>Login Count</Label>
</ChartMember>
</ChartMembers>
</ChartSeriesHierarchy>
<ChartData>
<ChartSeriesCollection>
<ChartSeries Name="LoginCount">
<ChartDataPoints>
<ChartDataPoint>
<ChartDataPointValues>
<Y>=IIF(Fields!DataSet.Value= 1, Fields!LoginCount.Value, nothing)</Y>
</ChartDataPointValues>
<ChartDataLabel>
<Style /></Style>
</ChartDataLabel>
<Style /></Style>
<ChartMarker>
<Style /></Style>
</ChartMarker>
<DataElementOutput>Output</DataElementOutput>
</ChartDataPoint>
</ChartDataPoints>
<Style /></Style>
<ChartEmptyPoints>
<Style /></Style>
<ChartMarker>
<Style /></Style>
</ChartMarker>
<ChartDataLabel>
<Style /></Style>
</ChartDataLabel>
</ChartEmptyPoints>
<ChartItemInLegend>
<LegendText>=Code.GetLocTable("LT_Table").GetString("RT.Chart.NoOfUsersDay", "[# of New Unique Users per Day]")</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>
<FontFamily>Tahoma</FontFamily>
<FontSize>8pt</FontSize>
</Style>
<ChartAxisTitle>
<Caption />
<Style></Style>
<FontFamily>Tahoma</FontFamily>
<FontSize>8pt</FontSize>
</Style>
</ChartAxisTitle>
<Interval>1</Interval>
<ChartMajorGridLines>
<Style></Style>
<Border>
<Color>#c7ddff</Color>
<Width>0.8pt</Width>
</Border>
</Style>
</ChartMajorGridLines>
<ChartMinorGridLines>
<Enabled>False</Enabled>
<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>
<PreventFontShrink>true</PreventFontShrink>
<PreventFontGrow>true</PreventFontGrow>
<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>
<FontFamily>Tahoma</FontFamily>
<FontSize>8pt</FontSize>
</Style>
<ChartAxisTitle>
<Caption />
<Style></Style>
<FontSize>8pt</FontSize>
</Style>
</ChartAxisTitle>
<ChartMajorGridLines>
<Style></Style>
<Border>
<Color>#c7ddff</Color>
<Width>0.8pt</Width>
</Border>
</Style>
</ChartMajorGridLines>
<ChartMinorGridLines>
<Enabled>False</Enabled>
<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>
<PreventFontShrink>true</PreventFontShrink>
<PreventFontGrow>true</PreventFontGrow>
<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>
<Border>
<Style></Style>Dotted</Style>
</Border>
<BackgroundGradientType>None</BackgroundGradientType>
<FontFamily>Tahoma</FontFamily>
<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>
<Palette>BrightPastel</Palette>
<ChartBorderSkin>
<Style></Style>
<BackgroundColor>Gray</BackgroundColor>
<BackgroundGradientType>None</BackgroundGradientType>
<Color>White</Color>
</Style>
</ChartBorderSkin>
<ChartNoDataMessage Name="NoDataMessage">
<Caption>No Data Available</Caption>
<Style></Style>
<BackgroundGradientType>None</BackgroundGradientType>
<TextAlign>General</TextAlign>
<VerticalAlign>Top</VerticalAlign>
</Style>
</ChartNoDataMessage>
<DataSetName>UserGrowthOverTimeDS</DataSetName>
<Top>11.44707cm</Top>
<Left>0.25882cm</Left>
<Height>9.58369cm</Height>
<Width>20.447cm</Width>
<ZIndex>3</ZIndex>
<Style></Style>
<Border>
<Style></Style>None</Style>
</Border>
<BackgroundColor>White</BackgroundColor>
<BackgroundGradientType>None</BackgroundGradientType>
</Style>
</Chart>
<Tablix Name="Tablix3">
<TablixBody>
<TablixColumns>
<TablixColumn>
<Width>3.9cm</Width>
</TablixColumn>
<TablixColumn>
<Width>3.9cm</Width>
</TablixColumn>
<TablixColumn>
<Width>3.9cm</Width>
</TablixColumn>
</TablixColumns>
<TablixRows>
<TablixRow>
<Height>0.53976cm</Height>
<TablixCells>
<TablixCell>
<CellContents>
<Textbox Name="Textbox19">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Code.GetLocTable("LT_Table").GetString("RT.Table.Date", "[Date]")</Value>
<Style></Style>
<FontFamily>Tahoma</FontFamily>
<FontSize>8pt</FontSize>
<FontWeight>Bold</FontWeight>
<Color>White</Color>
</Style>
</TextRun>
</TextRuns>
<Style></Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox19</rd:DefaultName>
<Style></Style>
<Border>
<Color>DimGray</Color>
<Style></Style>Solid</Style>
</Border>
<BackgroundColor>Gray</BackgroundColor>
<VerticalAlign>Middle</VerticalAlign>
<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>
<Value>=Code.GetLocTable("LT_Table").GetString("RT.Table.UniqueNew", "[New Unique Users per Day]")</Value>
<Style></Style>
<FontFamily>Tahoma</FontFamily>
<FontSize>8pt</FontSize>
<FontWeight>Bold</FontWeight>
<Color>White</Color>
</Style>
</TextRun>
</TextRuns>
<Style></Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox2</rd:DefaultName>
<Style></Style>
<Border>
<Color>DimGray</Color>
<Style></Style>Solid</Style>
</Border>
<BackgroundColor>Gray</BackgroundColor>
<VerticalAlign>Middle</VerticalAlign>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="Textbox51">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Code.GetLocTable("LT_Table").GetString("RT.Table.UniqueGrowth", "[Unique Users Growth]")</Value>
<Style></Style>
<FontFamily>Tahoma</FontFamily>
<FontSize>8pt</FontSize>
<FontWeight>ExtraBold</FontWeight>
<Color>White</Color>
</Style>
</TextRun>
</TextRuns>
<Style></Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
<Paragraph>
<TextRuns>
<TextRun>
<Value />
<Style></Style>
<FontFamily>Tahoma</FontFamily>
<FontSize>8pt</FontSize>
<FontWeight>ExtraBold</FontWeight>
<Color>White</Color>
</Style>
</TextRun>
</TextRuns>
<Style></Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox51</rd:DefaultName>
<Style></Style>
<Border>
<Color>DimGray</Color>
<Style></Style>Solid</Style>
</Border>
<BackgroundColor>Gray</BackgroundColor>
<VerticalAlign>Middle</VerticalAlign>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
</TablixCells>
</TablixRow>
<TablixRow>
<Height>0.53978cm</Height>
<TablixCells>
<TablixCell>
<CellContents>
<Textbox Name="DeliveryGroup">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=IIF(Fields!DataSet.Value = 1, Code.FormatAggregatedTimeValueLabel2(Fields!LoginDate.Value,1), Nothing)</Value>
<Style></Style>
<FontFamily>Tahoma</FontFamily>
<FontSize>8pt</FontSize>
</Style>
</TextRun>
</TextRuns>
<Style></Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>DeliveryGroup</rd:DefaultName>
<Style></Style>
<Border>
<Color>DarkGray</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="Textbox3">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=IIF(Fields!DataSet.Value = 1, Code.FormatNumber("g", Fields!LoginCount.Value), nothing)</Value>
<Style></Style>
<FontFamily>Tahoma</FontFamily>
<FontSize>8pt</FontSize>
</Style>
</TextRun>
</TextRuns>
<Style></Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox3</rd:DefaultName>
<Style></Style>
<Border>
<Color>DarkGray</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="UniqueUserGrowth">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=IIF(Fields!DataSet.Value = 1,Code.FormatNumber("g", Fields!LoginCountSum.Value), nothing)</Value>
<Style></Style>
<FontFamily>Tahoma</FontFamily>
<FontSize>8pt</FontSize>
</Style>
</TextRun>
</TextRuns>
<Style></Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<Style></Style>
<Border>
<Color>DarkGray</Color>
<Style></Style>Solid</Style>
</Border>
<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 />
</TablixMembers>
</TablixColumnHierarchy>
<TablixRowHierarchy>
<TablixMembers>
<TablixMember>
<KeepWithGroup>After</KeepWithGroup>
</TablixMember>
<TablixMember>
<Group Name="Details1">
<GroupExpressions>
<GroupExpression>=Fields!LoginDate.Value</GroupExpression>
</GroupExpressions>
<Filters>
<Filter>
<FilterExpression>=IsNothing(Fields!LoginDate.Value)</FilterExpression>
<Operator>Equal</Operator>
<FilterValues>
<FilterValue DataType="Boolean">false</FilterValue>
</FilterValues>
</Filter>
</Filters>
</Group>
</TablixMember>
</TablixMembers>
</TablixRowHierarchy>
<DataSetName>LogonTimeDistribution</DataSetName>
<Top>23.77711cm</Top>
<Left>0.25882cm</Left>
<Height>1.07954cm</Height>
<Width>11.7cm</Width>
<ZIndex>4</ZIndex>
<Visibility>
<Hidden>true</Hidden>
<ToggleItem>ShowTable</ToggleItem>
</Visibility>
<Style></Style>
<Border>
<Style></Style>None</Style>
</Border>
</Style>
</Tablix>
<Textbox Name="ShowTable">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=IIF(Parameters!ObjectType.Value = "Site", Code.GetLocTable("LT_Table").GetString("RT.Title.Table2a", "[Show Unique Users Growth on Site data table]"), Code.GetLocTable("LT_Table").GetString("RT.Title.Table2b", "[Show Unique Users Growth data table]"))</Value>
<Style></Style>
<FontFamily>Tahoma</FontFamily>
<FontSize>8pt</FontSize>
<FontWeight>Bold</FontWeight>
</Style>
</TextRun>
</TextRuns>
<Style /></Style>
</Paragraph>
</Paragraphs>
<Top>23.11301cm</Top>
<Left>0.25882cm</Left>
<Height>0.4877cm</Height>
<Width>11.66016cm</Width>
<ZIndex>5</ZIndex>
<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>
<Tablix Name="Tablix4">
<TablixBody>
<TablixColumns>
<TablixColumn>
<Width>5.85cm</Width>
</TablixColumn>
<TablixColumn>
<Width>5.85cm</Width>
</TablixColumn>
</TablixColumns>
<TablixRows>
<TablixRow>
<Height>0.56092cm</Height>
<TablixCells>
<TablixCell>
<CellContents>
<Textbox Name="Textbox4">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Code.GetLocTable("LT_Table").GetString("RT.Table.DG", "[Delivery Group]")</Value>
<Style></Style>
<FontFamily>Tahoma</FontFamily>
<FontSize>8pt</FontSize>
<FontWeight>Bold</FontWeight>
<Color>White</Color>
</Style>
</TextRun>
</TextRuns>
<Style></Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox4</rd:DefaultName>
<Style></Style>
<Border>
<Color>DimGray</Color>
<Style></Style>Solid</Style>
</Border>
<BackgroundColor>Gray</BackgroundColor>
<VerticalAlign>Middle</VerticalAlign>
<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>=Code.GetLocTable("LT_Table").GetString("RT.Table.UniqueGrowth", "[Unique Users Growth]")</Value>
<Style></Style>
<FontFamily>Tahoma</FontFamily>
<FontSize>8pt</FontSize>
<FontWeight>Bold</FontWeight>
<Color>White</Color>
</Style>
</TextRun>
</TextRuns>
<Style></Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox6</rd:DefaultName>
<Style></Style>
<Border>
<Color>DimGray</Color>
<Style></Style>Solid</Style>
</Border>
<BackgroundColor>Gray</BackgroundColor>
<VerticalAlign>Middle</VerticalAlign>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
</TablixCells>
</TablixRow>
<TablixRow>
<Height>0.53975cm</Height>
<TablixCells>
<TablixCell>
<CellContents>
<Textbox Name="DGDisplayName">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Code.FormatString("{0}", IIF(Fields!DataSet.Value = 2, Fields!DGDisplayName.Value, Nothing))</Value>
<Style></Style>
<FontFamily>Tahoma</FontFamily>
<FontSize>8pt</FontSize>
<Color>MediumBlue</Color>
</Style>
</TextRun>
</TextRuns>
<Style></Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>DGDisplayName</rd:DefaultName>
<ActionInfo>
<Actions>
<Action>
<Drillthrough>
<ReportName>Comtrade.Citrix.XenDesktop.EndUser.Reports.LinkedReport.DGUserGrowthOverTime</ReportName>
<Parameters>
<Parameter Name="ManagementGroupId">
<Value>=Parameters!ManagementGroupId.Value</Value>
</Parameter>
<Parameter Name="ReportName">
<Value>="Delivery Group - User Growth Over Time"</Value>
</Parameter>
<Parameter Name="ReportDescription">
<Value>This report shows how many unique (distinct) users are logging in the selected delivery group over time.
The first chart shows, cumulatively, the number of unique (distinct) users connecting to the delivery group over time. Each data point represents increase in number of unique users from the first day of the reporting interval.
The second chart shows unique user growth per day, i.e. number of unique users that newly connected on a specific day.</Value>
</Parameter>
<Parameter Name="TimeZone">
<Value>=Parameters!TimeZone.Value</Value>
</Parameter>
<Parameter Name="TimeZoneName">
<Value>=Parameters!TimeZoneName.Value</Value>
</Parameter>
<Parameter Name="ObjectType">
<Value>DeliveryGroup</Value>
</Parameter>
<Parameter Name="ObjectList">
<Value>=Code.FormatString("&lt;Data&gt;&lt;Objects&gt;&lt;Object Use=" &amp; Chr(34) &amp; "Self" &amp; Chr(34) &amp; "&gt;{0}&lt;/Object&gt;&lt;/Objects&gt;&lt;/Data&gt;", Fields!DGRowId.Value)</Value>
</Parameter>
<Parameter Name="StartDate_BaseType">
<Value>=Parameters!StartDate_BaseType.Value</Value>
</Parameter>
<Parameter Name="StartDate_BaseValue">
<Value>=Parameters!StartDate_BaseValue.Value</Value>
</Parameter>
<Parameter Name="StartDate_OffsetType">
<Value>=Parameters!StartDate_OffsetType.Value</Value>
</Parameter>
<Parameter Name="StartDate_OffsetValue">
<Value>=Parameters!StartDate_OffsetValue.Value</Value>
</Parameter>
<Parameter Name="EndDate_BaseType">
<Value>=Parameters!EndDate_BaseType.Value</Value>
</Parameter>
<Parameter Name="EndDate_BaseValue">
<Value>=Parameters!EndDate_BaseValue.Value</Value>
</Parameter>
<Parameter Name="EndDate_OffsetType">
<Value>=Parameters!EndDate_OffsetType.Value</Value>
</Parameter>
<Parameter Name="EndDate_OffsetValue">
<Value>=Parameters!EndDate_OffsetValue.Value</Value>
</Parameter>
</Parameters>
</Drillthrough>
</Action>
</Actions>
</ActionInfo>
<Style></Style>
<Border>
<Color>DarkGray</Color>
<Style></Style>Solid</Style>
</Border>
<VerticalAlign>Middle</VerticalAlign>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
<rd:Selected>true</rd:Selected>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="LoginCountSum">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Code.FormatNumber("g", IIF(Fields!DataSet.Value = 2,Fields!LoginCountSum.Value, Nothing))</Value>
<Style></Style>
<FontFamily>Tahoma</FontFamily>
<FontSize>8pt</FontSize>
</Style>
</TextRun>
</TextRuns>
<Style></Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>LoginCountSum</rd:DefaultName>
<Style></Style>
<Border>
<Color>DarkGray</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 />
</TablixMembers>
</TablixColumnHierarchy>
<TablixRowHierarchy>
<TablixMembers>
<TablixMember>
<KeepWithGroup>After</KeepWithGroup>
</TablixMember>
<TablixMember>
<Group Name="Details2">
<Filters>
<Filter>
<FilterExpression>=Fields!DataSet.Value</FilterExpression>
<Operator>Equal</Operator>
<FilterValues>
<FilterValue DataType="Integer">2</FilterValue>
</FilterValues>
</Filter>
</Filters>
</Group>
</TablixMember>
</TablixMembers>
</TablixRowHierarchy>
<DataSetName>UserGrowthDeliveryGroupDS</DataSetName>
<Top>21.83596cm</Top>
<Left>0.25882cm</Left>
<Height>1.10067cm</Height>
<Width>11.7cm</Width>
<ZIndex>6</ZIndex>
<Visibility>
<Hidden>=IIF(Parameters!ObjectType.Value = "Site", false, true)</Hidden>
</Visibility>
<Style></Style>
<Border>
<Style></Style>None</Style>
</Border>
</Style>
</Tablix>
<Textbox Name="ShowTable2">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Code.GetLocTable("LT_Table").GetString("RT.Title.Table1", "[Unique Users Growth per Delivery Group]")</Value>
<Style></Style>
<FontFamily>Tahoma</FontFamily>
<FontSize>8pt</FontSize>
<FontWeight>Bold</FontWeight>
</Style>
</TextRun>
</TextRuns>
<Style /></Style>
</Paragraph>
</Paragraphs>
<Top>21.20715cm</Top>
<Left>0.25882cm</Left>
<Height>0.4877cm</Height>
<Width>11.66016cm</Width>
<ZIndex>7</ZIndex>
<Visibility>
<Hidden>=IIF(Parameters!ObjectType.Value = "Site", false, true)</Hidden>
</Visibility>
<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>
<Textbox Name="Textbox5">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Code.FormatString("{0}", Code.GetLocTable("LT_Table").GetString("RT.Title.Site1", "[Site: ]") + Fields!SiteDisplayName.Value)</Value>
<Style></Style>
<FontFamily>Tahoma</FontFamily>
<FontSize>8pt</FontSize>
</Style>
</TextRun>
</TextRuns>
<Style /></Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox2</rd:DefaultName>
<Top>1.47533cm</Top>
<Height>0.48797cm</Height>
<Width>20.19782cm</Width>
<ZIndex>8</ZIndex>
<Visibility>
<Hidden>=IIF(Parameters!ObjectType.Value = "Site", true, false)</Hidden>
</Visibility>
<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>
<Style></Style>
<Border>
<Style></Style>None</Style>
</Border>
</Style>
</Rectangle>
</CellContents>
</TablixCell>
</TablixCells>
</TablixRow>
</TablixRows>
</TablixBody>
<TablixColumnHierarchy>
<TablixMembers>
<TablixMember />
</TablixMembers>
</TablixColumnHierarchy>
<TablixRowHierarchy>
<TablixMembers>
<TablixMember>
<Group Name="SiteGroup">
<GroupExpressions>
<GroupExpression>=IIF(Parameters!ObjectType.Value = "Site", Fields!SiteRowId.Value, Fields!DGRowId.Value)</GroupExpression>
</GroupExpressions>
<PageBreak>
<BreakLocation>Between</BreakLocation>
</PageBreak>
</Group>
<SortExpressions>
<SortExpression>
<Value>=IIF(Parameters!ObjectType.Value = "Site", Fields!SiteRowId.Value, Fields!DGRowId.Value)</Value>
</SortExpression>
</SortExpressions>
</TablixMember>
</TablixMembers>
</TablixRowHierarchy>
<DataSetName>UserGrowthOverTimeDS</DataSetName>
<Top>5.26203cm</Top>
<Left>0.24918cm</Left>
<Height>25.41317cm</Height>
<Width>20.87515cm</Width>
<ZIndex>4</ZIndex>
<Style></Style>
<Border>
<Style></Style>None</Style>
</Border>
</Style>
</Tablix>
</ReportItems>
<Height>13.28628in</Height>
<Style /></Style>
</Script></Body>
<Width>9.20699in</Width>
<Page>
<PageFooter>
<Height>0.78317cm</Height>
<PrintOnFirstPage>true</PrintOnFirstPage>
<PrintOnLastPage>true</PrintOnLastPage>
<ReportItems>
<Textbox Name="txtFooterZone">
<CanGrow>true</CanGrow>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Code.FormatString(Code.GetLocTable("LT_Report").GetString("R.TimeZoneFormat", "{0}"), Parameters!TimeZoneName.Value)</Value>
<Style></Style>
<FontFamily>Tahoma</FontFamily>
<FontSize>8pt</FontSize>
</Style>
</TextRun>
</TextRuns>
<Style /></Style>
</Paragraph>
</Paragraphs>
<Top>0.04167in</Top>
<Left>0.0981in</Left>
<Height>0.1875in</Height>
<Width>6.23713in</Width>
<Style></Style>
<Border>
<Style></Style>None</Style>
</Border>
<FontFamily>Tahoma</FontFamily>
<FontSize>8pt</FontSize>
<Color>DimGray</Color>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
<Textbox Name="txtFooterPageNum">
<CanGrow>true</CanGrow>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Code.FormatString(Code.GetLocTable("LT_Report").GetString("R.PageFormat", "{0}/{1}"), Globals!PageNumber, Globals!TotalPages)</Value>
<Style></Style>
<FontFamily>Tahoma</FontFamily>
<FontSize>8pt</FontSize>
</Style>
</TextRun>
</TextRuns>
<Style /></Style>
</Paragraph>
</Paragraphs>
<Top>0.04167in</Top>
<Left>6.36301in</Left>
<Height>0.1875in</Height>
<Width>1.73009in</Width>
<ZIndex>1</ZIndex>
<Style></Style>
<Border>
<Style></Style>None</Style>
</Border>
<FontFamily>Tahoma</FontFamily>
<FontSize>8pt</FontSize>
<TextAlign>Right</TextAlign>
<Color>DimGray</Color>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</ReportItems>
<Style></Style>
<Border>
<Style></Style>None</Style>
</Border>
</Style>
</PageFooter>
<PageHeight>32cm</PageHeight>
<PageWidth>24cm</PageWidth>
<LeftMargin>0cm</LeftMargin>
<RightMargin>0cm</RightMargin>
<TopMargin>0cm</TopMargin>
<BottomMargin>0cm</BottomMargin>
<ColumnSpacing>0.13cm</ColumnSpacing>
<Style /></Style>
</Page>
<AutoRefresh>0</AutoRefresh>
<DataSources>
<DataSource Name="DataWarehouseMain">
<DataSourceReference>Data Warehouse Main</DataSourceReference>
<rd:SecurityType>None</rd:SecurityType>
<rd:DataSourceID>e4235c51-407f-4065-8519-a1e57374bc45</rd:DataSourceID>
</DataSource>
</DataSources>
<DataSets>
<DataSet Name="LT_Report_Query">
<Query>
<DataSourceName>DataWarehouseMain</DataSourceName>
<QueryParameters>
<QueryParameter Name="@ManagementGroupGuid">
<Value>=Code.GetCallingManagementGroupId()</Value>
</QueryParameter>
<QueryParameter Name="@ManagementPackSystemName">
<Value>Comtrade.Citrix.XenApp.And.XenDesktop.EndUser.Reports</Value>
</QueryParameter>
<QueryParameter Name="@ReportSystemName">
<Value>Comtrade.Citrix.XenDesktop.EndUser.Reports.UserGrowthOverTime</Value>
</QueryParameter>
<QueryParameter Name="@LanguageCode">
<Value>=Code.GetReportLocLanguageCode()</Value>
</QueryParameter>
<QueryParameter Name="@Scope">
<Value>R.%</Value>
</QueryParameter>
</QueryParameters>
<CommandType>StoredProcedure</CommandType>
<CommandText>ReportDisplayStringGet</CommandText>
</Query>
<Fields>
<Field Name="ValueXml">
<DataField>XML_F52E2B61-18A1-11d1-B105-00805F49916B</DataField>
</Field>
<Field Name="ValueName">
<Value>="LT"</Value>
</Field>
</Fields>
</DataSet>
<DataSet Name="LT_Table_Query">
<Query>
<DataSourceName>DataWarehouseMain</DataSourceName>
<QueryParameters>
<QueryParameter Name="@ManagementGroupGuid">
<Value>=Code.GetCallingManagementGroupId()</Value>
</QueryParameter>
<QueryParameter Name="@ManagementPackSystemName">
<Value>Comtrade.Citrix.XenApp.And.XenDesktop.EndUser.Reports</Value>
</QueryParameter>
<QueryParameter Name="@ReportSystemName">
<Value>Comtrade.Citrix.XenDesktop.EndUser.Reports.UserGrowthOverTime</Value>
</QueryParameter>
<QueryParameter Name="@LanguageCode">
<Value>=Code.GetReportLocLanguageCode()</Value>
</QueryParameter>
<QueryParameter Name="@Scope">
<Value>RT.%</Value>
</QueryParameter>
</QueryParameters>
<CommandType>StoredProcedure</CommandType>
<CommandText>ReportDisplayStringGet</CommandText>
</Query>
<Fields>
<Field Name="ValueXml">
<DataField>XML_F52E2B61-18A1-11d1-B105-00805F49916B</DataField>
</Field>
<Field Name="ValueName">
<Value>="LT"</Value>
</Field>
</Fields>
</DataSet>
<DataSet Name="UserGrowthOverTimeDS">
<Query>
<DataSourceName>DataWarehouseMain</DataSourceName>
<QueryParameters>
<QueryParameter Name="@StartDate_BaseValue">
<Value>=Code.GetReportStartDate2DB()</Value>
</QueryParameter>
<QueryParameter Name="@EndDate_BaseValue">
<Value>=Code.GetReportEndDate2DB()</Value>
</QueryParameter>
<QueryParameter Name="@ObjectList">
<Value>=Parameters!ObjectList.Value</Value>
</QueryParameter>
<QueryParameter Name="@ObjectType">
<Value>=Parameters!ObjectType.Value</Value>
</QueryParameter>
<QueryParameter Name="@StartDate_BaseValueGMT">
<Value>=Code.ToDbDate(Code.GetReportStartDate2DB())</Value>
</QueryParameter>
</QueryParameters>
<CommandType>StoredProcedure</CommandType>
<CommandText>ComtradeMPXAXD_UserGrowthOverTime_DataGet</CommandText>
</Query>
<Fields>
<Field Name="LoginDate">
<DataField>LoginDate</DataField>
<rd:TypeName>System.DateTime</rd:TypeName>
</Field>
<Field Name="LoginCount">
<DataField>LoginCount</DataField>
<rd:TypeName>System.Int32</rd:TypeName>
</Field>
<Field Name="LoginCountSum">
<DataField>LoginCountSum</DataField>
<rd:TypeName>System.Int32</rd:TypeName>
</Field>
<Field Name="SiteDisplayName">
<DataField>SiteDisplayName</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="SiteRowId">
<DataField>SiteRowId</DataField>
<rd:TypeName>System.Int32</rd:TypeName>
</Field>
<Field Name="DGRowId">
<DataField>DGRowId</DataField>
<rd:TypeName>System.Int32</rd:TypeName>
</Field>
<Field Name="DGDisplayName">
<DataField>DGDisplayName</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="DataSet">
<DataField>DataSet</DataField>
<rd:UserDefined>true</rd:UserDefined>
</Field>
</Fields>
</DataSet>
<DataSet Name="ManagementGroups">
<Query>
<DataSourceName>DataWarehouseMain</DataSourceName>
<CommandText>
select managementgroupguid, managementgroupdefaultname
from vManagementGroup
</CommandText>
</Query>
<Fields>
<Field Name="managementgroupguid">
<DataField>managementgroupguid</DataField>
<rd:TypeName>System.Guid</rd:TypeName>
</Field>
<Field Name="managementgroupdefaultname">
<DataField>managementgroupdefaultname</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
</Fields>
</DataSet>
</DataSets>
<ReportParameters>
<ReportParameter Name="LT_Report">
<DataType>String</DataType>
<DefaultValue>
<DataSetReference>
<DataSetName>LT_Report_Query</DataSetName>
<ValueField>ValueXml</ValueField>
</DataSetReference>
</DefaultValue>
<Hidden>true</Hidden>
<ValidValues>
<DataSetReference>
<DataSetName>LT_Report_Query</DataSetName>
<ValueField>ValueXml</ValueField>
<LabelField>ValueName</LabelField>
</DataSetReference>
</ValidValues>
</ReportParameter>
<ReportParameter Name="LT_Table">
<DataType>String</DataType>
<DefaultValue>
<DataSetReference>
<DataSetName>LT_Table_Query</DataSetName>
<ValueField>ValueXml</ValueField>
</DataSetReference>
</DefaultValue>
<Hidden>true</Hidden>
<ValidValues>
<DataSetReference>
<DataSetName>LT_Table_Query</DataSetName>
<ValueField>ValueXml</ValueField>
<LabelField>ValueName</LabelField>
</DataSetReference>
</ValidValues>
</ReportParameter>
<ReportParameter Name="ObjectList">
<DataType>String</DataType>
<Prompt>Object List</Prompt>
</ReportParameter>
<ReportParameter Name="ManagementGroupId">
<DataType>String</DataType>
<DefaultValue>
<DataSetReference>
<DataSetName>ManagementGroups</DataSetName>
<ValueField>managementgroupguid</ValueField>
</DataSetReference>
</DefaultValue>
<AllowBlank>true</AllowBlank>
<Prompt>Report_Parameter_3</Prompt>
<Hidden>true</Hidden>
<ValidValues>
<DataSetReference>
<DataSetName>ManagementGroups</DataSetName>
<ValueField>managementgroupguid</ValueField>
<LabelField>managementgroupdefaultname</LabelField>
</DataSetReference>
</ValidValues>
<MultiValue>true</MultiValue>
</ReportParameter>
<ReportParameter Name="ReportName">
<DataType>String</DataType>
<DefaultValue>
<Values>
<Value>User - Failed Connections</Value>
</Values>
</DefaultValue>
<AllowBlank>true</AllowBlank>
<Prompt>[ReportName]</Prompt>
</ReportParameter>
<ReportParameter Name="ReportDescription">
<DataType>String</DataType>
<DefaultValue>
<Values>
<Value>This report shows user failed connections</Value>
</Values>
</DefaultValue>
<AllowBlank>true</AllowBlank>
<Prompt>[ReportDescription]</Prompt>
</ReportParameter>
<ReportParameter Name="YAxis_Label">
<DataType>String</DataType>
<DefaultValue>
<Values>
<Value>-</Value>
</Values>
</DefaultValue>
<AllowBlank>true</AllowBlank>
<Prompt>[YAxis_Label]</Prompt>
</ReportParameter>
<ReportParameter Name="StartDate_BaseType">
<DataType>String</DataType>
<Prompt>[Start Date Base]</Prompt>
</ReportParameter>
<ReportParameter Name="StartDate_BaseValue">
<DataType>DateTime</DataType>
<Prompt>[From]</Prompt>
</ReportParameter>
<ReportParameter Name="StartDate_OffsetType">
<DataType>String</DataType>
<Prompt>[Start Date Offset Type]</Prompt>
</ReportParameter>
<ReportParameter Name="StartDate_OffsetValue">
<DataType>Integer</DataType>
<AllowBlank>true</AllowBlank>
<Prompt>[Start Date Offset]</Prompt>
</ReportParameter>
<ReportParameter Name="EndDate_BaseType">
<DataType>String</DataType>
<Prompt>[End Date Base]</Prompt>
</ReportParameter>
<ReportParameter Name="EndDate_BaseValue">
<DataType>DateTime</DataType>
<Prompt>[To]</Prompt>
</ReportParameter>
<ReportParameter Name="EndDate_OffsetType">
<DataType>String</DataType>
<Prompt>[End Date Offset Type]</Prompt>
</ReportParameter>
<ReportParameter Name="EndDate_OffsetValue">
<DataType>Integer</DataType>
<AllowBlank>true</AllowBlank>
<Prompt>[End Date Offset]</Prompt>
</ReportParameter>
<ReportParameter Name="TimeType">
<DataType>String</DataType>
<AllowBlank>true</AllowBlank>
<Prompt>[Time Type]</Prompt>
</ReportParameter>
<ReportParameter Name="TimeWeekMap">
<DataType>String</DataType>
<Prompt>[Week Days]</Prompt>
<MultiValue>true</MultiValue>
</ReportParameter>
<ReportParameter Name="TimeZone">
<DataType>String</DataType>
<Prompt>[Time Zone]</Prompt>
</ReportParameter>
<ReportParameter Name="TimeZoneName">
<DataType>String</DataType>
<Nullable>true</Nullable>
<DefaultValue>
<Values>
<Value xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" />
</Values>
</DefaultValue>
<AllowBlank>true</AllowBlank>
<Prompt>Time Zone Name</Prompt>
<Hidden>true</Hidden>
</ReportParameter>
<ReportParameter Name="ObjectType">
<DataType>String</DataType>
<Prompt>Object Type</Prompt>
</ReportParameter>
</ReportParameters>
<Code><Script>
Const LocTableStringQuery As String = "R/S[@N='{0}']/text()"

Const YAxis_Label = "YAxis_Label"
Const ReportDescription = "ReportDescription"
Const ReportName = "ReportName"

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 = True
Const TimeTypeParameterName As String = "TimeType"
Const TimeWeekMapParameterName As String = "TimeWeekMap"
Const DataAggregationParameterName As String = "DataAggregation"
Const TD_BaseValueParameterName As String = "EndDateTrend_BaseValue"

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 ReportEndDateTrend1 as DateTime
Dim ReportEndDateTrend2 as DateTime

Dim ReportTime As Microsoft.EnterpriseManagement.Reporting.ParameterProcessor.RelativeTime
Dim ReportCulture As System.Globalization.CultureInfo
Dim ParameterProcessor As Microsoft.EnterpriseManagement.Reporting.ParameterProcessor

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

Public Function GetYAxisLabel() As String
return Report.Parameters(YAxis_Label).Value
End Function

Public Function GetReportName() As String
return Report.Parameters(ReportName).Value
End Function

Public Function GetReportDescription() As String
return Report.Parameters(ReportDescription).Value
End Function


Public Function GetCallingManagementGroupId() As String
Return Microsoft.EnterpriseManagement.Reporting.ReportingConfiguration.ManagementGroupId
End Function

Public Function GetReportLocLanguageCode() As String
Return ReportCulture.ThreeLetterWindowsLanguageName
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 DisplayDate(ByVal DateValue As DateTime) as DateTime
return DateValue
End Function

Public Function IsNull(InValue, DefaultValue) as Double
return InValue
'if InValue IS System.DBNull.value then
' return InValue
'else
' return DefaultValue
'end if
End Function


Public Function ComTrade_isBusinessDay(DayOfWeek as Integer) As Integer
If DayOfWeek = 1 Then
return HLS_searchTimeWeekMap("Monday")
Else If DayOfWeek = 2 Then
return HLS_searchTimeWeekMap("Tuesday")
Else If DayOfWeek = 3 Then
return HLS_searchTimeWeekMap("Wednesday")
Else If DayOfWeek = 4 Then
return HLS_searchTimeWeekMap("Thursday")
Else If DayOfWeek = 5 Then
return HLS_searchTimeWeekMap("Friday")
Else If DayOfWeek = 6 Then
return HLS_searchTimeWeekMap("Saturday")
Else If DayOfWeek = 7 Then
return HLS_searchTimeWeekMap("Sunday")
Else
return -1
End If
End Function

Dim maxCon as Integer = 0

Private Function HLS_searchTimeWeekMap(ss as String) as Integer
For Each vrstica As System.Object In Report.Parameters(TimeWeekMapParameterName).Value
If UCase(vrstica) = UCase(ss) Then
return 1
End If
Next
return 0
End Function


Public Function ComTrade_isBusinessTimeType() As Integer
If Report.Parameters(TimeTypeParameterName).Value = "Business" Then
return 1
Else
return 0
End If
End Function

Public Function ComTrade_IsBusinessHoursType() As Boolean
If ComTrade_isBusinessTimeType() = 1 Then
Return True
Else
Return False
End If
End Function

Public Function GetReportStartDate2() As DateTime
ReportStartDate = Convert.ToDateTime(Report.Parameters(SD_BaseValueParameterName).Value)
return ReportStartDate
End Function

Public Function GetReportEndDate2() As DateTime
ReportEndDate = Convert.ToDateTime(Report.Parameters(ED_BaseValueParameterName).Value)
return ReportEndDate
End Function

Public Function GetReportEndDateTrend() As DateTime
ReportEndDateTrend1 = Convert.ToDateTime(Report.Parameters(TD_BaseValueParameterName).Value)
ReportEndDateTrend2 = Convert.ToDateTime(Report.Parameters(ED_BaseValueParameterName).Value)
if ReportEndDateTrend1 &gt; ReportEndDateTrend2
return ReportEndDateTrend1
else
return ReportEndDateTrend2
end if
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

'If (CInt(Report.Parameters(DataAggregationParameterName).Value) &gt; 0) Then
'ReportStartDate = ReportStartDate.Date
'End If
End If
return ReportStartDate
End Function

'do not use business hour conversion, we need busines hours in SQL QUERY
Public Function GetReportStartDate2DB() As DateTime
If (ReportStartDate = DateTime.MinValue) Then
If False 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

'do not use business hour conversion, we need busines hours in SQL QUERY
Public Function GetReportEndDate2DB() As DateTime
If (ReportEndDate = DateTime.MinValue) Then
If False 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 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

'If (CInt(Report.Parameters(DataAggregationParameterName).Value) &gt; 0) Then
'ReportEndDate = ReportEndDate.Date
'End If
End If
return ReportEndDate
End Function

Public Function GetReportTimeFilter2() As Microsoft.EnterpriseManagement.Reporting.ParameterProcessor.RelativeTime
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 GetReportTimeFilter() As Microsoft.EnterpriseManagement.Reporting.ParameterProcessor.RelativeTime
If IsNothing(ReportTime) Then
If (CInt(Report.Parameters(DataAggregationParameterName).Value) = 0)
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, ",")))
Else
ReportTime = New Microsoft.EnterpriseManagement.Reporting.ParameterProcessor.RelativeTime(Microsoft.EnterpriseManagement.Reporting.ParameterProcessor.RelativeTimeType.Regular, Report.Parameters(SD_BaseValueParameterName).Value, Report.Parameters(ED_BaseValueParameterName).Value, CStr(Join(Report.Parameters(TimeWeekMapParameterName).Value, ",")))
End if
End If
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
if IsDBNull(Value) then
return "-"
else
return Value.ToString(Format, ReportCulture)
end if
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 FormatBusinessHours2(Format As String, Value As Microsoft.EnterpriseManagement.Reporting.ParameterProcessor.RelativeTime) As String
Dim result As String

If ComTrade_isBusinessTimeType = 1 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 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 ----------------------------------------

Public Enum DataAggregationType
Hourly = 0
Daily = 1
End Enum

Public Enum AggregationType
None = 0
Daily = 1
Weekly = 2
Monthly = 3
Yearly = 4
End Enum

Public Function FormatAggregatedTimeValue(ByVal TimeValue As DateTime, ByVal AggType As AggregationType, ByVal DataAggType As DataAggregationType) As Long
Dim Result As Long

Select Case (AggType)
Case AggregationType.Daily
If DataAggType = DataAggregationType.Daily Then
Result = TimeValue.Ticks
Else
Result = TimeValue.Hour
End If

Case AggregationType.Weekly
Result = CInt(TimeValue.DayOfWeek)

Case AggregationType.Monthly
Result = TimeValue.Day

Case AggregationType.Yearly
Result = TimeValue.Month

Case Else
Result = TimeValue.Ticks
End Select

Return Result
End Function

Public Function FormatAggregatedTimeValueLabel2(ByVal TimeValue As DateTime, DataAggType As Integer) As String
Dim Result As String

Select Case (DataAggType)
Case 0
Result = TimeValue.ToString("G", ReportCulture)
Case 1
Result = TimeValue.ToString("d", ReportCulture)
Case 2
Result = TimeValue.ToString("MMMM yyyy", ReportCulture)
Case 3
Result = TimeValue.ToString("yyyy", ReportCulture)
Case Else
Result = TimeValue.ToString("G", ReportCulture)

'Case AggregationType.Weekly
' Result = ReportCulture.DateTimeFormat.GetDayName(TimeValue.DayOfWeek)

'Case AggregationType.Yearly
' Result = ReportCulture.DateTimeFormat.GetMonthName(TimeValue.Month)

End Select

Return Result
End Function

Public Function FormatAggregatedTimeValueLabel(ByVal TimeValue As DateTime, ByVal AggType As AggregationType, ByVal DataAggType As DataAggregationType) As String
Dim Result As String

Select Case (AggType)
Case AggregationType.Daily
If DataAggType = DataAggregationType.Daily Then
Result = TimeValue.ToString("d", ReportCulture)
Else
Result = TimeValue.ToString("t", ReportCulture)
End If

Case AggregationType.Weekly
Result = ReportCulture.DateTimeFormat.GetDayName(TimeValue.DayOfWeek)

Case AggregationType.Monthly
Result = TimeValue.Day.ToString()

Case AggregationType.Yearly
Result = ReportCulture.DateTimeFormat.GetMonthName(TimeValue.Month)

Case Else
If DataAggType = DataAggregationType.Daily Then
Result = TimeValue.ToString("d", ReportCulture)
Else
Result = TimeValue.ToString("G", ReportCulture)
End If
End Select

Return Result
End Function

Public Function Options_SplitByObject(ByVal OptionsXml As String, ByVal ObjectTag As String, ByVal ObjectsXml As String) As String
Dim Xml, ListXml As System.Xml.XmlDocument

Xml = New System.Xml.XmlDocument()
Xml.LoadXml(OptionsXml)

ListXml = New System.Xml.XmlDocument()
ListXml.LoadXml(ObjectsXml)

Dim Format As System.Text.StringBuilder
Format = New System.Text.StringBuilder("&lt;Value&gt;&lt;" +ObjectTag+ "&gt;{0}&lt;/" +ObjectTag+ "&gt;")
For Each Node As System.Xml.XmlNode In Xml.DocumentElement.ChildNodes
If Node.Name &lt;&gt; ObjectTag Then Format.Append(Node.OuterXml)
Next
Format.Append("&lt;/Value&gt;")

Dim Result As System.Text.StringBuilder
Result = New System.Text.StringBuilder()
For Each ObjectNode As System.Xml.XmlNode In ListXml.DocumentElement.ChildNodes
Result.Append(String.Format(Format.ToString(), ObjectNode.InnerText))
Next

Return Result.ToString()
End Function

Public Function Options_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")
Result.Add(ObjectNode.InnerText)
Next

Return Result.ToArray()
End Function

Const FailureTypeParameter As String = "FailureType"

Public Function FailureTypeSelected(FailureTypes as Integer)
Dim val As Integer
For Each val in Report.Parameters(FailureTypeParameter).Value
If(val = FailureTypes)
Return True
End If
Next
Return False
End Function

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

Public Dim CurrentObjectList As String
Public Dim CurrentInstanceList 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




</Script></Code>
<CodeModules>
<CodeModule>Microsoft.EnterpriseManagement.Reporting.Code, Version=6.0.0.0, Culture=neutral</CodeModule>
<CodeModule>System.Xml, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</CodeModule>
</CodeModules>
<ConsumeContainerWhitespace>true</ConsumeContainerWhitespace>
<DataElementStyle>Element</DataElementStyle>
<rd:ReportUnitType>Cm</rd:ReportUnitType>
<rd:ReportID>ece7f84a-8db1-461f-b93d-1114c8fca54c</rd:ReportID>
</Report>