<back to all web services

GetDashboardDataMessage

The following routes are available for this service:
All Verbs/RestApi/Sitefinity/Analytics/GetDashboardData
All Verbs/RestApi/GetDashboardData
<?php namespace dtos;

use DateTime;
use Exception;
use DateInterval;
use JsonSerializable;
use ServiceStack\{IReturn,IReturnVoid,IGet,IPost,IPut,IDelete,IPatch,IMeta,IHasSessionId,IHasBearerToken,IHasVersion};
use ServiceStack\{ICrud,ICreateDb,IUpdateDb,IPatchDb,IDeleteDb,ISaveDb,AuditBase,QueryDb,QueryDb2,QueryData,QueryData2,QueryResponse};
use ServiceStack\{ResponseStatus,ResponseError,EmptyResponse,IdResponse,ArrayList,KeyValuePair2,StringResponse,StringsResponse,Tuple2,Tuple3,ByteArray};
use ServiceStack\{JsonConverters,Returns,TypeContext};


class GetDashboardDataMessage implements JsonSerializable
{
    public function __construct(
        /** @var string */
        public string $DashboardId='',
        /** @var string|null */
        public ?string $jsStartDate=null,
        /** @var string|null */
        public ?string $jsEndDate=null,
        /** @var array<string,string>|null */
        public ?array $QueryStringFilters=null,
        /** @var DateTime */
        public DateTime $StartDate=new DateTime(),
        /** @var DateTime */
        public DateTime $EndDate=new DateTime(),
        /** @var string|null */
        public ?string $GroupBy=null,
        /** @var array<string,string>|null */
        public ?array $Dimensions=null,
        /** @var string|null */
        public ?string $MaxValue=null,
        /** @var string */
        public string $SiteId=''
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['DashboardId'])) $this->DashboardId = $o['DashboardId'];
        if (isset($o['jsStartDate'])) $this->jsStartDate = $o['jsStartDate'];
        if (isset($o['jsEndDate'])) $this->jsEndDate = $o['jsEndDate'];
        if (isset($o['QueryStringFilters'])) $this->QueryStringFilters = JsonConverters::from(JsonConverters::context('Dictionary',genericArgs:['string','string']), $o['QueryStringFilters']);
        if (isset($o['StartDate'])) $this->StartDate = JsonConverters::from('DateTime', $o['StartDate']);
        if (isset($o['EndDate'])) $this->EndDate = JsonConverters::from('DateTime', $o['EndDate']);
        if (isset($o['GroupBy'])) $this->GroupBy = $o['GroupBy'];
        if (isset($o['Dimensions'])) $this->Dimensions = JsonConverters::from(JsonConverters::context('Dictionary',genericArgs:['string','string']), $o['Dimensions']);
        if (isset($o['MaxValue'])) $this->MaxValue = $o['MaxValue'];
        if (isset($o['SiteId'])) $this->SiteId = $o['SiteId'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->DashboardId)) $o['DashboardId'] = $this->DashboardId;
        if (isset($this->jsStartDate)) $o['jsStartDate'] = $this->jsStartDate;
        if (isset($this->jsEndDate)) $o['jsEndDate'] = $this->jsEndDate;
        if (isset($this->QueryStringFilters)) $o['QueryStringFilters'] = JsonConverters::to(JsonConverters::context('Dictionary',genericArgs:['string','string']), $this->QueryStringFilters);
        if (isset($this->StartDate)) $o['StartDate'] = JsonConverters::to('DateTime', $this->StartDate);
        if (isset($this->EndDate)) $o['EndDate'] = JsonConverters::to('DateTime', $this->EndDate);
        if (isset($this->GroupBy)) $o['GroupBy'] = $this->GroupBy;
        if (isset($this->Dimensions)) $o['Dimensions'] = JsonConverters::to(JsonConverters::context('Dictionary',genericArgs:['string','string']), $this->Dimensions);
        if (isset($this->MaxValue)) $o['MaxValue'] = $this->MaxValue;
        if (isset($this->SiteId)) $o['SiteId'] = $this->SiteId;
        return empty($o) ? new class(){} : $o;
    }
}

