Table des matières

Absence de données dans le rapport "Production par PV Box" pour Cestas

Objet

Cet article a pour but d’expliquer comment compléter les données manquantes du rapport « Production par PV Box ».
Les données manquantes pour un PTR seront ajoutées à partir des données d’un PTR proche.
Les tables “MEA_” ne seront pas complétées, uniquement les tables présentes dans la base “ConextControlData” seront modifiées. Il ne faudra donc pas relancer les calculs à partir du “PvConsole” pour la période concernée.

Dans cette procédure, les données du PTR12 de la SPV8 du Cluster 1 seront remplies à partir des données du PTR11.

Identification des identifiants du site (SPV) et des PTR

Pour retrouver l’identifiant de la SPV concernée, allez dans la table « CNF_Site » de la base « pv_db ». Notez alors l’identifiant.
Dans notre exemple, la SPV8 porte l’identifiant du site n°8.


Retrouver les identifiants des PTRs concernés se fait en deux étapes :

Dans notre cas, pour la SPV8, le PTR11 a l’identifiant 41 et le PTR12 a l’identifiant 42.


Une fois les identifiants trouvés, nous pouvons completer les tables « PVBoxMonths », « PVBoxHours », « PVBoxDays » de la base « ConextControldata ».

Mise à jour des données dans les tables

Pour mettre à jour les données dans les tables, il est nécessaire de lancer les trois scripts SQL suivants :

Pensez à modifier les ID du site et des PTRs dans les scripts suivants.
Pensez aussi à modifier les dates de début et de fin.


Script permettant de compléter les données horaires pour le rapport :

DECLARE @debut as datetimeoffset
DECLARE @fin as datetimeoffset
SET @debut = '2016-01-16 13:00:00'
SET @fin = '2016-03-07 13:00:00'
WHILE @debut ⇐ @fin
BEGIN
UPDATE PVBoxHours
SET [energyProd] = (SELECT [energyProd] FROM [dbo].[PVBoxHours] WHERE siteId = 8 AND eqpId = 41 AND dtol = @debut)
WHERE siteId = 8 AND eqpId = 42 AND dtol = @debut
UPDATE PVBoxHours
SET [reactiveEnergyProd] = (SELECT [reactiveEnergyProd] FROM [dbo].[PVBoxHours] WHERE siteId = 8 AND eqpId = 41 AND dtol = @debut)
WHERE siteId = 8 AND eqpId = 42 AND dtol = @debut
UPDATE PVBoxHours
SET [energyDC] = (SELECT [energyDC] FROM [dbo].[PVBoxHours] WHERE siteId = 8 AND eqpId = 41 AND dtol = @debut)
WHERE siteId = 8 AND eqpId = 42 AND dtol = @debut
UPDATE PVBoxHours
SET [energyAux] = (SELECT [energyAux] FROM [dbo].[PVBoxHours] WHERE siteId = 8 AND eqpId = 41 AND dtol = @debut)
WHERE siteId = 8 AND eqpId = 42 AND dtol = @debut
UPDATE PVBoxHours
SET [prGlobal] = (SELECT [prGlobal] FROM [dbo].[PVBoxHours] WHERE siteId = 8 AND eqpId = 41 AND dtol = @debut)
WHERE siteId = 8 AND eqpId = 42 AND dtol = @debut
UPDATE PVBoxHours
SET [nBos] = (SELECT [nBos] FROM [dbo].[PVBoxHours] WHERE siteId = 8 AND eqpId = 41 AND dtol = @debut)
WHERE siteId = 8 AND eqpId = 42 AND dtol = @debut
UPDATE PVBoxHours
SET [yf] = (SELECT [yf] FROM [dbo].[PVBoxHours] WHERE siteId = 8 AND eqpId = 41 AND dtol = @debut)
WHERE siteId = 8 AND eqpId = 42 AND dtol = @debut
UPDATE PVBoxHours
SET [ya] = (SELECT [ya] FROM [dbo].[PVBoxHours] WHERE siteId = 8 AND eqpId = 41 AND dtol = @debut)
WHERE siteId = 8 AND eqpId = 42 AND dtol = @debut
UPDATE PVBoxHours
SET [missingData] = (SELECT [missingData] FROM [dbo].[PVBoxHours] WHERE siteId = 8 AND eqpId = 41 AND dtol = @debut)
WHERE siteId = 8 AND eqpId = 42 AND dtol = @debut
– MAJ de la date de début
SET @debut = DATEADD(HOUR, 1, @debut)
END


Script permettant de compléter les données journalières pour le rapport :

Si les données s’arrêtent par exemple au 16/01/2016 à 13h, entrez une date de début au 15/01/2016 à 23h00.

