Dashboard Information
Dashboard Name:
Meter Distribution Check
Dashboard ID:
88643c73-6cfe-11f1-b56a-7c1e52579377
Source:
XAF Application Database
Type:
DevExpress Dashboard (v17.1)
Dashboard Structure
Dashboard Items:
  • Charts
  • Data Grids
  • Cards
Data Sources:

Connected

<Dashboard>
  <Title Text="Meter Distribution Check" Visible="true" />
  <DataSources>
    <SqlDataSource ComponentName="DataSource1">
      <Name>meter_distribution_check</Name>
      <Connection Name="ConnectionString" FromAppConfig="true" />
      <Query Type="SelectQuery" Name="meter_distribution_check">
        <Tables>
          <Table Name="meter_distribution_check" />
          <Table Name="site" />
          <Relation Type="Inner" Parent="meter_distribution_check" Nested="site">
            <KeyColumn Parent="site_id" Nested="Oid" />
          </Relation>
        </Tables>
        <Columns>
          <Column Table="meter_distribution_check" Name="Oid" />
          <Column Table="meter_distribution_check" Name="site_id" />
          <Column Table="site" Name="Name" Alias="site_name" />
          <Column Table="meter_distribution_check" Name="parent_meter_id" />
          <Column Table="meter_distribution_check" Name="parent_meter_name" />
          <Column Table="meter_distribution_check" Name="meter_level" />
          <Column Table="meter_distribution_check" Name="period_start" />
          <Column Table="meter_distribution_check" Name="period_end" />
          <Column Table="meter_distribution_check" Name="aggregation_level" />
          <Column Table="meter_distribution_check" Name="parent_kwh" />
          <Column Table="meter_distribution_check" Name="children_kwh_sum" />
          <Column Table="meter_distribution_check" Name="unaccounted_kwh" />
          <Column Table="meter_distribution_check" Name="variance_percent" />
          <Column Table="meter_distribution_check" Name="child_count" />
          <Column Table="meter_distribution_check" Name="flag_status" />
          <Column Table="meter_distribution_check" Name="checked_at" />
        </Columns>
      </Query>
      <ConnectionOptions CloseConnection="true" />
    </SqlDataSource>
    <SqlDataSource ComponentName="DataSource2">
      <Name>energymeter</Name>
      <Connection Name="ConnectionString" FromAppConfig="true" />
      <Query Type="SelectQuery" Name="energymeter">
        <Tables>
          <Table Name="energymeter" />
          <Table Name="site" />
          <Relation Type="Inner" Parent="energymeter" Nested="site">
            <KeyColumn Parent="Site" Nested="Oid" />
          </Relation>
        </Tables>
        <Columns>
          <Column Table="energymeter" Name="Oid" />
          <Column Table="energymeter" Name="DisplayName" />
          <Column Table="energymeter" Name="SerialNumber" />
          <Column Table="energymeter" Name="ParentMeter" />
          <Column Table="energymeter" Name="MeterLevel" />
          <Column Table="energymeter" Name="IncludeInSiteTotal" />
          <Column Table="site" Name="Oid" Alias="site_Oid" />
          <Column Table="site" Name="Name" />
        </Columns>
      </Query>
      <ConnectionOptions CloseConnection="true" />
    </SqlDataSource>
  </DataSources>
  <Items>
    <!-- Site selector -->
    <ListBox ComponentName="listBoxSite" Name="Site" DataSource="DataSource1" DataMember="meter_distribution_check" ShowAllValue="false" ListBoxType="Radio">
      <DataItems>
        <Dimension DataMember="site_name" DefaultId="DataItem0" />
      </DataItems>
      <FilterDimensions>
        <Dimension DefaultId="DataItem0" />
      </FilterDimensions>
    </ListBox>
    <!-- Parent meter (the one being checked) selector -->
    <ListBox ComponentName="listBoxParentMeter" Name="Parent Meter" DataSource="DataSource1" DataMember="meter_distribution_check" ShowAllValue="true">
      <DataItems>
        <Dimension DataMember="parent_meter_name" DefaultId="DataItem0" />
      </DataItems>
      <FilterDimensions>
        <Dimension DefaultId="DataItem0" />
      </FilterDimensions>
    </ListBox>
    <!-- Status filter -->
    <ListBox ComponentName="listBoxStatus" Name="Status" DataSource="DataSource1" DataMember="meter_distribution_check" ShowAllValue="true" ListBoxType="Radio">
      <DataItems>
        <Dimension DataMember="flag_status" DefaultId="DataItem0" />
      </DataItems>
      <FilterDimensions>
        <Dimension DefaultId="DataItem0" />
      </FilterDimensions>
    </ListBox>
    <!-- KPI: latest variance for selected meter -->
    <Card ComponentName="cardVariance" Name="Variance %" DataSource="DataSource1" DataMember="meter_distribution_check">
      <DataItems>
        <Measure DataMember="variance_percent" SummaryType="Max" DefaultId="DataItem0">
          <NumericFormat FormatType="Number" Unit="Ones" Precision="2" />
        </Measure>
      </DataItems>
      <Cards>
        <Card>
          <ActualValue DefaultId="DataItem0" />
        </Card>
      </Cards>
    </Card>
    <Card ComponentName="cardUnaccounted" Name="Unaccounted kWh" DataSource="DataSource1" DataMember="meter_distribution_check">
      <DataItems>
        <Measure DataMember="unaccounted_kwh" SummaryType="Max" DefaultId="DataItem0">
          <NumericFormat FormatType="Number" Unit="Ones" Precision="2" />
        </Measure>
      </DataItems>
      <Cards>
        <Card>
          <ActualValue DefaultId="DataItem0" />
        </Card>
      </Cards>
    </Card>
    <Card ComponentName="cardChildCount" Name="Children Checked" DataSource="DataSource1" DataMember="meter_distribution_check">
      <DataItems>
        <Measure DataMember="child_count" SummaryType="Max" DefaultId="DataItem0" />
      </DataItems>
      <Cards>
        <Card>
          <ActualValue DefaultId="DataItem0" />
        </Card>
      </Cards>
    </Card>
    <!-- Variance over time chart -->
    <Chart ComponentName="chartVariance" Name="Variance Over Time" DataSource="DataSource1" DataMember="meter_distribution_check">
      <DataItems>
        <Measure DataMember="variance_percent" SummaryType="Max" DefaultId="DataItem0">
          <NumericFormat FormatType="Number" Unit="Ones" Precision="2" />
        </Measure>
        <Dimension DataMember="checked_at" DefaultId="DataItem1" />
        <Dimension DataMember="checked_at" DateTimeGroupInterval="Day" DefaultId="DataItem2" />
        <Dimension DataMember="checked_at" DateTimeGroupInterval="Hour" DefaultId="DataItem3" />
        <Dimension DataMember="parent_meter_name" DefaultId="DataItem4" />
      </DataItems>
      <SeriesDimensions>
        <SeriesDimension DefaultId="DataItem4" />
      </SeriesDimensions>
      <Arguments>
        <Argument DefaultId="DataItem1" />
        <Argument DefaultId="DataItem2" />
        <Argument DefaultId="DataItem3" />
      </Arguments>
      <Panes>
        <Pane Name="Pane 1">
          <Series>
            <Simple SeriesType="Line">
              <Value DefaultId="DataItem0" />
            </Simple>
          </Series>
        </Pane>
      </Panes>
    </Chart>
    <!-- kWh comparison chart: parent vs children sum -->
    <Chart ComponentName="chartComparison" Name="Parent vs Children kWh" DataSource="DataSource1" DataMember="meter_distribution_check">
      <DataItems>
        <Measure DataMember="parent_kwh" SummaryType="Max" DefaultId="DataItem0">
          <NumericFormat FormatType="Number" Unit="Ones" Precision="1" />
        </Measure>
        <Measure DataMember="children_kwh_sum" SummaryType="Max" DefaultId="DataItem1">
          <NumericFormat FormatType="Number" Unit="Ones" Precision="1" />
        </Measure>
        <Dimension DataMember="checked_at" DateTimeGroupInterval="Day" DefaultId="DataItem2" />
        <Dimension DataMember="checked_at" DateTimeGroupInterval="Hour" DefaultId="DataItem3" />
      </DataItems>
      <Arguments>
        <Argument DefaultId="DataItem2" />
        <Argument DefaultId="DataItem3" />
      </Arguments>
      <Panes>
        <Pane Name="Pane 1">
          <Series>
            <Simple Name="Parent Reading" SeriesType="Bar">
              <Value DefaultId="DataItem0" />
            </Simple>
            <Simple Name="Sum of Children" SeriesType="Bar">
              <Value DefaultId="DataItem1" />
            </Simple>
          </Series>
        </Pane>
      </Panes>
    </Chart>
    <!-- Detail grid -->
    <Grid ComponentName="gridDetail" Name="Distribution Check Detail" DataSource="DataSource1" DataMember="meter_distribution_check">
      <DataItems>
        <Dimension DataMember="parent_meter_name" DefaultId="DataItem0" />
        <Dimension DataMember="meter_level" DefaultId="DataItem1" />
        <Dimension DataMember="checked_at" DefaultId="DataItem2" />
        <Measure DataMember="parent_kwh" SummaryType="Max" DefaultId="DataItem3">
          <NumericFormat FormatType="Number" Unit="Ones" Precision="2" />
        </Measure>
        <Measure DataMember="children_kwh_sum" SummaryType="Max" DefaultId="DataItem4">
          <NumericFormat FormatType="Number" Unit="Ones" Precision="2" />
        </Measure>
        <Measure DataMember="unaccounted_kwh" SummaryType="Max" DefaultId="DataItem5">
          <NumericFormat FormatType="Number" Unit="Ones" Precision="2" />
        </Measure>
        <Measure DataMember="variance_percent" SummaryType="Max" DefaultId="DataItem6">
          <NumericFormat FormatType="Number" Unit="Ones" Precision="2" />
        </Measure>
        <Measure DataMember="child_count" SummaryType="Max" DefaultId="DataItem7" />
        <Dimension DataMember="flag_status" DefaultId="DataItem8" />
      </DataItems>
      <GridColumns>
        <GridDimensionColumn>
          <Dimension DefaultId="DataItem0" />
        </GridDimensionColumn>
        <GridDimensionColumn>
          <Dimension DefaultId="DataItem1" />
        </GridDimensionColumn>
        <GridDimensionColumn>
          <Dimension DefaultId="DataItem2" />
        </GridDimensionColumn>
        <GridMeasureColumn>
          <Measure DefaultId="DataItem3" />
        </GridMeasureColumn>
        <GridMeasureColumn>
          <Measure DefaultId="DataItem4" />
        </GridMeasureColumn>
        <GridMeasureColumn>
          <Measure DefaultId="DataItem5" />
        </GridMeasureColumn>
        <GridMeasureColumn>
          <Measure DefaultId="DataItem6" />
        </GridMeasureColumn>
        <GridMeasureColumn>
          <Measure DefaultId="DataItem7" />
        </GridMeasureColumn>
        <GridDimensionColumn>
          <Dimension DefaultId="DataItem8" />
        </GridDimensionColumn>
      </GridColumns>
      <GridOptions EnableBandedRows="true" />
    </Grid>
  </Items>
  <LayoutTree>
    <LayoutGroup Orientation="Vertical" Weight="100">
      <LayoutGroup Weight="20">
        <LayoutGroup Orientation="Vertical" Weight="25">
          <LayoutItem DashboardItem="listBoxSite" Weight="34" />
          <LayoutItem DashboardItem="listBoxParentMeter" Weight="33" />
          <LayoutItem DashboardItem="listBoxStatus" Weight="33" />
        </LayoutGroup>
        <LayoutGroup Weight="75">
          <LayoutItem DashboardItem="cardVariance" Weight="34" />
          <LayoutItem DashboardItem="cardUnaccounted" Weight="33" />
          <LayoutItem DashboardItem="cardChildCount" Weight="33" />
        </LayoutGroup>
      </LayoutGroup>
      <LayoutGroup Weight="35">
        <LayoutItem DashboardItem="chartVariance" Weight="50" />
        <LayoutItem DashboardItem="chartComparison" Weight="50" />
      </LayoutGroup>
      <LayoutGroup Weight="45">
        <LayoutItem DashboardItem="gridDetail" Weight="100" />
      </LayoutGroup>
    </LayoutGroup>
  </LayoutTree>
</Dashboard>