Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.09.27;
Скачать: CL | DM;

Вниз

Grid со столбцами из запроса   Найти похожие ветки 

 
grav   (2009-07-22 10:32) [0]

Есть запрос select n_month, num_dog, summa1, summa2 from tbl_dog

Требуется отображать данные в таблице в которой имена столбцов - n_month, по строкам num_dog, а в каждой ячейке два значения summa1 и summa2. Такое реально?
По моему это называется витрины данных.


 
Плохиш ©   (2009-07-22 10:42) [1]


> Такое реально?

Да.


 
Palladin ©   (2009-07-22 10:44) [2]

В Экселе это назвается "сводные таблицы", в MSSQL Pivot Tables. В DevExpress Quantum Grid это тоже назвается Pivot Tables. Где это называется "витрины данных" - незнаю.


 
Юрий Зотов ©   (2009-07-22 10:45) [3]

Для такой штуки я использовал TRxMemoryDataSet с обычными TDataSource и TDBGrid.

Получаем данные из БД в TQuery, по ним строим структуру TRxMemoryDataSet и заполняем ее данными - вот и все.


 
grav ©   (2009-07-22 10:53) [4]


> Юрий Зотов ©   (22.07.09 10:45) [3]


> TRxMemoryDataSet

Подскажите пожалуйста, где такой компонент найти.
PS
Испльзую FireBird 2.1


 
Игорь Шевченко ©   (2009-07-22 11:03) [5]

в Delphi это называется Decision Cube


 
Юрий Зотов ©   (2009-07-22 11:05) [6]

http://www.google.com/search?q=Download+Rx+Library&rls=com.microsoft:ru:IE-SearchBox&ie=UTF-8&oe=UTF-8&sourceid=ie7&rlz=1I7GZHZ


 
grav ©   (2009-07-22 13:29) [7]


> Игорь Шевченко ©   (22.07.09 11:03) [5]

Расскажите пожалуйста как Decision Cube использовать. Привязал я его к TIBDataSet с SQL запросом select n_month, num_dog, summa1 from tbl_dog
Финансирование по договорам помесячно. Т.е. по договору номер num_dog оплачено summa1 в n_month месяце
Хочется табличку где имена столбцов - месяцы, а по строкам номер договора, значения ячеек - суммы.
Указал в качестве размерностей n_,omth и num_dog.
Активирую датасет, получаю ошибку "The DecisionCube Capacity is low."


 
Anatoly Podgoretsky ©   (2009-07-22 13:37) [8]

> grav  (22.07.2009 13:29:07)  [7]

Ты видимо не заполнил одноименное свойство


 
grav ©   (2009-07-22 14:42) [9]


> Anatoly Podgoretsky ©   (22.07.09 13:37) [8]
Я не нахожу такого свойства


 
grav ©   (2009-07-22 15:06) [10]

Поискал в интернете, вроде как эта ошибка из-за того, что оперативки 2Гб


 
grav ©   (2009-07-23 09:30) [11]


> Юрий Зотов ©   (22.07.09 11:05) [6]

Как я  понял этой компоненты для Delphi 7 нет?


 
Anatoly Podgoretsky ©   (2009-07-23 09:59) [12]


> Я не нахожу такого свойства

Я прежде чем писать проверил по справке в Д7.


 
Юрий Зотов ©   (2009-07-23 10:06) [13]

> grav ©   (23.07.09 09:30) [11]

Есть, плохо искали. В Jedy версия 2.75 докручена для D7. Хотя и самому докрутить - не проблема, там всего-то версию компилятора добавить надо.

Ладно, выкладываю:
http://webfile.ru/3791844 - версия 2.75, доработанная под D7.
http://webfile.ru/3791850 - патч к ней.


 
grav ©   (2009-07-23 10:45) [14]


> Юрий Зотов ©   (23.07.09 10:06) [13]

Спасибо! А с патчем чего делать?


 
sniknik ©   (2009-07-23 10:53) [15]

> А с патчем чего делать?
издеваешься?
что обычно с пачтами делают?... конечно игнорировать, т.е. скачать и выкинуть в корзину, а после жаловаться на глюки и не стыковки версии тут же на форуме...


 
grav ©   (2009-07-23 11:32) [16]


> sniknik ©   (23.07.09 10:53) [15]

Я имел ввиду как им пользоваться, инструкции то нет.


 
Юрий Зотов ©   (2009-07-23 11:40) [17]

> grav ©   (23.07.09 11:32) [16]

> инструкции то нет.

Неправда. Есть.

