Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
С помощью чего лучше создавать вычисляемые столбцы - Power Query или Power Pivot?
 
Vladimir Chebykin, спасибо большое за информацию!

У меня порядка 30 источников данных, в которых присутствуют от 1 до 10 вычисляемых столбцов, чтобы все эти данные между собой пожинить и сделать сложные вычислительные меры.
Общее количество строк всех источников - 5 млн
Оперативка 16 гб :)
С помощью чего лучше создавать вычисляемые столбцы - Power Query или Power Pivot?
 
Добрый день, уважаемые эксперты!

У меня есть набор данных (более 20 независимых источников), которые я загружаю в Excel с помощью Power Query.
После к этим данным добавляется порядка 200 столбцов с дополнительными вычислениями через Power Pivot.

Думаю, ускорить работу файла, так как некоторые операции занимают более 3-х секунд.

Как Вы думаете, ускорится ли скорость вычислений в файле, если все вычисляемые столбцы я реализую через Power Query?
Power Pivot/Query - объединение 2-х таблиц, Объединение 2-х взаимодополняемых таблиц в 1
 
Добрый день, дорогие эксперты!

Данно:
У меня есть 2 взаимодополняемые таблицы:
1) Продажи по магазинам в разрезе:
- Штрихкод
- Магазин
- Месяц
- Шт
2) Продажи по дням в разрезе:
- Штрихкод
- День
- Шт


Задача:
Данные таблицы мне необходимо объединить в одну, чтобы получился следующий набор данных:
- Штрихкод
- Магазин
- День
- Шт

Очень желательно, чтобы Вы помогли реализовать данную задачу через:
1. Power Pivot/ Power Query, интегрированные в Excel
2. На крайний случай - макрос

Упрощенный пример файл в приложении. После того, как поможете решить задачу, мне нужно будет масштабировать способ на 2 000 000+ строк (данные за 3 года). При этом, данные будут постоянно пополняться.


Сроки:
Как можно раньше:) Задача вроде для экспертов должна быть простой


Оплата:
500 - реализация
500 - короткий созвон в Teams/Skype/Hangouts с обсуждением решения
Изменено: a.ibragimov.f - 20.12.2020 13:43:21
VBA макрос - Проставить "1" во все закрашенные ячейки на выбранном листе книги, Нужна помощь в написании кода для файла
 
vikttur, большое спасибо за проделанную работу! Реализация отлчичная, работает быстро!
VBA макрос - Проставить "1" во все закрашенные ячейки на выбранном листе книги, Нужна помощь в написании кода для файла
 
Добрый день, уважаемые эксперты!

Нужна помощь эксперта в макросах. К сожалению, сам допирать до рабочего кода буду долго, поэтому прошу о помощи Вас.
Готов заплатить за рабочую реализацию 1000р. (Перевод с карты на карту)

Данно:
-Хитровыдуманная система, из которой можно выкачать файл Excel с закрашенными ячейками.
-Файл, где необходимо производить анализ по тому, какие ячейки закрашены.

Задача:
1) Сделать ячейку, в которой можно будет выбрать одно из названий присутствующих в книге листов. Важно: листы будут постоянно пополняться. Соответсвенно, список листов должен уметь расширяться
2) На главной вкладке ("Home"), при выборе нужного листа в пункте выше, в типовой таблице указать "1" в ячейках, которые закрашенны на выбранном листе.

Важно:
- нужно определить переменные, чтобы оперативка не улетала, так как в оригинальной выгрузке из системы выходит таблица 100 строк и 400 столбцов
- код полностью на английском (можно писать русские слова английскими буквами, naprimer vot tak)

Сроки:
Как можно раньше (желательно вчера)
Изменено: a.ibragimov.f - 25.09.2020 20:28:24
Как подсчитать количество уникальных значение с определенного диапазона
 
Можно реализовать вот так
Длинные числа преобразуются в 4,62001Е+17. Как сохранить в числовом формате?
 
Вот так?
Сумма значений ячеек при их объединении
 
Можно. Отправте файл пример
Power Query - счёт уникальных строк, Power Query - счёт уникальных строк, удовлетворяющих запросу пользователя
 
Дорогие форумчане:
PooHkrd, AlexMakarov, Михаил Л
Большое спасибо что отозвались и помогли решить мой вопрос.

В итоге я использовал решение AlexMakarov:
1) С помощью PowerQuery я преобразовал данные из разных источников в одну таблицу (не в сводную, а в обычную)

2) С помощью PowerPivot я добавил дополнительные меры по формуле

мера 1:=DISTINCTCOUNT(Table1[Сеть магазинов])

3) также с помощью PowerPivot создал окончательную сводную таблицу

