Как рассчитать разницу и совокупную энергию в качестве счетчика - TimescaleDB - PullRequest
0 голосов
/ 28 января 2020

У меня есть данные временных рядов в TimescaleDB от интеллектуальных счетчиков, значение энергии сохраняется как счетчик.

У меня есть 2 вопроса:

1) Как рассчитать разницу между каждой строкой значений энергии, чтобы я мог просто видеть увеличение каждую минуту для каждой строки?

2) Я получаю это с интервалами в 1 минуту, и я хотел бы объединиться как 30 м, 60 м и c. Как лучше всего этого добиться?

Заранее благодарим за любую помощь, которую вы можете мне оказать.

1 Ответ

0 голосов
/ 31 января 2020

Здесь есть несколько проблем. Во-первых, вы должны убедиться, что интервалы ваших встречных индексов постоянны (подумайте о перебоях в коммуникации, ...). Если нет, вам придется иметь дело с результирующими пиками энергии. Во-вторых, ваш индекс, вероятно, будет выглядеть как дискретный сигнал головоломки, время от времени перезапускаясь с нуля.

Вот как мы это сделали. В случае 2) мы используем столько непрерывных агрегатов в индексах, сколько нам требуется разрешений (15 минут, 60 минут, ...). Используйте locf, где это необходимо. Для 1) мы делаем дельта-вычисления на лету. Это означает, что мы запрашиваем у БД индексы, а затем l oop через массив, чтобы вычислить дельту. Таким образом, мы можем легко справиться с головоломкой и пиками.

...