Елы-палы, люди бесплатно работают, адаптируют версии, делают патчи, пишут инструкции - ДЛЯ КОГО ОНИ ВСЕ ЭТО ДЕЛАЮТ, ЕСЛИ ВЫ ДАЖЕ ПОСМОТРЕТЬ СОСТАВ ПАТЧА И ПРОЧИТАТЬ README НЕ ХОТИТЕ? НУ НАДО ЖЕ СОБСТВЕННУЮ ГОЛОВУ НАПРЯЧЬ, НУ ЧУТЬ-ЧУТЬ ХОТЯ БЫ!


 
grav ©   (2009-07-23 12:41) [18]


> Юрий Зотов ©   (23.07.09 11:40) [17]

В первом файле есть ридми, во втором нет.
PS
Это же форум для новичков, незачем меня ругать, я и сам знаю, что не знаю :)


 
Юрий Зотов ©   (2009-07-23 13:28) [19]

> grav ©   (23.07.09 12:41) [18]

В обоих файлах ридми есть, а вних есть инструкция по установке.

А ругаю я Вас не за то, что Вы что-то не знаете (за это не ругают, да я и сам очень многого не знаю), а за невнимательность.


 
grav ©   (2009-07-23 14:48) [20]

>Юрий Зотов ©

С первым архивом все ок, все поставилось без проблем.
Второй надо распаковать в туда же куда и первый и перекомпилить пакеты. И не проходит, ругается
[Fatal Error] Speedbar.pas(538): Unit SbSetup was compiled with a different version of SpeedBar.TBtnControl


 
Palladin ©   (2009-07-23 14:51) [21]

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


 
grav ©   (2009-07-23 15:00) [22]


> Юрий Зотов ©   (22.07.09 10:45) [3]
>  Получаем данные из БД в TQuery, по ним строим структуру
> TRxMemoryDataSet и заполняем ее данными - вот и все.

Расскажите пожалуйста, строим структуру это как? Где почитать?


 
grav ©   (2009-07-23 15:00) [23]


> Palladin ©   (23.07.09 14:51) [21]

Без патча работать не будет?


 
Loginov Dmitry ©   (2009-07-23 22:15) [24]

> Активирую датасет, получаю ошибку "The DecisionCube Capacity
> is low."


Лучше не используй этот компонент. Он давно не развивается, на
современных компьютерах часто жалуется на нехватку памяти, особенно,
когда ее >= 2 ГБ. Это касается стандартной установки D7, вероятно, есть
исправленные версии, но точно не в составе Delphi.
Можешь сам подправить (одну строчку всего изменить нужно :)


> Расскажите пожалуйста, строим структуру это как? Где почитать?

Добавляются требуемые столбцы:
with RxMemoryData.FieldDefs do
begin
 Add("num_dog", ftString, 15);
 Add("sum1", ftString, 30);
 Add("sum2", ftString, 30);
 Add("sum3", ftString, 30);
 Add("sum4", ftString, 30);
 Add("sum5", ftString, 30);
 Add("sum6", ftString, 30);
 Add("sum7", ftString, 30);
 Add("sum8", ftString, 30);
 Add("sum9", ftString, 30);
 Add("sum10", ftString, 30);
 Add("sum11", ftString, 30);
 Add("sum12", ftString, 30);
end;

Создается таблица
RxMemoryData.CreateTable;

Открывается RxMemoryData.Open;

Устанавливаются имена колонок
RxMemoryData.FieldByName("num_dog").DisplayLabel := "Договора";
RxMemoryData.FieldByName("sum1").DisplayLabel := "Январь";
...
RxMemoryData.FieldByName("sum12").DisplayLabel := "Декабрь";

Заполняется данными:
RxMemoryData.Append;
RxMemoryData.FieldByName("num_dog").AsString := .....
RxMemoryData.FieldByName("sum1").AsString := "555 / 777";
........
RxMemoryData.FieldByName("sum12").AsString := .....;
.....
RxMemoryData.Post;


И не забыть подключить все это добро к TDBGrid (а лучше к TRxDBGrid, раз уж Delphi7)


 
grav ©   (2009-07-24 09:04) [25]


> Loginov Dmitry ©   (23.07.09 22:15) [24]

Спасибо! Подробно, все понятно.



Страницы: 1 вся ветка

Текущий архив: 2009.09.27;
Скачать: CL | DM;

Наверх




Память: 0.53 MB
Время: 0.013 c
15-1248848901
ZeroDivide
2009-07-29 10:28
2009.09.27
Подножка для Delphi


6-1207242431
Виталий Гаврилов
2008-04-03 21:07
2009.09.27
Проблема с GetConnect


15-1248550614
TStas
2009-07-25 23:36
2009.09.27
Как вставить у страниц номера в 2007 Ворде?


1-1216348789
dreamse
2008-07-18 06:39
2009.09.27
Вопрос по ExcelXP


2-1248451922
Альберт
2009-07-24 20:12
2009.09.27
Работа с time_t