Еще раз спасибо за Вашу поддержку, желаю хорошего дня!
Изменено: a.ibragimov.f - 06.05.2020 19:04:02
Power Query - счёт уникальных строк, Power Query - счёт уникальных строк, удовлетворяющих запросу пользователя
 
Цитата
PooHkrd написал:
А чем вариант от  Михаил Л  не устроил? Он как раз показал как это сделать
К сожалению, у меня не получилось интегрировать данную формулу в примере. Подскажите пожалуйста, можете ли Вы добавить ее в файл-пример?
Буду очень признателен, если у Вас получится!
Power Query - счёт уникальных строк, Power Query - счёт уникальных строк, удовлетворяющих запросу пользователя
 
Цитата
Михаил Л написал:
Код ? 1= Table.Group(Source, {"Филиал"}, {{"Кол-во уникальных сетей", each Table.RowCount(Table.Distinct(_)), type number}})
Михаил, к сожалению мне не подашел данный код, так как мне как раз таки необходимо, что Power Query считал Кол-во уникальных сетей. На сколько я понял, данной переменной не должно быть в формуле. Подскажите пожалуйста, как необходимо исправить формулу?

Цитата
AlexMakarov написал:
Вот. Таблицу загнал в модель данных PowerPivot и там создал простейшую меру.

Прикрепленные файлы
Копия Пример.xlsb-1.xlsb  (110.41 КБ)
Большое спасибо, AlexMakarov! Отличная реализация в PowerPivot

Подскажите пожалуйста, Вы случайно не знаете, как реализовать то же самое в Power Query?
Power Query - счёт уникальных строк, Power Query - счёт уникальных строк, удовлетворяющих запросу пользователя
 
Добрый день, уважаемые форумчане!

Мой вопрос связан со сводной таблицей, построенной на основе PowerQuery:
Подскажите пожалуйста, какую формулу можно использовать, чтобы посчитать количество уникальных строк (например, со значениями магазинов), согласно сделанного запроса.

Для меня важно сделать это именно формулой, так как такого рода значений будет много (количество уникальных товаров в сети и т.п.)

Простой пример моего вопроса в приложении
Макрос фильтрация в сводке по условиям из списка
 
Взялся за задачу/

Для фильтрации полей в сводной таблице можете воспользоваться следующим кодом:
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    Sheets("свод").PivotTables("СводнаяТаблица1").PivotFields("Город").ClearAllFilters
    Sheets("свод").PivotTables("СводнаяТаблица1").PivotFields("Город").CurrentPage = Sheets("расчет").Range("B2").Value
End Sub
По номерам складов можно сделать по аналогии самостоятельно.

Хорошего дня
Изменено: a.ibragimov.f - 27.03.2020 18:43:47
Группировка полей сводной таблицы, Создание иерархии полей сводной таблицы по свойствам полей
 
PooHkrd, Большое спасибо, что постарались мне помочь!
Группировка полей сводной таблицы, Создание иерархии полей сводной таблицы по свойствам полей
 
PooHkrd, Спасибо большое, что пытаетесь мне помочь :)

Инструкцию в первую очередь прочитал! Вариант, который Вы сейчас показали - я то же пробовал, но с ним ровно так же сложно, как иметь просто 50+ разных полей на выбор.

Я получил еще пару скринов, как в компании реализована иерархия/ категоризация /фильтрация полей свойств сводной таблицы:


 
Изменено: a.ibragimov.f - 06.11.2019 18:33:24
Группировка полей сводной таблицы, Создание иерархии полей сводной таблицы по свойствам полей
 
PooHkrd, я имел ввиду возможность вытаскивать из полей свойств сводной таблицы (PivotTable Fields) значения в поле фильтры сводной таблицы (Filters).
Фотография в приложении.

 
Изменено: a.ibragimov.f - 06.11.2019 17:54:58
Группировка полей сводной таблицы, Создание иерархии полей сводной таблицы по свойствам полей
 
Большое спасибо всем за ваш вклад в решение моего вопроса!

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

Интересно, если создавать иерархию данных на сервере можно, должен же быть аналогичный способ сделать это напрямую через Excel.
Группировка полей сводной таблицы, Создание иерархии полей сводной таблицы по свойствам полей
 
skais675, к сожалению я не смог получить доступ к данному файлу, так как:
1) Он подключается к OLAP и имеет шифрование.
2) Большое количество конфиденциальной информации.

