Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Сводная таблица - фильтрация по списку. - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Сводная таблица - фильтрация по списку. (Сводные таблицы/Pivot Table)
Сводная таблица - фильтрация по списку.
Rioran Дата: Среда, 13.05.2015, 18:15 | Сообщение № 1
Группа: Авторы
Ранг: Ветеран
Сообщений: 903
Репутация: 290 ±
Замечаний: 0% ±

Excel 2013
Всем привет и хорошего настроения!

Помогите, пожалуйста, (из кубов OLAP, но не принципиально наверно) с помощью сводной таблицы выгрузить несколько (а на деле 100-200) заранее известных позиций с показателем по ним.

Во вложении тестовые данные и список для фильтрации. Сделаем вид, что данные в таблице с оригинальным именем "Data" - это внешнее подключение.
К сообщению приложен файл: Rio_Data_02.xlsb (11.3 Kb)


Роман, Москва, voronov_rv@mail.ru
Яндекс-Деньги: 41001312674279
 
Ответить
СообщениеВсем привет и хорошего настроения!

Помогите, пожалуйста, (из кубов OLAP, но не принципиально наверно) с помощью сводной таблицы выгрузить несколько (а на деле 100-200) заранее известных позиций с показателем по ним.

Во вложении тестовые данные и список для фильтрации. Сделаем вид, что данные в таблице с оригинальным именем "Data" - это внешнее подключение.

Автор - Rioran
Дата добавления - 13.05.2015 в 18:15
Rioran Дата: Среда, 13.05.2015, 18:35 | Сообщение № 2
Группа: Авторы
Ранг: Ветеран
Сообщений: 903
Репутация: 290 ±
Замечаний: 0% ±

Excel 2013
С помощью макрорекодера напал на мысль, что возможно VBA решение наподобие:

[vba]
Код
ActiveWorkbook.SlicerCaches("Некий_Срез").VisibleSlicerItemsList = Array( "Некий набор позиций через запятую" )
[/vba]
Но, пока я делаю код, хотелось бы (а вдруг?) НЕ кодовое решение.


Роман, Москва, voronov_rv@mail.ru
Яндекс-Деньги: 41001312674279
 
Ответить
СообщениеС помощью макрорекодера напал на мысль, что возможно VBA решение наподобие:

[vba]
Код
ActiveWorkbook.SlicerCaches("Некий_Срез").VisibleSlicerItemsList = Array( "Некий набор позиций через запятую" )
[/vba]
Но, пока я делаю код, хотелось бы (а вдруг?) НЕ кодовое решение.

Автор - Rioran
Дата добавления - 13.05.2015 в 18:35
Serge_007 Дата: Среда, 13.05.2015, 18:53 | Сообщение № 3
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
хотелось бы (а вдруг?) НЕ кодовое решение
Роман, а как ты себе представляешь решение не на VBA? Как ты думаешь, как должен список попасть в фильтр, кроме как руками его вбить? Конечно, если в списке есть какая-то закономерность, то можно применить фильтр (в версиях от 2007 и выше), но думаю что в твоем примере имена подразумеваются случайные...


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
хотелось бы (а вдруг?) НЕ кодовое решение
Роман, а как ты себе представляешь решение не на VBA? Как ты думаешь, как должен список попасть в фильтр, кроме как руками его вбить? Конечно, если в списке есть какая-то закономерность, то можно применить фильтр (в версиях от 2007 и выше), но думаю что в твоем примере имена подразумеваются случайные...

Автор - Serge_007
Дата добавления - 13.05.2015 в 18:53
Rioran Дата: Среда, 13.05.2015, 19:03 | Сообщение № 4
Группа: Авторы
Ранг: Ветеран
Сообщений: 903
Репутация: 290 ±
Замечаний: 0% ±

Excel 2013
Роман, а как ты себе представляешь решение не на VBA?

В моих мечтах я вижу, что можно сделать на уровне сводной таблицы расчётное поле, которое даёт "1" если данное значение находится поискпозом в списке и "0" - если нет. Пока что споткнулся об многомерное выражение в этом направлении и далее не двигался.

имена подразумеваются случайные

Да, так и есть.


Роман, Москва, voronov_rv@mail.ru
Яндекс-Деньги: 41001312674279


Сообщение отредактировал Rioran - Среда, 13.05.2015, 19:08
 
Ответить
Сообщение
Роман, а как ты себе представляешь решение не на VBA?

В моих мечтах я вижу, что можно сделать на уровне сводной таблицы расчётное поле, которое даёт "1" если данное значение находится поискпозом в списке и "0" - если нет. Пока что споткнулся об многомерное выражение в этом направлении и далее не двигался.

имена подразумеваются случайные

Да, так и есть.

