Конференция "Базы" » Суперпозиция группировок в отображении данных БД [D7, СУБД Access]
 
  • Иван (21.03.10 16:46) [0]
    Всем привет!

    Программа должна сделать весьма хитрую группировку данных из БД. Я бы сказал- суперпозицию. Задача сделать таблицу для многомерного анализа.
    Ниже нарисовал структуру БД исходной и что должно быть на выходе.
    Если кто нибудь знает какой SQL запрос сделать для этого - буду строить ему памятник! )) Аська 374-947-331  

    IDOC (уникальный номер документа) Метка Термин
    123 1 Иванов
    123 2 Правда
    123 3 Москва
    123 4 1956
    21 1 Петров
    21 2 Молот
    21 3 Москва
    21 4 1978
    356  Толкиен
    356  Правда
    356  Москва
    356  1956
    124 1 Иванов
    124 2 Правда
    124 3 Москва
    124 4 1956
    89 1 Алуштин
    89 2 Правда
    89 3 Москва
    89 4 1990
    91 1 Алуштин
    91 2 Правда
    91 3 Москва
    91 4 1990
    65 1 Алуштин
    65 2 Правда
    65 3 Москва
    65 4 1990

    К БД прилогается файл с расшифровкой меток:  
     
    1 - авторы
    2 - издательства
    3 - место издания
    4 - год издания

    В результате нужно распределить данные в виде многомерной таблицы:  
     
    МЕСТО ИЗДАТЕЛЬСТВО ГОД АВТОР
    Москва: 7 док правда: 6 док 1956: 3 док толкиен: 1 док
    Москва: 7 док правда: 6 док 1956: 3 док Иванов: 2 док
    Москва: 7 док правда: 6 док 1990: 3 док Алуштин: 3 док
    Москва: 7 док Молот:1 док 1978: 1 док Петров: 1док
     
     
    Пользователь может выбрать порядок столбцов в такой таблице (приоритет группировки)  
    Т.е. по сути выбрать что от чего распределять  
    Здесь "город - в нем по издательствам - в них по годам - авторам"
  • Виталий Панасенко(дом) (21.03.10 18:22) [1]
    group by?
  • Иван (21.03.10 22:14) [2]
    Да, конечно через group by, но вопрос как сделать вложенную группировку)
    Это же комбинация из нескольких.
  • Плохиш © (21.03.10 23:16) [3]

    > Иван   (21.03.10 22:14) [2]
    >
    > Да, конечно через group by, но вопрос как сделать вложенную
    > группировку)
    > Это же комбинация из нескольких.

    Ты справку по "group by" прочитал? Попробовал? Или так философски спрашиваешь?
  • Sergey13 © (22.03.10 09:43) [4]
    > [0] Иван   (21.03.10 16:46)
    > Задача сделать таблицу для многомерного анализа.

    Только таблицу и собственно многомерный анализ?
  • Иван (23.03.10 00:32) [5]
    Графическую интерпритацию делать не нужно. Просто сводную таблицу указанной выше структуры. Поидее через нее видно как раз многомерное распределение документов сразу по нескольким полям.
  • Sergey13 © (23.03.10 09:08) [6]
    > [5] Иван   (23.03.10 00:32)

    Судя по моему поверхностному знакомству с OLAP-кубами - SQL-ем тут не обойдешься, по крайней мере им одним. Скорее всего нужно строить дополнительные таблицы для хранения уже сгруппированых измерений и дополнять их новыми значениями по мере поступления последних.

    Правда я не понял где тут в

    > МЕСТО ИЗДАТЕЛЬСТВО ГОД АВТОР
    > Москва: 7 док правда: 6 док 1956: 3 док толкиен: 1 док
    > Москва: 7 док правда: 6 док 1956: 3 док Иванов: 2 док
    > Москва: 7 док правда: 6 док 1990: 3 док Алуштин: 3 док
    > Москва: 7 док Молот:1 док 1978: 1 док Петров: 1док

    многомерный анализ? По мне так это просто результат последовательной фильтрации. И так же непонятен смысл выводимого скопом.
 
Конференция "Базы" » Суперпозиция группировок в отображении данных БД [D7, СУБД Access]
Есть новые Нет новых   [134433   +22][b:0][p:0]