Однако, я его растыкал и раскликал, ничего особенного не нашел :(
Группировка полей сводной таблицы, Создание иерархии полей сводной таблицы по свойствам полей
 
Добрый день, дорогие форумчане!

В своей работе делаю большое количество сводных таблиц для анализа большого массива данных данных. При этом, сводные таблицы теряют свою удобность, когда количество необходимых полей возрастает до 50+:
картинка1

((Как видите, из этой ситуации я вышел ВРЕМЕННЫМ решением - похожие поля называю одинаково, чтобы удобно было искать поля сводной таблицы по именам.))

Однако, иногда мне встречаюься файлы, где данные поля сгрупироанны в паки. Например, все значения (шт, руб без НДС, руб с НДС, наценка и т.п.) в полях сводной таблице лежат в папке "Значения", а такие категории, как "Филиал", "Регион", "Город" в папке "Компания".

Соответственно, я хочу также: Все "Branch_lvlX" (Х = 1, 2, 3) должны лежать в папке "Branches", все "Category_lvlX" (Х = 1, 2, 3) должны лежать в папке "Categories" и т.п.

То, что хочу, но не знаю как сделать, выглядит премерно так:
картинка2

Перерыл весь интернет, вся надежда на Вас :)
Периодическая ошибка при обращении к листу из VBA, исправный код работает через раз. Office 365, 2016, 2013
 
Дорогие форумчане!

Искренне хочу поблагодарить каждого участника нашей дискуссии! Благодаря коллаборации общих усилий, нам наконец-таки удалось запустить мою "программку" в Excel 2016 и 2013!

Ниже хочу выделить предложения следующих пользователей, которые в купе решили вопрос:

Юрий М вышел на Skype конференцию и совместно со мной протестировал файл на его Office 2013! Нам удалось выяснить, что даже когда Excel самостоятельно снимает защиту структуры книги, возможна ошибка, когда некоторые вкладки не видят, что защита снята.
РЕШЕНИЕ: не блокировать структуру книги, если ты работаешь со свойством скрытности вкладок через макрос.
П.С.: был решен вопрос с адаптацией к Office 2013, однако в Office 2016 продолжилась ошибка.

В Office 2016 Excel ругался, что не может присвоить свойство Hidden для 4 листов (из 60). Я их и переименовывал, и создал новые такие-же и удалил старые - все равно он ругался на именно эти 4 листа. Рабочее решение в моем случае предложил Alemox! (Nordheim был как никогда близок в своем предложении решения вопроса.)
РЕШЕНИЕ: если Excel не любит, как ты в коде обращаешься к переменной, найди другие слова.
Пример:
Не работает: (мой код)
Код
If Sheets("Info С").Range("E47") = "1" ThenSheets("1").Visible = True
Else
Sheets("1").Visible = False
End If
Не работает: (код Nordheim)
Код
With Sheets("Info С")        
If .[E47].Value = "1" Then .Visible = xlSheetVisible Else .Visible = xlSheetHidden
End With
Работает!!!: (код Alemox)
Код
With Лист1
    If Лист2.Cells(45, 5) = "1" Then
        .Visible = xlSheetVisible
    Else
        .Visible = xlSheetHidden
    End If
End With

И так, мы убрали защиту структуры книги полностью и переписали проблемные части кода на другой лад. Нажимаем на кнопку, к которой привязан большой макрос, и.. На Office 365 все ок, а Office 2013 и 2016 вылетают  :evil:  .
РЕШЕНИЕ: снести нафиг все кнопки, реализовать их через выпадающий список ячейки (On/Off) и условное форматирование.



И наконец - мой вопрос решен, за что еще раз хочу сказать большое спасибо каждому, кто принял участие в решении моего вопроса!!!

Также я сделал для себя несколько важных умозаключений:
1. Вовремя выполняй просьбы админа, иначе vikttur закроет твой вопрос и ты никогда не узнаешь своего решения  :D
2. Вместе - мы сила! Поэтому, я теперь также буду временами появляться на форуме и помогать другим с решением их вопросов.
3. Если Вам нужно разработать среднее или сложное приложение на большое количество компьютеров с разнашерстным Office - задумайтесь о создании универсального WEB приложения  :D

Еще раз ВСЕМ спасибо! Желаю безошибочного исполнения всех макросов!!
Периодическая ошибка при обращении к листу из VBA, исправный код работает через раз. Office 365, 2016, 2013
 
Дмитрий(The_Prist) Щербаков текст ошибки тот же:
Run time error '-2147417848 (80010108)':
Method 'visible' of project '_Worksheet' failed
Цитата
Имейте ввиду, если в книге для скрытия листа остается только один видимый лист, то его уже нельзя скрыть.

Знаю данную особенность, в книге всегда не затрагивается 1 лист.

Дмитрий(The_Prist) Щербаков у Вас случайно нет Office 2016 - 2013, чтобы глянуть?
Я был бы очень признателен :))
Периодическая ошибка при обращении к листу из VBA, исправный код работает через раз. Office 365, 2016, 2013
 
Спасибо, что помогаете мне разобраться с вопросом!