Автор - Rioran
Дата добавления - 13.05.2015 в 19:03
Serge_007 Дата: Среда, 13.05.2015, 19:59 | Сообщение № 5
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
В моих мечтах я вижу, что можно сделать на уровне сводной таблицы расчётное поле, которое даёт "1" если данное значение находится поискпозом в списке и "0" - если нет
Да, но как это сделать? Ведь в вычисляемых полях запрещены
Цитата
...ссылки на диапазоны, массивы...
...


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
В моих мечтах я вижу, что можно сделать на уровне сводной таблицы расчётное поле, которое даёт "1" если данное значение находится поискпозом в списке и "0" - если нет
Да, но как это сделать? Ведь в вычисляемых полях запрещены
Цитата
...ссылки на диапазоны, массивы...
...

Автор - Serge_007
Дата добавления - 13.05.2015 в 19:59
SLAVICK Дата: Среда, 13.05.2015, 20:59 | Сообщение № 6
Группа: Модераторы
Ранг: Старожил
Сообщений: 2290
Репутация: 766 ±
Замечаний: 0% ±

2019
На сколько я понял нужно так?
См. модель - добавил две таблицы в модель и связал их, далее добавил поле-проверку. <_<
К сообщению приложен файл: Rio_Data_02.rar (58.3 Kb)


Иногда все проще чем кажется с первого взгляда.
 
Ответить
СообщениеНа сколько я понял нужно так?
См. модель - добавил две таблицы в модель и связал их, далее добавил поле-проверку. <_<

Автор - SLAVICK
Дата добавления - 13.05.2015 в 20:59
Rioran Дата: Среда, 13.05.2015, 21:26 | Сообщение № 7
Группа: Авторы
Ранг: Ветеран
Сообщений: 903
Репутация: 290 ±
Замечаний: 0% ±

Excel 2013
SLAVICK, выглядит круто. А если сработает с кубами ОЛАП - будет вдвойне круто. Распиши, пожалуйста, подробнее - как это сделать по шагам?


Роман, Москва, voronov_rv@mail.ru
Яндекс-Деньги: 41001312674279
 
Ответить
СообщениеSLAVICK, выглядит круто. А если сработает с кубами ОЛАП - будет вдвойне круто. Распиши, пожалуйста, подробнее - как это сделать по шагам?

Автор - Rioran
Дата добавления - 13.05.2015 в 21:26
SLAVICK Дата: Среда, 13.05.2015, 22:24 | Сообщение № 8
Группа: Модераторы
Ранг: Старожил
Сообщений: 2290
Репутация: 766 ±
Замечаний: 0% ±

2019
1. Включить надстройку powerPivot в 2013 офисе она идёт в комплекте.
2. Добавить нужные таблицы в модель и открыть окно powerPivot
3. Связать таблицы по нужному столбцу
4. Добавить вычисляемое поле к таблице по которому потом будем фильтровать
5.вставить на лист сводную таблицу и поставить нужный фильтр.
Все :D
С подключением тоже будет работать. Но обязательно нужно включить надстройку.


Иногда все проще чем кажется с первого взгляда.
 
Ответить
Сообщение1. Включить надстройку powerPivot в 2013 офисе она идёт в комплекте.
2. Добавить нужные таблицы в модель и открыть окно powerPivot
3. Связать таблицы по нужному столбцу
4. Добавить вычисляемое поле к таблице по которому потом будем фильтровать
5.вставить на лист сводную таблицу и поставить нужный фильтр.
Все :D
С подключением тоже будет работать. Но обязательно нужно включить надстройку.

Автор - SLAVICK
Дата добавления - 13.05.2015 в 22:24
Rioran Дата: Среда, 13.05.2015, 22:50 | Сообщение № 9
Группа: Авторы
Ранг: Ветеран
Сообщений: 903
Репутация: 290 ±
Замечаний: 0% ±

Excel 2013
SLAVICK, спасибо, завтра на работе опробирую и отпишусь!


Роман, Москва, voronov_rv@mail.ru
Яндекс-Деньги: 41001312674279
 
Ответить
СообщениеSLAVICK, спасибо, завтра на работе опробирую и отпишусь!

Автор - Rioran
Дата добавления - 13.05.2015 в 22:50
SLAVICK Дата: Среда, 13.05.2015, 23:11 | Сообщение № 10
Группа: Модераторы
Ранг: Старожил
Сообщений: 2290
Репутация: 766 ±
Замечаний: 0% ±

2019
Пожалуйста. :D

Еще добавил простенький макрос для фильтра сводной. :)
[vba]
Код
Sub filtr()
Dim m()
Dim mA() As String
m = Sheets(2).[e2:e6].Value
ReDim mA(1 To UBound(m))

For i = 1 To UBound(m)
        mA(i) = "[Data].[Поле].&[" & m(i, 1) & "]"
Next
Sheets(2).PivotTables("СводнаяТаблица1").PivotFields("[Data].[Поле].[Поле]").VisibleItemsList = mA
End Sub
[/vba]
Обратите внимание - макрос для сводных 15.(т.е. 2013-го офиса с участием модели данных) для 14х сводных работать не будет - там через .PivotItems нужно перебирать <_<
И еще все элементы фильтра должны иметься в базе, если какого-то не будет - выдаст ошибку. :o
К сообщению приложен файл: 7706003.rar (73.0 Kb)


Иногда все проще чем кажется с первого взгляда.