class MetricItemDTO implements JsonSerializable
{
    public function __construct(
        /** @var string|null */
        public ?string $Name=null,
        /** @var string|null */
        public ?string $DisplayName=null,
        /** @var float */
        public float $Value=0.0,
        /** @var string|null */
        public ?string $Unit=null,
        /** @var string|null */
        public ?string $DenominatorMetricName=null,
        /** @var string|null */
        public ?string $NominatorMetricName=null,
        /** @var bool|null */
        public ?bool $ShowInSelector=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['Name'])) $this->Name = $o['Name'];
        if (isset($o['DisplayName'])) $this->DisplayName = $o['DisplayName'];
        if (isset($o['Value'])) $this->Value = $o['Value'];
        if (isset($o['Unit'])) $this->Unit = $o['Unit'];
        if (isset($o['DenominatorMetricName'])) $this->DenominatorMetricName = $o['DenominatorMetricName'];
        if (isset($o['NominatorMetricName'])) $this->NominatorMetricName = $o['NominatorMetricName'];
        if (isset($o['ShowInSelector'])) $this->ShowInSelector = $o['ShowInSelector'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->Name)) $o['Name'] = $this->Name;
        if (isset($this->DisplayName)) $o['DisplayName'] = $this->DisplayName;
        if (isset($this->Value)) $o['Value'] = $this->Value;
        if (isset($this->Unit)) $o['Unit'] = $this->Unit;
        if (isset($this->DenominatorMetricName)) $o['DenominatorMetricName'] = $this->DenominatorMetricName;
        if (isset($this->NominatorMetricName)) $o['NominatorMetricName'] = $this->NominatorMetricName;
        if (isset($this->ShowInSelector)) $o['ShowInSelector'] = $this->ShowInSelector;
        return empty($o) ? new class(){} : $o;
    }
}

// @DataContract
class DimensionItem implements JsonSerializable
{
    public function __construct(
        // @DataMember
        /** @var string|null */
        public ?string $Value=null,

        // @DataMember
        /** @var string|null */
        public ?string $Name=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['Value'])) $this->Value = $o['Value'];
        if (isset($o['Name'])) $this->Name = $o['Name'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->Value)) $o['Value'] = $this->Value;
        if (isset($this->Name)) $o['Name'] = $this->Name;
        return empty($o) ? new class(){} : $o;
    }
}

class SingleSerie implements JsonSerializable
{
    public function __construct(
        /** @var MetricItemDTO|null */
        public ?MetricItemDTO $MainMetric=null,
        /** @var string|null */
        public ?string $CategoryFormat=null,
        /** @var bool|null */
        public ?bool $Batch=null,
        /** @var bool|null */
        public ?bool $IsCategory=null,
        /** @var string|null */
        public ?string $SeriesName=null,
        /** @var array<DimensionItem>|null */
        public ?array $SeriesDimensions=null,
        /** @var string|null */
        public ?string $RelatedDimension=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['MainMetric'])) $this->MainMetric = JsonConverters::from('MetricItemDTO', $o['MainMetric']);
        if (isset($o['CategoryFormat'])) $this->CategoryFormat = $o['CategoryFormat'];
        if (isset($o['Batch'])) $this->Batch = $o['Batch'];
        if (isset($o['IsCategory'])) $this->IsCategory = $o['IsCategory'];
        if (isset($o['SeriesName'])) $this->SeriesName = $o['SeriesName'];
        if (isset($o['SeriesDimensions'])) $this->SeriesDimensions = JsonConverters::fromArray('DimensionItem', $o['SeriesDimensions']);
        if (isset($o['RelatedDimension'])) $this->RelatedDimension = $o['RelatedDimension'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->MainMetric)) $o['MainMetric'] = JsonConverters::to('MetricItemDTO', $this->MainMetric);
        if (isset($this->CategoryFormat)) $o['CategoryFormat'] = $this->CategoryFormat;
        if (isset($this->Batch)) $o['Batch'] = $this->Batch;
        if (isset($this->IsCategory)) $o['IsCategory'] = $this->IsCategory;
        if (isset($this->SeriesName)) $o['SeriesName'] = $this->SeriesName;
        if (isset($this->SeriesDimensions)) $o['SeriesDimensions'] = JsonConverters::toArray('DimensionItem', $this->SeriesDimensions);
        if (isset($this->RelatedDimension)) $o['RelatedDimension'] = $this->RelatedDimension;
        return empty($o) ? new class(){} : $o;
    }
}

