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>