Сообщение отредактировал SLAVICK - Среда, 13.05.2015, 23:17
 
Ответить
СообщениеПожалуйста. :D

Еще добавил простенький макрос для фильтра сводной. :)
[vba]
Код
Sub filtr()
Dim m()
Dim mA() As String
m = Sheets(2).[e2:e6].Value
ReDim mA(1 To UBound(m))

For i = 1 To UBound(m)
        mA(i) = "[Data].[Поле].&[" & m(i, 1) & "]"
Next
Sheets(2).PivotTables("СводнаяТаблица1").PivotFields("[Data].[Поле].[Поле]").VisibleItemsList = mA
End Sub
[/vba]
Обратите внимание - макрос для сводных 15.(т.е. 2013-го офиса с участием модели данных) для 14х сводных работать не будет - там через .PivotItems нужно перебирать <_<
И еще все элементы фильтра должны иметься в базе, если какого-то не будет - выдаст ошибку. :o

Автор - SLAVICK
Дата добавления - 13.05.2015 в 23:11
Rioran Дата: Четверг, 14.05.2015, 14:29 | Сообщение № 11
Группа: Авторы
Ранг: Ветеран
Сообщений: 903
Репутация: 290 ±
Замечаний: 0% ±

Excel 2013
SLAVICK, если верить зарубежным статьям - SlicerCashes для кубов работает быстрее. Именно через них я и решил в итоге свой вопрос, но для общего образования крайне хотел бы уточнить другие детали.

Попробовал решение через связку таблиц. Столкнулся с некоторыми особенностями 2013-го офиса. PowerPivot и PowerView в 13-м офисе соединены воедино. Поэтому начать работу пришлось с "Вставка - Отчёты - PowerView". На открывшемся листе появляется закладка "Power View", в которой можно выбрать "Данные - Связи". Но в связях этих нет возможности выбрать сводную таблицу, подключенную к кубам ОЛАП. Я вижу только список проверяемых позиций.


Роман, Москва, voronov_rv@mail.ru
Яндекс-Деньги: 41001312674279
 
Ответить
СообщениеSLAVICK, если верить зарубежным статьям - SlicerCashes для кубов работает быстрее. Именно через них я и решил в итоге свой вопрос, но для общего образования крайне хотел бы уточнить другие детали.

Попробовал решение через связку таблиц. Столкнулся с некоторыми особенностями 2013-го офиса. PowerPivot и PowerView в 13-м офисе соединены воедино. Поэтому начать работу пришлось с "Вставка - Отчёты - PowerView". На открывшемся листе появляется закладка "Power View", в которой можно выбрать "Данные - Связи". Но в связях этих нет возможности выбрать сводную таблицу, подключенную к кубам ОЛАП. Я вижу только список проверяемых позиций.

Автор - Rioran
Дата добавления - 14.05.2015 в 14:29
SLAVICK Дата: Четверг, 14.05.2015, 14:54 | Сообщение № 12
Группа: Модераторы
Ранг: Старожил
Сообщений: 2290
Репутация: 766 ±
Замечаний: 0% ±

2019
Поэтому начать работу пришлось с "Вставка - Отчёты - PowerView".

А зачем включать PowerView до того как добавлены данные в модель?
Зачем вообще включать PowerView до того как будет готова сводная? я всегда включаю его после...
У powerpivot же есть возможность добавлять данные...
Скиньте пример с подключением - посмотрю. Может я чего-то не понимаю :o

Здесь видео как подключать куб к powerpivot


Иногда все проще чем кажется с первого взгляда.

Сообщение отредактировал SLAVICK - Четверг, 14.05.2015, 15:04
 
Ответить
Сообщение
Поэтому начать работу пришлось с "Вставка - Отчёты - PowerView".

А зачем включать PowerView до того как добавлены данные в модель?
Зачем вообще включать PowerView до того как будет готова сводная? я всегда включаю его после...
У powerpivot же есть возможность добавлять данные...
Скиньте пример с подключением - посмотрю. Может я чего-то не понимаю :o

Здесь видео как подключать куб к powerpivot

Автор - SLAVICK
Дата добавления - 14.05.2015 в 14:54
Rioran Дата: Четверг, 14.05.2015, 15:45 | Сообщение № 13
Группа: Авторы
Ранг: Ветеран
Сообщений: 903
Репутация: 290 ±
Замечаний: 0% ±

Excel 2013
зачем включать PowerView

Погуглил. PP & PV совместимы далеко не со всеми версиями Excel 2013. Попробую с домашнего ПК провернуть ту же операцию с простыми таблицами.


Роман, Москва, voronov_rv@mail.ru
Яндекс-Деньги: 41001312674279
 
Ответить
Сообщение
зачем включать PowerView

Погуглил. PP & PV совместимы далеко не со всеми версиями Excel 2013. Попробую с домашнего ПК провернуть ту же операцию с простыми таблицами.

Автор - Rioran
Дата добавления - 14.05.2015 в 15:45
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Сводная таблица - фильтрация по списку. (Сводные таблицы/Pivot Table)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!