DECLARE @debut as datetimeoffset
DECLARE @fin as datetimeoffset
SET @debut = '2016-01-15 23:00:00'
SET @fin = '2016-03-07 13:00:00'
WHILE @debut ⇐ @fin
BEGIN
UPDATE PVBoxDays
SET [energyProd] = (SELECT [energyProd] FROM [dbo].[PVBoxDays] WHERE siteId = 8 AND eqpId = 41 AND dtol = @debut)
WHERE siteId = 8 AND eqpId = 42 AND dtol = @debut
UPDATE PVBoxDays
SET [reactiveEnergyProd] = (SELECT [reactiveEnergyProd] FROM [dbo].[PVBoxDays] WHERE siteId = 8 AND eqpId = 41 AND dtol = @debut)
WHERE siteId = 8 AND eqpId = 42 AND dtol = @debut
UPDATE PVBoxDays
SET [energyDC] = (SELECT [energyDC] FROM [dbo].[PVBoxDays] WHERE siteId = 8 AND eqpId = 41 AND dtol = @debut)
WHERE siteId = 8 AND eqpId = 42 AND dtol = @debut
UPDATE PVBoxDays
SET [energyAux] = (SELECT [energyAux] FROM [dbo].[PVBoxDays] WHERE siteId = 8 AND eqpId = 41 AND dtol = @debut)
WHERE siteId = 8 AND eqpId = 42 AND dtol = @debut
UPDATE PVBoxDays
SET [prGlobal] = (SELECT [prGlobal] FROM [dbo].[PVBoxDays] WHERE siteId = 8 AND eqpId = 41 AND dtol = @debut)
WHERE siteId = 8 AND eqpId = 42 AND dtol = @debut
UPDATE PVBoxDays
SET [nBos] = (SELECT [nBos] FROM [dbo].[PVBoxDays] WHERE siteId = 8 AND eqpId = 41 AND dtol = @debut)
WHERE siteId = 8 AND eqpId = 42 AND dtol = @debut
UPDATE PVBoxDays
SET [yf] = (SELECT [yf] FROM [dbo].[PVBoxDays] WHERE siteId = 8 AND eqpId = 41 AND dtol = @debut)
WHERE siteId = 8 AND eqpId = 42 AND dtol = @debut
UPDATE PVBoxDays
SET [ya] = (SELECT [ya] FROM [dbo].[PVBoxDays] WHERE siteId = 8 AND eqpId = 41 AND dtol = @debut)
WHERE siteId = 8 AND eqpId = 42 AND dtol = @debut
UPDATE PVBoxDays
SET [missingData] = (SELECT [missingData] FROM [dbo].[PVBoxDays] WHERE siteId = 8 AND eqpId = 41 AND dtol = @debut)
WHERE siteId = 8 AND eqpId = 42 AND dtol = @debut
– MAJ de la date de début
SET @debut = DATEADD(DAY, 1, @debut)
END


Script permettant de compléter les données mensuelles pour le rapport :

Si les données s’arrêtent par exemple au 16/01/2016 à 13h, entrez une date de début au 31/12/2015 à 23h00.

DECLARE @debut as datetimeoffset
DECLARE @fin as datetimeoffset
SET @debut = '2015-12-31 23:00:00'
SET @fin = '2016-03-07 13:00:00'
WHILE @debut ⇐ @fin
BEGIN
UPDATE PVBoxMonths
SET [energyProd] = (SELECT [energyProd] FROM [dbo].[PVBoxMonths] WHERE siteId = 8 AND eqpId = 41 AND dtol = @debut)
WHERE siteId = 8 AND eqpId = 42 AND dtol = @debut
UPDATE PVBoxMonths
SET [reactiveEnergyProd] = (SELECT [reactiveEnergyProd] FROM [dbo].[PVBoxMonths] WHERE siteId = 8 AND eqpId = 41 AND dtol = @debut)
WHERE siteId = 8 AND eqpId = 42 AND dtol = @debut
UPDATE PVBoxMonths
SET [energyDC] = (SELECT [energyDC] FROM [dbo].[PVBoxMonths] WHERE siteId = 8 AND eqpId = 41 AND dtol = @debut)
WHERE siteId = 8 AND eqpId = 42 AND dtol = @debut
UPDATE PVBoxMonths
SET [energyAux] = (SELECT [energyAux] FROM [dbo].[PVBoxMonths] WHERE siteId = 8 AND eqpId = 41 AND dtol = @debut)
WHERE siteId = 8 AND eqpId = 42 AND dtol = @debut
UPDATE PVBoxMonths
SET [prGlobal] = (SELECT [prGlobal] FROM [dbo].[PVBoxMonths] WHERE siteId = 8 AND eqpId = 41 AND dtol = @debut)
WHERE siteId = 8 AND eqpId = 42 AND dtol = @debut
UPDATE PVBoxMonths
SET [nBos] = (SELECT [nBos] FROM [dbo].[PVBoxMonths] WHERE siteId = 8 AND eqpId = 41 AND dtol = @debut)
WHERE siteId = 8 AND eqpId = 42 AND dtol = @debut
UPDATE PVBoxMonths
SET [yf] = (SELECT [yf] FROM [dbo].[PVBoxMonths] WHERE siteId = 8 AND eqpId = 41 AND dtol = @debut)
WHERE siteId = 8 AND eqpId = 42 AND dtol = @debut
UPDATE PVBoxMonths
SET [ya] = (SELECT [ya] FROM [dbo].[PVBoxMonths] WHERE siteId = 8 AND eqpId = 41 AND dtol = @debut)
WHERE siteId = 8 AND eqpId = 42 AND dtol = @debut
UPDATE PVBoxMonths
SET [missingData] = (SELECT [missingData] FROM [dbo].[PVBoxMonths] WHERE siteId = 8 AND eqpId = 41 AND dtol = @debut)
WHERE siteId = 8 AND eqpId = 42 AND dtol = @debut
– MAJ de la date de début
SET @debut = DATEADD(MONTHS, 1, @debut)
END