====== 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 :\\
* Obtenez dans un premier temps l’identifiant de champ associé à la SPV à partir de la table « CNF_GBFeed » da la base « pv_db ». dans notre cas, la SPV8 est associé au champ dont l’ID est 6.
* Ensuite lancez la requête suivante pour obtenir les ids des PTRs où XX est l’identifiant du champ précédemment trouvé : ''SELECT * FROM [pv_db].[dbo].[CNF_PVBox] WHERE Id_GBFeed = 6''\\
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\\
\\
{{tag> production pvbox pv box cestas rapport}}