Переключение на Главную Страницу Страницы: 1 ... 4 5 [6] 7 8 ... 10 ОтправитьПечать
Очень популярная тема (более 25 ответов) Библиотека классов 1С++ для создания сводных таблиц v4.00 (число прочтений - 73444 )
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3051
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Библиотека классов 1С++ для создания сводных таблиц v2.00
Ответ #75 - 27. Мая 2010 :: 13:09
Печать  
zar писал(а) 27. Мая 2010 :: 12:07:
В архиве PivotQuery.zip все имена с русскими буквами отображаются как абракадабра... т.е. какая то проблема с кодировкой...

WinRar - абракадабра
7-Zip - нормально
  

1&&2&&3
Наверх
 
IP записан
 
berezdetsky
1c++ power user
Отсутствует


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Библиотека классов 1С++ для создания сводных таблиц v2.00
Ответ #76 - 27. Мая 2010 :: 14:00
Печать  
trad писал(а) 27. Мая 2010 :: 13:09:
WinRar - абракадабра
7-Zip - нормально

В штатном windows zip folders - нормально. А что сверх того - то от лукавого.  Смех
  

пароль как коньяк, чем больше звездочек, тем лучше
Наверх
IP записан
 
berezdetsky
1c++ power user
Отсутствует


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Библиотека классов 1С++ для создания сводных таблиц v2.00
Ответ #77 - 27. Мая 2010 :: 17:33
Печать  
trad писал(а) 27. Мая 2010 :: 13:09:
WinRar - абракадабра
7-Zip - нормально

WinRAR x64 3.93 - нормально;
7-Zip x64 9.13 beta - нормально.

Нерешительный
  

пароль как коньяк, чем больше звездочек, тем лучше
Наверх
IP записан
 
zar
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 82
Местоположение: Киров
Зарегистрирован: 17. Августа 2009
Пол: Мужской
Re: Библиотека классов 1С++ для создания сводных таблиц v2.00
Ответ #78 - 28. Мая 2010 :: 05:27
Печать  
мда... действительно косячил втроенный в total commander плагин по работе с архивами... 7zip и winrar отработали нормально... и чего я раньше ими не попробовал? вот она - сила привычки.... Улыбка
  
Наверх
 
IP записан
 
mvgfirst
Full Member
***
Отсутствует


В борьбе бобра с ослом
всегда побеждает бобро!

Сообщений: 152
Местоположение: Украина г. Кривой Рог
Зарегистрирован: 17. Августа 2007
Пол: Мужской
Re: Библиотека классов 1С++ для создания сводных таблиц v2.00
Ответ #79 - 17. Августа 2010 :: 11:01
Печать  
Нешел некорретную работу в примере. Может и не понадобится но я примере переделывал под себя и сегодня убил кучу времени на то что бы получить нужный мне результат.
Начнем с начала:
У меня есть спраочник с несбалансированной иерархией. Этот справочник используется как измерение регистра. Я строю куб по этому регистру и переработав немножку пример под себя (который для ТиС) получил таки в йокселе красивую табличку с "плюсиками" где надо.
Все хорошо было пока не узрел я что на втором уровне группировки выводятся только папки. А элементы (они же листья) не выводятся.

Пролема оказалась в процедуре "ВывестиСтроки()" - когда для вывода листка группировки управление переходило путем вложенного вызова этой же процедуры. При этом при выводе строки через "ТабличныйДокументРасширенный" меняется номер уровня. И соответсвенно нужный мне листок прячется в соседнюю ветку как ее дочерний. Хотя должен отражаться на родительской ветке.

Надеюсь объяснил сколькнибудь понятно. Если надо детальней разобраться что к чему прошу в аську 84705448. попробую объяснить детальнее.

Выкрутился из ситуации тем что в метод ВывестиСтроки() передаю номер уровня. А не расчитываю его внутри процедуры.
  
Наверх
ICQ  
IP записан
 
mvgfirst
Full Member
***
Отсутствует


В борьбе бобра с ослом
всегда побеждает бобро!

