powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Дополнительные столбцы
10 сообщений из 10, страница 1 из 1
Дополнительные столбцы
    #35882262
Imperous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброго всем дня!
Помогите пожалуйста решить такую задачку:
Есть табличка
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
Как такое можно выкрутить?
...
Рейтинг: 0 / 0
Дополнительные столбцы
    #35882319
Фотография spas2001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зависит от СУБД соответственно вопрос лучше в конкретном форуме задавать
Для Oracle можно использовать over partition и trunc
-----------------------------------------------------------------------------
Главная деталь любой машины - голова ее владельца
...
Рейтинг: 0 / 0
Дополнительные столбцы
    #35882485
Dim2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Imperous пишет:

> Как такое можно выкрутить?

Кросстабом.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Дополнительные столбцы
    #35882489
18-я весна
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дык это ж простейший Crosstab DW.
Только вместо даты в запрос добавить вычисляемое поле "Месяц".

Единственное я не помню как организовать сортировку по горизонтали по возрастанию номера месяца, а не по алфавиту (но точно помню что как-то давным-давно решал это, так что кто-то подскажет)
...
Рейтинг: 0 / 0
Дополнительные столбцы
    #35882590
18-я весна
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
18-я веснаЕдинственное я не помню как организовать сортировку по горизонтали по возрастанию номера месяца, а не по алфавиту (но точно помню что как-то давным-давно решал это, так что кто-то подскажет)

Вспомнил.
Надо в запрос кросстаба добавить два выч поля - месяц числовой и месяц текст, а при создании кросстаба в наборе для столбцов указать эти два поля именно в этом порядке. После того как визард сформирует кросстаб - удалить из визуального представления все что связано с числовым месяцем.
Тогда внутренне кросстаб будет сортировать по обоим этим полям, а показывать будет только текстовое.

ЗЫ. И не забудьте что Январь 2008 это не то же самое что январь 2009 :). Т.е. надо всегда работать с парой: год+месяц, иначе месяца из разных годов свернутся в одну столбец.
...
Рейтинг: 0 / 0
Дополнительные столбцы
    #35882610
Dim2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
18-я весна пишет:

> Т.е. надо всегда работать с парой: год+месяц, иначе месяца из разных
> годов свернутся в одну столбец.

А может, так и надо? В постановке задачи о годе ничего нет ;).
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Дополнительные столбцы
    #35882770
Imperous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
спасиб, буду смотреть
...
Рейтинг: 0 / 0
Дополнительные столбцы
    #35882824
18-я весна
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dim2000
> Т.е. надо всегда работать с парой: год+месяц, иначе месяца из разных
> годов свернутся в одну столбец.

А может, так и надо? В постановке задачи о годе ничего нет ;).

Ну так это до первого запуска юзером за период больше года :)
Или даже короче года, но с переходом между годами - сортировка месяцев будет некорректной.
Так что рекомендую в качестве числогово значения месяца использовать выражение Год*100+Месяц
...
Рейтинг: 0 / 0
Дополнительные столбцы
    #35885935
Imperous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
почитал про кросстаб, это то что надо!
теперь столкнулся с такой проблеммой как же сделать такую выборку )))
месяцы и годы разделяются, максимальное нашел, а чтоб еще и отобразить того человека не могу :(
не идет группировка
хеееееелп.
...
Рейтинг: 0 / 0
Дополнительные столбцы
    #35886460
18-я весна
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Imperousпочитал про кросстаб, это то что надо!
теперь столкнулся с такой проблеммой как же сделать такую выборку )))
месяцы и годы разделяются, максимальное нашел, а чтоб еще и отобразить того человека не могу :(
не идет группировка
хеееееелп.
для ASA:
Код: plaintext
1.
2.
3.
4.
5.
6.
select fio
     , kolvo
     , year(data_d) *  100  + month(data_d) as year_month_order
     , year(data_d) || ' ' || monthname(data_d) as year_month_label
  from table
 order by  1 ,  3 
Столбец fio - в строки кросстаба, столбцы year_month_order, year_month_label в столбцы кросстаба, kolvo - в значение кросстаба
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Дополнительные столбцы
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]