И так, что я успел проверить:
Это не глюк листа - я пересоздал листы заново - проблема остается
Я использовал предложения по написанию кода выше от Nordheim и Дмитрий(The_Prist) Щербаков, на моем office 365 работает все ок, на office 2016 опять через раз выдает ошибку уже на данном абзаце:
Код
With ThisWorkbook.Sheets("Зак")
        If ThisWorkbook.Sheets("Info С").[E45].Value = "1" Then .Visible = xlSheetVisible Else .Visible = xlSheetHidden
    End With
Ігор Гончаренко, согласен, что пока код работающий назвать нельзя.

Дорогие форумчане, подскажите пожалуйста, в чем может быть еще дело?
Периодическая ошибка при обращении к листу из VBA, исправный код работает через раз. Office 365, 2016, 2013
 
Код
Sub beforeprintPP()
'powerpoint sheets


If Sheets("Go!").Cells(6, 57).Value = "On" Then

If Sheets("Go!").Range("E35") = "1" Then
Sheets("II").Visible = True
Else
End If


If Sheets("Go!").Range("E36") = "1" Then
Sheets("ll").Visible = True
Else
End If

If Sheets("Go!").Cells(8, 57).Value = "On" Then
If Sheets("Go!").Range("E38") = "1" Then
Sheets("П-1").Visible = True
Else
End If
Else
End If

If Sheets("Go!").Cells(10, 57).Value = "On" Then
If Sheets("Go!").Range("E39") = "1" Then
Sheets("П-2").Visible = True
Else
End If
Else
End If

If Sheets("Go!").Range("E43") = "1" Then
Sheets("Serv").Visible = True
Else
End If

If Sheets("Go!").Range("E44") = "1" Then
Sheets("Sеrv").Visible = True
Else
End If

If Sheets("Go!").Range("E47") = "1" Then
Sheets("SL").Visible = True
Else
End If

If Sheets("Go!").Range("E48") = "1" Then
Sheets("SyL").Visible = True
Else
End If

If Sheets("Go!").Range("E56") = "1" Then
Sheets("AFH").Visible = True
Else
End If

If Sheets("Go!").Range("E57") = "1" Then
Sheets("АFH").Visible = True
Else
End If

If Sheets("Go!").Range("E60") = "1" Then
If Sheets("Info М").Range("T30") = "1" Then
Sheets("Зак М").Visible = True
Else
End If
Else
End If

If Sheets("Go!").Range("AE35") = "1" Then
Sheets("$").Visible = True
Else
End If

If Sheets("Go!").Range("AE42") = "1" Then
Sheets("TOC2").Visible = True
Else
End If



Else
End If


End Sub
Часто ошибка появляется на II (две буквы i) или ll (две буквы LL)
Периодическая ошибка при обращении к листу из VBA, исправный код работает через раз. Office 365, 2016, 2013
 
Проблема в том, что макрос абсолютно исправен. Работает без нареканий в новой office 365. Но при запуске в Office 2016 и младше, работает через раз: то не видит лист, который нужно скрыть, то все ок.
Поэтому, мне очень нужна помощь участника форума с иным Excel (не 365), чтобы он просмотрел и нашел решение.

Макрос работает в Office 365, а в Excel 2016 работает через раз: то спокойно скрывает нужную строку, то ее не может скрыть и выдает ошибку.
При этом код большой, я предполагаю, что какая-нибудь внутренняя ошибка исполнения.

Если кто-нибудь попробует открыть файл - думаю, встанет все на свои места :)

Помогите люди добрые :)
Периодическая ошибка при обращении к листу из VBA, исправный код работает через раз. Office 365, 2016, 2013
 
Я не смог подгрузить файл, так как он весит 3,4 мб. Может быть у Вас получится его глянуть? Могу дать управление в Skype или отправить файл на почту.
Может быть есть какие-нибудь идеи, с чем это может быть связано?
Периодическая ошибка при обращении к листу из VBA, исправный код работает через раз. Office 365, 2016, 2013
 
Добрый день! Буду очень рад, если поможете мне решить вопрос. День уже потерял :(

Имеется исправный код, спокойно отрабатывающийся в моем Office 365. Код большой - 1500 строк, но элементарный. Например:
Код
If Sheets("Info С").Range("E47") = "1" Then
Sheets("1").Visible = True
Else
Sheets("1").Visible = False
End If
У всех моих коллег установлены Office 2016 (редко 2013).

Когда запускаешь файл у них, сначала выдает ошибку на ровном месте: не может скрыть существующий лист или скрыть столбик диаграммы
На второе исполнение макроса - все работает. И так по кругу.

С чем это может быть связано? Как преодолеть данную проблему?
Страницы: 1
Наверх