Сообщений: 152
Местоположение: Украина г. Кривой Рог
Зарегистрирован: 17. Августа 2007
Пол: Мужской
Re: Библиотека классов 1С++ для создания сводных таблиц v2.00
Ответ #80 - 17. Августа 2010 :: 11:06
Печать  
И еще вопрос.
В том же примере используется Построитель запроса. У которого есть список "Отбор" - в который надо добавлять значения элементов по которым нужно отфильтровать результат.

Так вот если в Построителе указать Нужное мне измерение и как группировку и указать значение в списке "Отбор" то он выдает ошибку.
Цитата:
Описание ошибки: ПостроительЗапроса::Результат(Число ТипОбхода=1) : СводныйЗапрос::Выбрать(Число ТипОбхода=1, Строка Группировки=[СБЕ], Строка Условие=[СБЕ КФ], Строка Формула=, Строка Колонки=, Порядок Порядок=) : Microsoft® OLE DB Provider for Analysis Services: Formula error - duplicate dimensions across (independent) axes - when calculating a query axis
cst.Open(qryText, Connection);
{\\Sql\Trenirivka\Классы\PivotQuery\СводныйЗапрос.ert(537) }



Хотелось бы узнать как же все-таки фильтровать-то если я хочу фильтровать по измерению которое использую в группировке? Если измерение в группировке не используется то ошибок не возникает.
  
Наверх
ICQ  
IP записан
 
berezdetsky
1c++ power user
Отсутствует


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Библиотека классов 1С++ для создания сводных таблиц v2.00
Ответ #81 - 17. Августа 2010 :: 11:48
Печать  
Пример посмотрю, спасибо.

mvgfirst писал(а) 17. Августа 2010 :: 11:06:
Хотелось бы узнать как же все-таки фильтровать-то если я хочу фильтровать по измерению которое использую в группировке? Если измерение в группировке не используется то ошибок не возникает.

Нужно в фильтре и в группировке использовать разные иерархии измерения. Для измерений, заданных с опцией hierarchy, иерархий всегда две: "Все" и "По группам". Использовать одну иерархию и в фильтре и в группировке невозможно (по крайней мере, в OLAP-сервисах от Microsoft).

OWC это умеет, но я не знаю, как - на уровне обхода результата или каким-то обходным манёвром в запросе.  Озадачен
  

пароль как коньяк, чем больше звездочек, тем лучше
Наверх
IP записан
 
mvgfirst
Full Member
***
Отсутствует


В борьбе бобра с ослом
всегда побеждает бобро!

Сообщений: 152
Местоположение: Украина г. Кривой Рог
Зарегистрирован: 17. Августа 2007
Пол: Мужской
Re: Библиотека классов 1С++ для создания сводных таблиц v2.00
Ответ #82 - 17. Августа 2010 :: 12:36
Печать  
berezdetsky писал(а) 17. Августа 2010 :: 11:48:
Пример посмотрю, спасибо.

Незачто... я еще с ним воюю Улыбка
berezdetsky писал(а) 17. Августа 2010 :: 11:48:
mvgfirst писал(а) 17. Августа 2010 :: 11:06:
Хотелось бы узнать как же все-таки фильтровать-то если я хочу фильтровать по измерению которое использую в группировке? Если измерение в группировке не используется то ошибок не возникает.

Нужно в фильтре и в группировке использовать разные иерархии измерения. Для измерений, заданных с опцией hierarchy, иерархий всегда две: "Все" и "По группам". Использовать одну иерархию и в фильтре и в группировке невозможно (по крайней мере, в OLAP-сервисах от Microsoft).

OWC это умеет, но я не знаю, как - на уровне обхода результата или каким-то обходным манёвром в запросе.  Озадачен

Ну тут у меня сложности измерение по которому я хотел делать отбор не иерархическое. Это всего лишь одноуровневый справочник.
Я вышел из положения тем что в запросе из которого строю куб фильтрую. - но это не правильно. Общие итоги искажаются.

Я когда гуглил описание этой ошибки находил рекомендации вместо того что бы указывать группировку отбора в конструкции Where использовать конструкцию FILTER по нужному нам измерению.
Вот только моего опыта пока нехватает перелампичить классы выборки из куба что бы такое проверить.

И вот есть у меня подозрение что OWC именно так и делает

Вот здесь http://www.compress.ru/article.aspx?id=9512&iid=403 в разделе Другие функции написано что можно использовать FILTER
Может я конечно и ошибаюсь... но может быть и нет Улыбка
  
