Meter Reading Usages

Meter Reading Usages zijn de zijn de standen en verbruiken uit ERP. Alle standen en verbruiken, inclusief Niet geselecteerd en Afgekeurd standen en verbruiken, zijn beschikbaar met per stand een regel en dus per verbruik 2 regels (voor begin- en eindstand). Alle standen en verbruiken vanaf 01-01-2022 zijn beschikbaar.

Onderstaande query kan gebruikt worden om de benodigde data te selecteren waarbij de set beperkt kan worden door een filter toe passen op UsageId.

erp_mru.sql
use dveperp_prod
go
;

declare @last_id_processed int = 0;

select
  con.ConnectionId
, usg.UsageId
, mtr_rdg.MeterReadingId
, pos.MeterPositionId
, con.EAN
, mtr.MeterNumber
, mtr.MeterType
, mtr.Factor
, usg.Amount
, usg.Quality as usg_quality
, usg.UsageType
, usg.StartDate
, usg.EndDate
, sts.Description as sts_description
, sts.PresentationDescription as sts_presentation_description
, rts.StatusDetails
, pos.Position
, pos.TimeFrame
, pos.Quality as pos_quality
, pos.QuantityDate
, pos.QuantityDateType
, src.Description as src_description
, src.PresentationDescription as src_presentation_description
from tbl_Meter mtr
join itbl_Meter_MeterReading mtr_rdg on mtr_rdg.MeterId = mtr.MeterId
and mtr_rdg.ValidStartDate <= getdate() and mtr_rdg.ValidEndDate > getdate()
join itbl_MeterReading_Usage rdg_usg on rdg_usg.MeterReadingId = mtr_rdg.MeterReadingId
and rdg_usg.ValidStartDate <= getdate() and rdg_usg.ValidEndDate > getdate()
join tbl_Usage usg on rdg_usg.UsageId = usg.UsageId
join itbl_Connection_Meter con_mtr on con_mtr.MeterId = mtr.MeterId
and con_mtr.ValidStartDate <= getdate() and con_mtr.ValidEndDate > getdate()
join tbl_Connection con on con.ConnectionId = con_mtr.ConnectionId
join mtbl_UsageSource src on usg.UsageSourceId = src.UsageSourceId
left outer join itbl_Usage_MeterPosition usg_pos on usg_pos.UsageId = usg.UsageId
and usg_pos.ValidStartDate <= getdate() and usg_pos.ValidEndDate > getdate()
left outer join tbl_MeterPosition pos on pos.MeterPositionId = usg_pos.MeterPositionId
left outer join itbl_MeterReading_MeterReadingStatus mrg_sts on mrg_sts.MeterReadingId = mtr_rdg.MeterReadingId
and mrg_sts.ValidStartDate <= getdate() and mrg_sts.ValidEndDate > getdate()
left outer join tbl_MeterReadingStatus rts on rts.MeterReadingStatusId = mrg_sts.MeterReadingStatusId
left outer join mtbl_Status sts on rts.StatusId = sts.StatusId
where usg.UsageId > @last_id_processed
;

De ingelezen data wordt opgeslagen in de database in udq.connectionmeterreadingusage:

usage_id
meter_reading_id
meter_position_id
connection_id
ean
meter_number
meter_type
factor
amount
usg_quality
usage_type
start_date
end_date
sts_description
sts_presentation_description
status_details
position
time_frame
pos_quality
quantity_date
quantity_date_type
src_description
src_presentation_description
datafile_id

Controles

Bij het inlezen wordt gecontroleerd of een Meter Reading Usage voor een specifieke usage_id, meter_reading_id en meter_position_id al is ingelezen, mocht dit zo zijn dan wordt de betreffende Meter Reading Usage bijgewerkt met de aangeleverde data.

Compressed

Om gebruik in de vergelijkingen te vereenvoudigen zijn de volgende views toegevoegd:

  • udq.v_compressed_erp_mre: De gegevens gegroepeerd per verbruik met een bijbehorende begin- en eindstand indien aanwezig. De Afgekeurd standen en verbruiken zijn hier niet in opgenomen.

  • udq.mv_mre_periods: Per aansluiting de aanwezige perioden en indicatoren of er sprake is van overlap of gaten in de verbruiksperioden voor de betreffende aansluiting. Het aantal losse perioden is ook opgenomen als gegeven. De Niet geselecteerd en Afgekeurd standen en verbruiken zijn hier niet in opgenomen.

  • udq.mv_all_mre_periods: Per aansluiting de aanwezige perioden en indicatoren of er sprake is van overlap of gaten in de verbruiksperioden voor de betreffende aansluiting. Het aantal losse perioden is ook opgenomen als gegeven. De Afgekeurd en Niet geselecteerde standen en verbruiken zijn hier ook in opgenomen.

  • udq.mv_rejected_mre_periods: Per aansluiting de aanwezige perioden en indicatoren of er sprake is van overlap of gaten in de verbruiksperioden voor de betreffende aansluiting. Het aantal losse perioden is ook opgenomen als gegeven. De Afgekeurd standen en verbruiken zijn hier ook in opgenomen, de Niet geselecteerde niet.

  • udq.mv_not_preferred_mre_periods: Per aansluiting de aanwezige perioden en indicatoren of er sprake is van overlap of gaten in de verbruiksperioden voor de betreffende aansluiting. Het aantal losse perioden is ook opgenomen als gegeven. De Niet geselecteerde standen en verbruiken zijn hier ook in opgenomen, de afgekeurde niet.

Onderstaand per view de beschikbare gegevens:

v_compressed_erp_mre

connection_id
ean
meter_number
meter_reading_id
sts_description
start_date
end_date
high
low
t_high
t_low
gas
corrected_gas

mv_mre_periods

connection_id
ean
periods
overall_start_date
overal_end_date
nr_of_periods
overlap
gaps

mv_all_mre_periods

connection_id
ean
periods
overall_start_date
overal_end_date
nr_of_periods
overlap
gaps

mv_rejected_mre_periods

connection_id
ean
periods
overall_start_date
overal_end_date
nr_of_periods
overlap
gaps

mv_not_preferred_mre_periods

connection_id
ean
periods
overall_start_date
overal_end_date
nr_of_periods
overlap
gaps