Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Как лучше организовать структуру?
|
|||
|---|---|---|---|
|
#18+
Возникла такая ситуация. Есть некая таблица, в которую пишутся почасовые данные, основные поля: tDate (дата) tHour (час) ID_CP (контрольная точка, по которой учитываются значения) fValue (собственно, занчение. Точнее, таких полей 4, ну, будем считать, что одно.) По этой таблице в конце каждой декады и месяца составляется отчет, в котором фигурируют средние и суммарные значения по каждой точке. Теперь пользователи хотят вот что: в конце месяца они отчитываются числа 27-29, когда есть еще не все данные. И хотят, чтобы недостающие 3-4 дня рассчитывались по среднему значению за предыдущие дни месяца. Более того, чтобы эти значения хранились и после реального окончания месяца чтобы выдавался отчет - "плановые" значения, реальные и невязка. Сижу вот соображаю, как это лучше сделать. Таблица довольно большая - контрольных точек около 100, по 24 часа на 30 дней, да 4 параметра посчитать. На "лету" - долго будет, да и глупо каждый раз это вычислять. Я сначала хотела просто заполнять по какой-нибудь кнопочке в основной таблице оставшиеся дни месяца средними значениями, а потом "накрывать" их реальными по мере поступления. Но тогда я не смогу выдать сравнительный отчет с невязкой. Добавлять поля в таблицу - тоже не хочется, т.к. заполненными будут только 3-4 дня в месяце. Попробовала сделать отдельную таблицу, в которой будут данные за эти 3-4 дня. Но получается, что нужно full join делать на основную таблицу и эту дополнительную, и в выборке смотреть - если в основной стоят NULL'ы, тогда брать данные из дополнительной. Запрос довольно долго отрабатывает. Мне кажется, тут надо как-то придумать со структурой что-то... а что еще можно придумать? Прошу прощения, если путанно получилось. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2004, 06:55 |
|
||
|
Как лучше организовать структуру?
|
|||
|---|---|---|---|
|
#18+
Можно сделать все гораздо проще. Бери период не 1 числа, а с такого же за прошлый месяц. То есть, например, с 27.03 по 27.04. Вот и будет тебе среднее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2004, 11:21 |
|
||
|
Как лучше организовать структуру?
|
|||
|---|---|---|---|
|
#18+
Раз есть и план и реальность, то надо хранить и то и другое, а то "позатирешь" данные - поди потом докажи, как оно было на самом деле. Вообще, странная какая-то тут методика планирования - 3 последних дня. Может лучше про методики планирования вопрос изучить, тогда над структурой можно ломать голову со спокойной душой - а то мало ли какая им блажь в голову придет, будешь это реализовывать, а окажется, что постановка задачи в принципе не верна. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2004, 12:53 |
|
||
|
Как лучше организовать структуру?
|
|||
|---|---|---|---|
|
#18+
Ну, это как бы не планирование как таковое. Просто они должны отчитаться за месяц, когда месяц еще не закончен. То есть, отчитываются как бы "авансом". В зависимости от наличия выходных в конце месяца - за 3-4 дня. И вот за эти 3-4 дня данные берут по среднему за предыдущие дни месяца. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2004, 04:46 |
|
||
|
Как лучше организовать структуру?
|
|||
|---|---|---|---|
|
#18+
я бы предложил подумать о таблице "Отчеты", в которой хранить как предварительные отчеты, так и реальные. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2004, 06:31 |
|
||
|
Как лучше организовать структуру?
|
|||
|---|---|---|---|
|
#18+
Добавить в табличку признак (поле) ПланФакт, в обычном режиме заполнять с признком 1 (факт), в конце месяца сгенерировать дополнительные записи с признаком 0 (план) по среднему ... далее в обычном режиме формируются данные с признаком 1 (факт) в тех же контрольных точках ... дальше наверное понятно как выбрать план/факт/невязку Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2004, 17:56 |
|
||
|
|

start [/forum/topic.php?fid=32&tid=1546422]: |
0ms |
get settings: |
7ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
142ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
| others: | 213ms |
| total: | 438ms |

| 0 / 0 |
