|
Как правильно спроектировать РС | ☑ | ||
---|---|---|---|---|
0
Vadimugatu
24.01.15
✎
16:35
|
Всем привет!!!
Как правильно спроектировать регистр сведений? Необходимо на определенную дату получать значение в разрезе сотрудника. Исходя из этого, вижу два варианта: 1. Периодический РС с одним измерением «Сотрудник», периодичность – день. 2. Непериодический с двумя измерениями «Сотрудник» и «Дата». Понимаю, что в первом случае я могу обращаться к ВТ «Срез последних», но мне как бы и не нужен этот срез, так как мне нужно значение именно на ДАТУ, т.е. если значения на дату нет, то и в выборку попадать ничего не должно. С другой стороны, при использовании этой ВТ, я могу параметр «дату» фильтровать не в поле «период» а параметрах таблицы. Также плюсом использования ВТ вижу то, что можно накладывать фильтр на сотрудников также в параметрах ВТ. Или все таки использовать непериодический. Вообще, проблем при реализации в обоих случаях не вижу. Просто хотелось бы прояснить для себя, что лучше. Заранее спасибо. |
|||
1
ShoGUN
24.01.15
✎
16:53
|
(0) Если тебе не нужен срез последних, а нужно значение на дату - то толку тебе от параметров ВТ? Ты всё равно не сможешь её использовать, она будет выдавать не то, что тебе нужно. Кроме того, виртуальная таблица в данном случае принципиально медленней тупой выборки из обычной таблицы. Хотя на маленьких объемах данных это может быть незаметно.
Конкретно в твоём случае никакой особенной разницы между периодическим и непериодическим регистром нет, только "индексировать" поставь по измерениям в непериодическом регистре. |
|||
2
Vadimugatu
24.01.15
✎
17:05
|
(1)"Ты всё равно не сможешь её использовать, она будет выдавать не то, что тебе нужно" - почему? Я же могу фильтровать по дате не в поле "Период" а полях таблицы, там же, где и фильтруются измерения. Согласен, что разницы особой нет. Спасибо за ответ.
|
|||
3
ShoGUN
24.01.15
✎
17:10
|
(2) >Я же могу фильтровать по дате не в поле "Период" а полях таблицы, там же, где и фильтруются измерения.
И нафига тебе срез последних, в таком случае? Ты посмотри, как он внутри устроен: Книга знаний: Срез последних на каждую дату в запросе Проще выбирать напрямую из таблицы, не нужны тебе никакие срезы. |
|||
4
floody
24.01.15
✎
17:54
|
Использовать периодический РС, но запрашивать не срез, а основную таблицу?
|
|||
5
ShoGUN
24.01.15
✎
18:06
|
(0) В этом случае нет особой разницы, периодический это регистр, или непериодический с измерением "Дата".
|
|||
6
ShoGUN
24.01.15
✎
18:06
|
(5) к (4).
|
|||
7
Лефмихалыч
24.01.15
✎
18:20
|
(0) без описания задачи, то есть - зачем и что тебе получать, - объективных советов тебе ни кто не даст.
|
|||
8
EvgeniuXP
24.01.15
✎
18:22
|
(0) для 8.3 срез последних будет выгоднее :), но это если тебе надо получать значение на дату, не зависимо от того когда ранее устанавливалось - получишь последнее значение. А если тебе надо на конкретную дату - то причем тут периодический, там на другую дату и не получишь если этого значения нет в РС.
|
|||
9
EvgeniuXP
24.01.15
✎
18:23
|
(+8) опять же для 8.3 выгоднее, если чаще будешь обращаться без параметра даты в срезе последних :)
|
|||
10
EvgeniuXP
24.01.15
✎
18:26
|
а вообщем, у тебя есть инструменты, есть голова - посмотри что получается в профайлере и делай выводы.
|
|||
11
PR
24.01.15
✎
18:46
|
(0) Ну ахренеть, смешал колбасу с дорогой.
Если нужно значение на определенную дату, и на другую не подойдет, то два измерения. Если именно срез, то период. Вещи принципиально разные, как методологически, так и технически. |
|||
12
Vadimugatu
24.01.15
✎
18:51
|
(11) Как мне кажется при добавлении измерения типа Дата в непериодический регистр по сути сделает его периодическим, т.е. также будет происходить контроль уникальности записей (в данном случае по измерению - дата). С прикладной точки зрения разницы вообще никакой - на один и тот же день ни в первом ни во втором случае двух одинаковых записей по одному сотруднику и одной дате естественно не будет.
|
|||
13
Vadimugatu
24.01.15
✎
18:56
|
а вопрос был с последующим получением данных. Мне нужно на определенную дату получать значения по сотрудникам, хранящимся в этом РС. Если записи нет на дату, то в выборку попадать ничего не должно, т.е. обычный срез неподойдет. Почитал статью из (3), понял что в данном случае Срез вообще все только усложнит, даже если дату подставлять в описание таблицы (не в поле период). В итоге склоняюсь все таки к периодическому РС, данные буду получать из реальной таблицы.
|
|||
14
EvgeniuXP
24.01.15
✎
19:53
|
(13) кавардак в голове, у вас магистр
периодический РС - создает виртуальные таблицы - срез первых и срез последних по которым можешь получить - это не реальная таблица. Реальная таблица - это не периодический регистр. |
|||
15
EvgeniuXP
24.01.15
✎
19:54
|
в периодическом регистре присутствует реальная таблица и виртуальные таблицы.
|
|||
16
Vadimugatu
24.01.15
✎
20:36
|
(13)- "В итоге склоняюсь все таки к периодическому РС, данные буду получать из реальной таблицы." (15) - "в периодическом регистре присутствует реальная таблица и виртуальные таблицы." Т.е. имелось ввиду использование периодического РС, а при обращении к РС использовать реальную таблицу.
|
|||
17
PR
24.01.15
✎
20:43
|
(12) Нет
|
|||
18
PR
24.01.15
✎
20:44
|
(16) рукалицо
|
|||
19
Vadimugatu
24.01.15
✎
20:48
|
(18) Всмысле?
|
|||
20
PR
24.01.15
✎
21:02
|
(19) В смысле можно можно гвоздь микроскопом забить и ниче, забьется.
А можно даже молотком забить, но случайно, по незнанию. А правильно все-таки понимать, что микроскопом гвозди не забивают, а забивать нужно молотком. Периодический регистр нужен не для того, чтобы в нем хранить значения на конкретные даты, а чтобы использовать срезы. Не нужны срезы, не трахай мозг и делай не периодический регистр с измерением дата. Всё. |
|||
21
PR
24.01.15
✎
21:06
|
+(20) Сразу ответ на глупый вопрос "А что плохого в том, чтобы использовать период периодического регистра, а не добавить дату в непериодический регистр?".
собственно, ничего, кроме разве того, что людей, смотрящих твою поделку, будет смущать, что гвозди забиваются микроскопом. Кто-то из них, возможно, даже будет пытаться понять, не пытаешься ли ты рассмотреть микрорисунок на шляпке гвоздя в момент забивания гвоздя. |
|||
22
PR
24.01.15
✎
21:08
|
+(21) На всякий случай перевожу для тех, кто сам не допетрил.
Людей будет подмывать использовать срез последних, раз уж он есть, а не выбирать записи с датой, жестко равной заданной. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |