Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft Access Новый топик    Ответить
 Как работает Pivot в Ms Access  [new]
IRagnarok
Member

Откуда:
Сообщений: 122
Здравствуйте, Друзья.

Первый раз работаю с Pivot, не могу разобраться как правильно группировать.
Хочу создать график работ и там будет работник и его выход на сегодня, сегодня +1, сегодня +2 и тд
Выглядит он изначально так (файл приложил)

Хочу повернуть его, чтобы были записи сотрудника и его часы выходов на работу, дни стали полями вверху.
Ну, график выхода на работу, короче говоря.

Вот код, который пытаюсь заюзать но пишет "Ошибка в инструкции FROM"

SELECT ФИО, Сегодня+1,Сегодня+2
FROM таблица
GROUP BY ФИО
PIVOT (Часы работы for дни выхода in (Сегодня +1,Сегодня +2))

Выглядит он как то так

SELECT UserFullNameCalc, FORMAT(Now(),'dd.mm.yyyy'),FORMAT(Now()+1,'dd.mm.yyyy')
FROM qdfWorkDay
GROUP BY UserFullNameCalc
PIVOT (WorkHourCalc for DayNowCalc in (FORMAT(Now(),'dd.mm.yyyy'),FORMAT(Now()+1,'dd.mm.yyyy')))

К сообщению приложен файл. Размер - 8Kb
20 апр 19, 17:41    [21867842]     Ответить | Цитировать Сообщить модератору
 Re: Как работает Pivot в Ms Access  [new]
sdku
Member

Откуда: Краснодар
Сообщений: 5744
IRagnarok,
Перекрестный запрос начинается с инструкции TRANSFORM
6400575
20 апр 19, 18:16    [21867853]     Ответить | Цитировать Сообщить модератору
 Re: Как работает Pivot в Ms Access  [new]
IRagnarok
Member

Откуда:
Сообщений: 122
sdku,

Хорошо,
Попробовал сделать так

TRANSFORM часы
SELECT фио
FROM таблица
GROUP BY фио,часы
PIVOT дни

Но почему то есть пустые места, а в таблице их не было. и фио дублируется
Тут явно недостаёт завершающего жеста мастера sql лабиринтов...

К сообщению приложен файл. Размер - 10Kb
20 апр 19, 19:16    [21867887]     Ответить | Цитировать Сообщить модератору
 Re: Как работает Pivot в Ms Access  [new]
sdku
Member

Откуда: Краснодар
Сообщений: 5744
сделайте как-то так с отбором по месяцу и году:

К сообщению приложен файл (tmp.rar - 13Kb) cкачать
20 апр 19, 19:17    [21867888]     Ответить | Цитировать Сообщить модератору
 Re: Как работает Pivot в Ms Access  [new]
IRagnarok
Member

Откуда:
Сообщений: 122
Да нет же,

Есть же какой то простущий способ в 2 строки тут подправить как то надо я не знаю как! (((((
20 апр 19, 21:15    [21867917]     Ответить | Цитировать Сообщить модератору
 Re: Как работает Pivot в Ms Access  [new]
sdku
Member

Откуда: Краснодар
Сообщений: 5744
Если в базовой таблице для работника имеется 3 записи,то и в перекрестном запросе их будет 3 т.к в значении(пересечении строки и столбца)возможно применение только групповой функции-а как Вы представляете сумму временных интервалов с указанием начала и окончания каждого. Так что успехов в поиске "простущего способа" (без кода VBA и промежуточной таблицы)
20 апр 19, 23:35    [21867970]     Ответить | Цитировать Сообщить модератору
 Re: Как работает Pivot в Ms Access  [new]
__Michelle
Member

Откуда:
Сообщений: 3032
IRagnarok
TRANSFORM часы
SELECT фио
FROM таблица
GROUP BY фио,часы
PIVOT дни
Но почему то есть пустые места, а в таблице их не было. и фио дублируется
Попробуйте так:
TRANSFORM First(часы)
SELECT фио
FROM таблица
GROUP BY фио
PIVOT дни
21 апр 19, 00:36    [21868002]     Ответить | Цитировать Сообщить модератору
 Re: Как работает Pivot в Ms Access  [new]
IRagnarok
Member

Откуда:
Сообщений: 122
о мой повелитель,

франкенштейн ЖИИИФФФФ

вы просто чудо!!
21 апр 19, 13:10    [21868156]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft Access Ответить