class DashBoardControl implements JsonSerializable
{
    public function __construct(
        /** @var string|null */
        public ?string $ControlType=null,
        /** @var array<string,string>|null */
        public ?array $attributes=null,
        /** @var string|null */
        public ?string $PlaceholderId=null,
        /** @var string|null */
        public ?string $DisplayName=null,
        /** @var array<SingleSerie>|null */
        public ?array $Series=null,
        /** @var string|null */
        public ?string $DimensionName=null,
        /** @var array<string>|null */
        public ?array $RelatedDimension=null,
        /** @var string|null */
        public ?string $SortbyField=null,
        /** @var bool|null */
        public ?bool $SortAsc=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['ControlType'])) $this->ControlType = $o['ControlType'];
        if (isset($o['attributes'])) $this->attributes = JsonConverters::from(JsonConverters::context('Dictionary',genericArgs:['string','string']), $o['attributes']);
        if (isset($o['PlaceholderId'])) $this->PlaceholderId = $o['PlaceholderId'];
        if (isset($o['DisplayName'])) $this->DisplayName = $o['DisplayName'];
        if (isset($o['Series'])) $this->Series = JsonConverters::fromArray('SingleSerie', $o['Series']);
        if (isset($o['DimensionName'])) $this->DimensionName = $o['DimensionName'];
        if (isset($o['RelatedDimension'])) $this->RelatedDimension = JsonConverters::fromArray('string', $o['RelatedDimension']);
        if (isset($o['SortbyField'])) $this->SortbyField = $o['SortbyField'];
        if (isset($o['SortAsc'])) $this->SortAsc = $o['SortAsc'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->ControlType)) $o['ControlType'] = $this->ControlType;
        if (isset($this->attributes)) $o['attributes'] = JsonConverters::to(JsonConverters::context('Dictionary',genericArgs:['string','string']), $this->attributes);
        if (isset($this->PlaceholderId)) $o['PlaceholderId'] = $this->PlaceholderId;
        if (isset($this->DisplayName)) $o['DisplayName'] = $this->DisplayName;
        if (isset($this->Series)) $o['Series'] = JsonConverters::toArray('SingleSerie', $this->Series);
        if (isset($this->DimensionName)) $o['DimensionName'] = $this->DimensionName;
        if (isset($this->RelatedDimension)) $o['RelatedDimension'] = JsonConverters::toArray('string', $this->RelatedDimension);
        if (isset($this->SortbyField)) $o['SortbyField'] = $this->SortbyField;
        if (isset($this->SortAsc)) $o['SortAsc'] = $this->SortAsc;
        return empty($o) ? new class(){} : $o;
    }
}

class KendoItem implements JsonSerializable
{
    public function __construct(
        /** @var string|null */
        public ?string $category=null,
        /** @var array<string,float>|null */
        public ?array $values=null,
        /** @var string|null */
        public ?string $group=null,
        /** @var string|null */
        public ?string $tooltip=null,
        /** @var array<string,string>|null */
        public ?array $Dimensions=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['category'])) $this->category = $o['category'];
        if (isset($o['values'])) $this->values = JsonConverters::from(JsonConverters::context('Dictionary',genericArgs:['string','float']), $o['values']);
        if (isset($o['group'])) $this->group = $o['group'];
        if (isset($o['tooltip'])) $this->tooltip = $o['tooltip'];
        if (isset($o['Dimensions'])) $this->Dimensions = JsonConverters::from(JsonConverters::context('Dictionary',genericArgs:['string','string']), $o['Dimensions']);
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->category)) $o['category'] = $this->category;
        if (isset($this->values)) $o['values'] = JsonConverters::to(JsonConverters::context('Dictionary',genericArgs:['string','float']), $this->values);
        if (isset($this->group)) $o['group'] = $this->group;
        if (isset($this->tooltip)) $o['tooltip'] = $this->tooltip;
        if (isset($this->Dimensions)) $o['Dimensions'] = JsonConverters::to(JsonConverters::context('Dictionary',genericArgs:['string','string']), $this->Dimensions);
        return empty($o) ? new class(){} : $o;
    }
}

