|
Дополнительные столбцы
|
|||
---|---|---|---|
#18+
Доброго всем дня! Помогите пожалуйста решить такую задачку: Есть табличка id fio data_d kol-vo1 Иванов 15-01-2008 101 Иванов 20-01-2008 151 Иванов 10-02-2008 201 Иванов 25-02-2008 301 Иванов 01-03-2008 101 Иванов 02-03-2008 10 Необходимо отобразить месяцы, т.е. например мы выбираем отчет по Иванову за каких-то 2 месяца (возьмем первый и второй) fio Январь ФевральИванов 25 50 Месяцы могут быть от 1 и до n Как такое можно выкрутить? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2009, 15:58 |
|
Дополнительные столбцы
|
|||
---|---|---|---|
#18+
Зависит от СУБД соответственно вопрос лучше в конкретном форуме задавать Для Oracle можно использовать over partition и trunc ----------------------------------------------------------------------------- Главная деталь любой машины - голова ее владельца ... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2009, 16:14 |
|
Дополнительные столбцы
|
|||
---|---|---|---|
#18+
Imperous пишет: > Как такое можно выкрутить? Кросстабом. Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2009, 17:03 |
|
Дополнительные столбцы
|
|||
---|---|---|---|
#18+
Дык это ж простейший Crosstab DW. Только вместо даты в запрос добавить вычисляемое поле "Месяц". Единственное я не помню как организовать сортировку по горизонтали по возрастанию номера месяца, а не по алфавиту (но точно помню что как-то давным-давно решал это, так что кто-то подскажет) ... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2009, 17:05 |
|
Дополнительные столбцы
|
|||
---|---|---|---|
#18+
18-я веснаЕдинственное я не помню как организовать сортировку по горизонтали по возрастанию номера месяца, а не по алфавиту (но точно помню что как-то давным-давно решал это, так что кто-то подскажет) Вспомнил. Надо в запрос кросстаба добавить два выч поля - месяц числовой и месяц текст, а при создании кросстаба в наборе для столбцов указать эти два поля именно в этом порядке. После того как визард сформирует кросстаб - удалить из визуального представления все что связано с числовым месяцем. Тогда внутренне кросстаб будет сортировать по обоим этим полям, а показывать будет только текстовое. ЗЫ. И не забудьте что Январь 2008 это не то же самое что январь 2009 :). Т.е. надо всегда работать с парой: год+месяц, иначе месяца из разных годов свернутся в одну столбец. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2009, 17:37 |
|
Дополнительные столбцы
|
|||
---|---|---|---|
#18+
18-я весна пишет: > Т.е. надо всегда работать с парой: год+месяц, иначе месяца из разных > годов свернутся в одну столбец. А может, так и надо? В постановке задачи о годе ничего нет ;). Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2009, 17:44 |
|
Дополнительные столбцы
|
|||
---|---|---|---|
#18+
спасиб, буду смотреть ... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2009, 18:59 |
|
Дополнительные столбцы
|
|||
---|---|---|---|
#18+
Dim2000 > Т.е. надо всегда работать с парой: год+месяц, иначе месяца из разных > годов свернутся в одну столбец. А может, так и надо? В постановке задачи о годе ничего нет ;). Ну так это до первого запуска юзером за период больше года :) Или даже короче года, но с переходом между годами - сортировка месяцев будет некорректной. Так что рекомендую в качестве числогово значения месяца использовать выражение Год*100+Месяц ... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2009, 19:49 |
|
Дополнительные столбцы
|
|||
---|---|---|---|
#18+
почитал про кросстаб, это то что надо! теперь столкнулся с такой проблеммой как же сделать такую выборку ))) месяцы и годы разделяются, максимальное нашел, а чтоб еще и отобразить того человека не могу :( не идет группировка хеееееелп. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2009, 15:27 |
|
Дополнительные столбцы
|
|||
---|---|---|---|
#18+
Imperousпочитал про кросстаб, это то что надо! теперь столкнулся с такой проблеммой как же сделать такую выборку ))) месяцы и годы разделяются, максимальное нашел, а чтоб еще и отобразить того человека не могу :( не идет группировка хеееееелп. для ASA: Код: plaintext 1. 2. 3. 4. 5. 6.
... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2009, 17:50 |
|
|
start [/forum/topic.php?fid=15&msg=35882770&tid=1336342]: |
0ms |
get settings: |
7ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
38ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
2ms |
others: | 10ms |
total: | 146ms |
0 / 0 |