Наверх
ICQ  
IP записан
 
berezdetsky
1c++ power user
Отсутствует


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Библиотека классов 1С++ для создания сводных таблиц v2.00
Ответ #83 - 17. Августа 2010 :: 18:06
Печать  
mvgfirst писал(а) 17. Августа 2010 :: 11:01:
Пролема оказалась в процедуре "ВывестиСтроки()" - когда для вывода листка группировки управление переходило путем вложенного вызова этой же процедуры. При этом при выводе строки через "ТабличныйДокументРасширенный" меняется номер уровня. И соответсвенно нужный мне листок прячется в соседнюю ветку как ее дочерний. Хотя должен отражаться на родительской ветке.

Не получилось воспроизвести с наскоку. Можешь выложить тестовую базу?


По поводу фильтров: какой в точности функционал нужен? Ну, там, "все фирмы с оборотом > 100500" или "все фирмы с 'ООО' в названии" или "все (не)входящие в список значений"..
  

пароль как коньяк, чем больше звездочек, тем лучше
Наверх
IP записан
 
mvgfirst
Full Member
***
Отсутствует


В борьбе бобра с ослом
всегда побеждает бобро!

Сообщений: 152
Местоположение: Украина г. Кривой Рог
Зарегистрирован: 17. Августа 2007
Пол: Мужской
Re: Библиотека классов 1С++ для создания сводных таблиц v2.00
Ответ #84 - 17. Августа 2010 :: 20:09
Печать  
По поводу фильтрации хотелось бы получить возможность фильтровать по вхождению элементов в список. Т.е. указать список элементов справочника по которым отфильтроввать и получить результат.
Как я уже говорил этот эффект я получаю при формировании запроса из которого строится куб, через "УложитьСписокГрупп", но мне кажется это не совсем справедливо. Например, если у меня есть справочник складов и я по ним получаю остаток, и наложил фильтр только на "Главный склад" то разумно бы получить в отчете ониформацию и об остатке по складу "Главный склад" в соответствующей колонке и по всем складам в колонке "Все". Если же делать это в запросе как сейчас то сумма в колонке "Все" будет равняться  колонке "Главный склад".
Может я и придираюсь - но хочу получить "идеальный функционал".


По поводу тестовой базы, извини, но не вышлю... слишком долго вырезать из рабочей...
Могу только сказать что ошибка эта связанна с работой класса "Табличный документ расширенный", а именно с механизмом сворачивания "по плюсику"... Если отключить автогруппировку - то все выводится как надо. Причем, обращаю внимание ошибка не в классе, а именно в примере, в том как передаются уровни группировки при рекурсивном вызове процедуры "ВывестиСтроки"
  
Наверх
ICQ  
IP записан
 
berezdetsky
1c++ power user
Отсутствует


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Библиотека классов 1С++ для создания сводных таблиц v2.00
Ответ #85 - 17. Августа 2010 :: 20:23
Печать  
mvgfirst писал(а) 17. Августа 2010 :: 20:09:
Например, если у меня есть справочник складов и я по ним получаю остаток, и наложил фильтр только на "Главный склад" то разумно бы получить в отчете ониформацию и об остатке по складу "Главный склад" в соответствующей колонке и по всем складам в колонке "Все". Если же делать это в запросе как сейчас то сумма в колонке "Все" будет равняться  колонке "Главный склад".

Ненене. Это by design. Перенос фильтрации из базового запроса в PivotQuery лишь избавит от необходимости каждый раз перестраивать куб. Результат не изменится.

- Ваша фамилия?
- Итого..  Смех

mvgfirst писал(а) 17. Августа 2010 :: 20:09:
По поводу тестовой базы, извини, но не вышлю... слишком долго вырезать из рабочей...

Но, если ты знаешь, где ошибка, ты легко воспроизведёшь её на демо-базе штатной ТиС..
  

пароль как коньяк, чем больше звездочек, тем лучше
Наверх
IP записан
 
mvgfirst
Full Member
***
Отсутствует


В борьбе бобра с ослом
всегда побеждает бобро!