class GetDashboardData implements JsonSerializable
{
    public function __construct(
        /** @var array<DashBoardControl>|null */
        public ?array $Controls=null,
        /** @var string|null */
        public ?string $LayoutTemplateName=null,
        /** @var string|null */
        public ?string $GroupBy=null,
        /** @var array<MetricItemDTO>|null */
        public ?array $MetricNames=null,
        /** @var string|null */
        public ?string $ErrorMessage=null,
        /** @var bool|null */
        public ?bool $NeedsGrouping=null,
        /** @var bool|null */
        public ?bool $IsDrillDown=null,
        /** @var array<KendoItem>|null */
        public ?array $DateItems=null,
        /** @var array<KendoItem>|null */
        public ?array $NonDateItems=null,
        /** @var KendoItem|null */
        public ?KendoItem $TotalsItem=null,
        /** @var string[][]|null */
        public ?array $MapDataTable=null,
        /** @var bool|null */
        public ?bool $IsMapRequest=null,
        /** @var array<string,string[]>|null */
        public ?array $SeriesSources=null,
        /** @var int */
        public int $StatusCode=0,
        /** @var bool|null */
        public ?bool $SuppressMultipleSeries=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['Controls'])) $this->Controls = JsonConverters::fromArray('DashBoardControl', $o['Controls']);
        if (isset($o['LayoutTemplateName'])) $this->LayoutTemplateName = $o['LayoutTemplateName'];
        if (isset($o['GroupBy'])) $this->GroupBy = $o['GroupBy'];
        if (isset($o['MetricNames'])) $this->MetricNames = JsonConverters::fromArray('MetricItemDTO', $o['MetricNames']);
        if (isset($o['ErrorMessage'])) $this->ErrorMessage = $o['ErrorMessage'];
        if (isset($o['NeedsGrouping'])) $this->NeedsGrouping = $o['NeedsGrouping'];
        if (isset($o['IsDrillDown'])) $this->IsDrillDown = $o['IsDrillDown'];
        if (isset($o['DateItems'])) $this->DateItems = JsonConverters::fromArray('KendoItem', $o['DateItems']);
        if (isset($o['NonDateItems'])) $this->NonDateItems = JsonConverters::fromArray('KendoItem', $o['NonDateItems']);
        if (isset($o['TotalsItem'])) $this->TotalsItem = JsonConverters::from('KendoItem', $o['TotalsItem']);
        if (isset($o['MapDataTable'])) $this->MapDataTable = JsonConverters::fromArray('string', $o['MapDataTable']);
        if (isset($o['IsMapRequest'])) $this->IsMapRequest = $o['IsMapRequest'];
        if (isset($o['SeriesSources'])) $this->SeriesSources = JsonConverters::from(JsonConverters::context('Dictionary',genericArgs:['string','List<String>']), $o['SeriesSources']);
        if (isset($o['StatusCode'])) $this->StatusCode = $o['StatusCode'];
        if (isset($o['SuppressMultipleSeries'])) $this->SuppressMultipleSeries = $o['SuppressMultipleSeries'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->Controls)) $o['Controls'] = JsonConverters::toArray('DashBoardControl', $this->Controls);
        if (isset($this->LayoutTemplateName)) $o['LayoutTemplateName'] = $this->LayoutTemplateName;
        if (isset($this->GroupBy)) $o['GroupBy'] = $this->GroupBy;
        if (isset($this->MetricNames)) $o['MetricNames'] = JsonConverters::toArray('MetricItemDTO', $this->MetricNames);
        if (isset($this->ErrorMessage)) $o['ErrorMessage'] = $this->ErrorMessage;
        if (isset($this->NeedsGrouping)) $o['NeedsGrouping'] = $this->NeedsGrouping;
        if (isset($this->IsDrillDown)) $o['IsDrillDown'] = $this->IsDrillDown;
        if (isset($this->DateItems)) $o['DateItems'] = JsonConverters::toArray('KendoItem', $this->DateItems);
        if (isset($this->NonDateItems)) $o['NonDateItems'] = JsonConverters::toArray('KendoItem', $this->NonDateItems);
        if (isset($this->TotalsItem)) $o['TotalsItem'] = JsonConverters::to('KendoItem', $this->TotalsItem);
        if (isset($this->MapDataTable)) $o['MapDataTable'] = JsonConverters::toArray('string', $this->MapDataTable);
        if (isset($this->IsMapRequest)) $o['IsMapRequest'] = $this->IsMapRequest;
        if (isset($this->SeriesSources)) $o['SeriesSources'] = JsonConverters::to(JsonConverters::context('Dictionary',genericArgs:['string','List<String>']), $this->SeriesSources);
        if (isset($this->StatusCode)) $o['StatusCode'] = $this->StatusCode;
        if (isset($this->SuppressMultipleSeries)) $o['SuppressMultipleSeries'] = $this->SuppressMultipleSeries;
        return empty($o) ? new class(){} : $o;
    }
}

PHP GetDashboardDataMessage DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml

HTTP + XML

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /RestApi/Sitefinity/Analytics/GetDashboardData HTTP/1.1 
Host: www.asg.com.au 
Accept: application/xml
Content-Type: application/xml
Content-Length: length

<GetDashboardDataMessage xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Telerik.Sitefinity.Analytics.Server.Infrastructure.Services.ServiceStackServices.Model">
  <DashboardId>00000000-0000-0000-0000-000000000000</DashboardId>
  <Dimensions xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
    <d2p1:KeyValueOfstringstring>
      <d2p1:Key>String</d2p1:Key>
      <d2p1:Value>String</d2p1:Value>
    </d2p1:KeyValueOfstringstring>
  </Dimensions>
  <GroupBy>String</GroupBy>
  <MaxValue>String</MaxValue>
  <QueryStringFilters xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
    <d2p1:KeyValueOfstringstring>
      <d2p1:Key>String</d2p1:Key>
      <d2p1:Value>String</d2p1:Value>
    </d2p1:KeyValueOfstringstring>
  </QueryStringFilters>
  <SiteId>00000000-0000-0000-0000-000000000000</SiteId>
  <jsEndDate>String</jsEndDate>
  <jsStartDate>String</jsStartDate>
</GetDashboardDataMessage>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<GetDashboardData xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Telerik.Sitefinity.Analytics.Server.Infrastructure.Services.ServiceStackServices.Model">
  <Controls xmlns:d2p1="http://schemas.datacontract.org/2004/07/Telerik.Sitefinity.Analytics.Server.Core.Domain.DTO">
    <d2p1:DashBoardControl>
      <d2p1:ControlType>String</d2p1:ControlType>
      <d2p1:DimensionName>String</d2p1:DimensionName>
      <d2p1:DisplayName>String</d2p1:DisplayName>
      <d2p1:PlaceholderId>String</d2p1:PlaceholderId>
      <d2p1:RelatedDimension xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
        <d4p1:string>String</d4p1:string>
      </d2p1:RelatedDimension>
      <d2p1:Series>
        <d2p1:SingleSerie>
          <d2p1:Batch>false</d2p1:Batch>
          <d2p1:CategoryFormat>String</d2p1:CategoryFormat>
          <d2p1:IsCategory>false</d2p1:IsCategory>
          <d2p1:MainMetric>
            <d2p1:DenominatorMetricName>String</d2p1:DenominatorMetricName>
            <d2p1:DisplayName>String</d2p1:DisplayName>
            <d2p1:Name>String</d2p1:Name>
            <d2p1:NominatorMetricName>String</d2p1:NominatorMetricName>
            <d2p1:ShowInSelector>false</d2p1:ShowInSelector>
            <d2p1:Unit>String</d2p1:Unit>
            <d2p1:Value>0</d2p1:Value>
          </d2p1:MainMetric>
          <d2p1:RelatedDimension>String</d2p1:RelatedDimension>
          <d2p1:SeriesDimensions>
            <d2p1:DimensionItem i:nil="true" />
          </d2p1:SeriesDimensions>
          <d2p1:SeriesName>String</d2p1:SeriesName>
        </d2p1:SingleSerie>
      </d2p1:Series>
      <d2p1:SortAsc>false</d2p1:SortAsc>
      <d2p1:SortbyField>String</d2p1:SortbyField>
      <d2p1:attributes xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
        <d4p1:KeyValueOfstringstring>
          <d4p1:Key>String</d4p1:Key>
          <d4p1:Value>String</d4p1:Value>
        </d4p1:KeyValueOfstringstring>
      </d2p1:attributes>
    </d2p1:DashBoardControl>
  </Controls>
  <DateItems xmlns:d2p1="http://schemas.datacontract.org/2004/07/Telerik.Sitefinity.Analytics.Server.Core.Domain.DTO">
    <d2p1:KendoItem>
      <d2p1:Dimensions xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
        <d4p1:KeyValueOfstringstring>
          <d4p1:Key>String</d4p1:Key>
          <d4p1:Value>String</d4p1:Value>
        </d4p1:KeyValueOfstringstring>
      </d2p1:Dimensions>
      <d2p1:category>String</d2p1:category>
      <d2p1:group>String</d2p1:group>
      <d2p1:tooltip>String</d2p1:tooltip>
      <d2p1:values xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
        <d4p1:KeyValueOfstringdouble>
          <d4p1:Key>String</d4p1:Key>
          <d4p1:Value>0</d4p1:Value>
        </d4p1:KeyValueOfstringdouble>
      </d2p1:values>
    </d2p1:KendoItem>
  </DateItems>
  <ErrorMessage>String</ErrorMessage>
  <GroupBy>String</GroupBy>
  <IsDrillDown>false</IsDrillDown>
  <IsMapRequest>false</IsMapRequest>
  <LayoutTemplateName>String</LayoutTemplateName>
  <MapDataTable xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
    <d2p1:ArrayOfstring>
      <d2p1:string>String</d2p1:string>
    </d2p1:ArrayOfstring>
  </MapDataTable>
  <MetricNames xmlns:d2p1="http://schemas.datacontract.org/2004/07/Telerik.Sitefinity.Analytics.Server.Core.Domain.DTO">
    <d2p1:MetricItemDTO>
      <d2p1:DenominatorMetricName>String</d2p1:DenominatorMetricName>
      <d2p1:DisplayName>String</d2p1:DisplayName>
      <d2p1:Name>String</d2p1:Name>
      <d2p1:NominatorMetricName>String</d2p1:NominatorMetricName>
      <d2p1:ShowInSelector>false</d2p1:ShowInSelector>
      <d2p1:Unit>String</d2p1:Unit>
      <d2p1:Value>0</d2p1:Value>
    </d2p1:MetricItemDTO>
  </MetricNames>
  <NeedsGrouping>false</NeedsGrouping>
  <NonDateItems xmlns:d2p1="http://schemas.datacontract.org/2004/07/Telerik.Sitefinity.Analytics.Server.Core.Domain.DTO">
    <d2p1:KendoItem>
      <d2p1:Dimensions xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
        <d4p1:KeyValueOfstringstring>
          <d4p1:Key>String</d4p1:Key>
          <d4p1:Value>String</d4p1:Value>
        </d4p1:KeyValueOfstringstring>
      </d2p1:Dimensions>
      <d2p1:category>String</d2p1:category>
      <d2p1:group>String</d2p1:group>
      <d2p1:tooltip>String</d2p1:tooltip>
      <d2p1:values xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
        <d4p1:KeyValueOfstringdouble>
          <d4p1:Key>String</d4p1:Key>
          <d4p1:Value>0</d4p1:Value>
        </d4p1:KeyValueOfstringdouble>
      </d2p1:values>
    </d2p1:KendoItem>
  </NonDateItems>
  <SeriesSources xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
    <d2p1:KeyValueOfstringArrayOfstringty7Ep6D1>
      <d2p1:Key>String</d2p1:Key>
      <d2p1:Value>
        <d2p1:string>String</d2p1:string>
      </d2p1:Value>
    </d2p1:KeyValueOfstringArrayOfstringty7Ep6D1>
  </SeriesSources>
  <StatusCode>0</StatusCode>
  <SuppressMultipleSeries>false</SuppressMultipleSeries>
  <TotalsItem xmlns:d2p1="http://schemas.datacontract.org/2004/07/Telerik.Sitefinity.Analytics.Server.Core.Domain.DTO">
    <d2p1:Dimensions xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
      <d3p1:KeyValueOfstringstring>
        <d3p1:Key>String</d3p1:Key>
        <d3p1:Value>String</d3p1:Value>
      </d3p1:KeyValueOfstringstring>
    </d2p1:Dimensions>
    <d2p1:category>String</d2p1:category>
    <d2p1:group>String</d2p1:group>
    <d2p1:tooltip>String</d2p1:tooltip>
    <d2p1:values xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
      <d3p1:KeyValueOfstringdouble>
        <d3p1:Key>String</d3p1:Key>
        <d3p1:Value>0</d3p1:Value>
      </d3p1:KeyValueOfstringdouble>
    </d2p1:values>
  </TotalsItem>
</GetDashboardData>