Сообщений: 152
Местоположение: Украина г. Кривой Рог
Зарегистрирован: 17. Августа 2007
Пол: Мужской
Re: Библиотека классов 1С++ для создания сводных таблиц v2.00
Ответ #86 - 18. Августа 2010 :: 06:40
Печать  
berezdetsky писал(а) 17. Августа 2010 :: 20:23:
mvgfirst писал(а) 17. Августа 2010 :: 20:09:
Например, если у меня есть справочник складов и я по ним получаю остаток, и наложил фильтр только на "Главный склад" то разумно бы получить в отчете ониформацию и об остатке по складу "Главный склад" в соответствующей колонке и по всем складам в колонке "Все". Если же делать это в запросе как сейчас то сумма в колонке "Все" будет равняться  колонке "Главный склад".

Ненене. Это by design. Перенос фильтрации из базового запроса в PivotQuery лишь избавит от необходимости каждый раз перестраивать куб. Результат не изменится.

- Ваша фамилия?
- Итого..  Смех

Не совсем понимаю что имеется ввиду. Я вот только что взял запрос. Загрузил его в консоли Сводную таблицу, наложил фильтр по  [СБЕ] и увидел что у меня колонок в сводной таблице осталось две: СБЕ УК и GrandTotal, причем GrandTotal показывает сумму по всем СБЕ а колонка СБЕ УК вообще содержит нули (ну нет по этому значению у меня итогов) Подмигивание

Т.е. сводная таблица дает правильную функциональность, а через классы PivotQuery я это получить не смогу? Я думаю что если в построителе кроме списка "Отбор" добавить еще и список "Фильтр" куда записывать условия фильтрации - то не будет ошибки и фильтрацию получим.
Это ведь мне завтра понадобится в процессе построение запроса узнать какую долю занимает один отдел в выручке всего предприятия но и наложить фильтр по этому отделу, а т.к. я фильтрую на уровне запроса - то у меня доля отдела будет составлять 100% что исказит данные...
berezdetsky писал(а) 17. Августа 2010 :: 20:23:
mvgfirst писал(а) 17. Августа 2010 :: 20:09:
По поводу тестовой базы, извини, но не вышлю... слишком долго вырезать из рабочей...

Но, если ты знаешь, где ошибка, ты легко воспроизведёшь её на демо-базе штатной ТиС..



У меня нет штатной ТиС  Ужас Смущённый Нерешительный
  
Наверх
ICQ  
IP записан
 
berezdetsky
1c++ power user
Отсутствует


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Библиотека классов 1С++ для создания сводных таблиц v2.00
Ответ #87 - 18. Августа 2010 :: 07:35
Печать  
mvgfirst писал(а) 18. Августа 2010 :: 06:40:
Не совсем понимаю что имеется ввиду. Я вот только что взял запрос. Загрузил его в консоли Сводную таблицу, наложил фильтр по  [СБЕ] и увидел что у меня колонок в сводной таблице осталось две: СБЕ УК и GrandTotal, причем GrandTotal показывает сумму по всем СБЕ а колонка СБЕ УК вообще содержит нули (ну нет по этому значению у меня итогов) Подмигивание

Не верю.
  

пароль как коньяк, чем больше звездочек, тем лучше
Наверх
IP записан
 
mvgfirst
Full Member
***
Отсутствует


В борьбе бобра с ослом
всегда побеждает бобро!

Сообщений: 152
Местоположение: Украина г. Кривой Рог
Зарегистрирован: 17. Августа 2007
Пол: Мужской
Re: Библиотека классов 1С++ для создания сводных таблиц v2.00
Ответ #88 - 18. Августа 2010 :: 09:22
Печать  
berezdetsky писал(а) 18. Августа 2010 :: 07:35:
Не верю.

Вот пажалуйста доказательство:
  

GrandTotals.jpg ( 56 KB | Загрузки )
GrandTotals.jpg
Наверх
ICQ  
IP записан
 
berezdetsky
1c++ power user
Отсутствует


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Библиотека классов 1С++ для создания сводных таблиц v2.00
Ответ #89 - 18. Августа 2010 :: 09:43
Печать  
Фотошоп.  Улыбка

Тестовую базу давай.
  

пароль как коньяк, чем больше звездочек, тем лучше
Наверх
IP записан
 
Переключение на Главную Страницу Страницы: 1 ... 4 5 [6] 7 8 ... 10
ОтправитьПечать