Вопрос из плоскости ролей доступа к информации в Power BI / Power query.
Подскажите, для моих целей идеально было бы использовать 1 файл Power BI как базу, в которой считается максимальное количество всего, и компонует данные по таблицам для обычных пользователей. Далее другой файл Power BI подключается к базовому, берет одну или несколько таблиц и работает с ними.
На примере это будет как-то так. 1) В основном файле Power BI собираем и считаем Продажи по ВСЕЙ компании 2) В основном файле Power BI, разбиваем продажи по регионам на отдельные таблицы. 3) Вспомогательные файлы Power BI, каждый из которых доступен только в своем регионе, обращаются к основному файлу Power BI и берут свою отдельную таблицу. Так вот... с п.3 не могу подключиться и забрать только 1 таблицу...
Возможно, я изобретаю велосипед и иду не по тому пути…
Что пробовал: - Подключиться как к Наборам данных Power BI- не подходит, т.к. видно все таблицы. - Подключиться к екселю и из Power query забрать только одну таблицу, забирает сразу все таблицы... не подходит тоже... - Ну и не удалось подключиться к Power BI файлу напрямую…
PooHkrd написал: А в чем криворукость если не секрет?
Нужно иметь сущность предварительного заказа, в которой будут 2 роли для звонящих - инициатор продажи и консультант и будет зафиксирован факт интереса клиента. И на основе этих ролей распределять продажи и плюшки за помощь. А сейчас по сути в системе нет ничего про связки продаж и живет правило что каждый продажник волк и все продажи его.
Дмитрий(The_Prist) Щербаков написал: Так вот представим: был звонок 1-го, продаж не было. был звонок 2-го и одна продажа 2-го. 3-го было звонок и две продажи. как распределить, если в реальности продажа от 2-го была результатом звонка 2-го, а 3-го - от 1-го и 3-го?
Цитата
Андрей VG написал: Раньше это называлось подтасовать Цитата
В этом примере да, про подтасовать согласен. Но в жизни логика "кто последний тот и папа продал" работает в 99% случаев.
А вообще вопрос из-за криворукости разработчиков системы... Приходится выкручиваться.
Продолжаю изучать PQ и в очередной раз напоролся на тупик.
Есть задача, которая во вложении. Суть: имеем 2 таблицы – 1-звонки менеджеров по клиентам и 2- продажи товара по клиентам. И между ними нет прямой связи. Нужно определить, после звонка какого сотрудника была продажа и присвоить ее этому звонку.
Проблема заключается в том что я не могу найти способ как в процесс объединить запрос (слияние) в Table.NestedJoin добавить сопоставление не только по 100% совпадению колонок, а и по фильтру > , <, =…
Я нашел костыльный вариант как обойти это через буферную таблицу с кучей расчетов (пример во вложении) … Но когда положил это на реальную базу, скрестить 2 таблицы за год где в каждой в месяц по 1+млн строк не получается…
Помогите советом, наверное, можно объединить эти таблицы более простым и менее ресурсоемким способом. Я уже приуныл ковырять интернет и скудный мануал от майкрософта….
Форум читал… вопрос для знающих, наверное, легкий и чтобы не плодить новые темы добавлю его сюда…
Продолжаю изучать PQ и в очередной раз напоролся на тупик.
Есть задача, которая во вложении. Суть: имеем 2 таблицы – 1-звонки менеджеров по клиентам и 2- продажи товара по клиентам. И между ними нет прямой связи. Нужно определить, после звонка какого сотрудника была продажа и присвоить ее этому звонку.
Проблема заключается в том что я не могу найти способ как в процесс объединить запрос (слияние) в Table.NestedJoin добавить сопоставление не только по 100% совпадению колонок, а и по фильтру > , <, =…
Я нашел костыльный вариант как обойти это через буферную таблицу с кучей расчетов (пример во вложении) … Но когда положил это на реальную базу, скрестить 2 таблицы за год где в каждой в месяц по 1+млн строк не получается…
Помогите советом, наверное, можно объединить эти таблицы более простым и менее ресурсоемким способом. Я уже приуныл ковырять интернет и скудный мануал от майкрософта….
Меня спасло перегнать из двоичной книги в формат CSV - да стало в 2 раза больше занимать места, НО! - открывает и закачивает в модель за десятки секунд! Спасибо! Мысль с разбиением файла на несколько логических частей - тоже хороший инструмент, если автоматически их обрабатываешь.
PooHkrd, buchlotnik, подскажите, В ближайшее время буду пытаться подключить SQL базу к Power qwery, а там есть таблицы избыточно большие для моих целей. Для правильного отбора нужно использовать другую логику построения запроса- править сам запрос не в Power qwery, а в екселе - в свойствах подключения? Больше вариантов нет (во вложении)?
Понимаю, вопрос чайника, но все же ломаю голову вторые сутки... Решил пойти в ногу с прогрессом и возложить некоторые функции по подготовке данных на Power Qwery но зашел в примитивный тупик... Прошу помочь!!!
Имеем: ексель книга, в которой находятся структурированные данные, размер книги 300+ мб и 1+млн строк на 100+ колонок. Задача: загрузить данную книгу в стартовом запросе "Источник" в Power Qwery для дальнейшей работы в нем. Проблема: -Если загружать базу, предварительно открыв книгу и делая на основе таблицы внутри самой базы - тогда это мероприятие занимает больше часа... -Если пытаться загрузить книгу, не открывая ее, ждал 3+ часа и результата не дождался...
Решение: Применять фильтр в запросе к данной книге, что бы оптимизировать передаваемый массив данных. Для 90% обращений к данной книге, можно применить фильтр по дате и отобрать 10-20% от всех строк в таблице. Установка фильтра после шага с источником, логично не приносит оптимизации в загрузке данных...
Тут как в притче- принести мешок сахара чтобы положить в чай всего 1-2 ложечки.
Прошу помочь подправить запрос, что бы в момент запроса отбиралось только те строки в колонке Дата из примера, где значение "28.02.2017"
Код
let
Источник = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content]
тут отбор по "Дата"="29.02.2017"
in
Источник
Поиск использовал... Умные статьи читал... Не помогло...
ПС- Или тут как не делай запрос, а подключения к файлу в 1+ час не избежать?
Зависание обновления екрана при перелистывании макросами чз форму, Возникла проблема с задачей- Сделать через форму перелистывание листов книги, где нажимая кнопку на форме скрываются все листы и выбирается 1 нужный
Зависание обновления екрана при перелистывании макросами чз форму, Возникла проблема с задачей- Сделать через форму перелистывание листов книги, где нажимая кнопку на форме скрываются все листы и выбирается 1 нужный
Зависание обновления екрана при перелистывании макросами чз форму, Возникла проблема с задачей- Сделать через форму перелистывание листов книги, где нажимая кнопку на форме скрываются все листы и выбирается 1 нужный
Зависание обновления екрана при перелистывании макросами чз форму, Возникла проблема с задачей- Сделать через форму перелистывание листов книги, где нажимая кнопку на форме скрываются все листы и выбирается 1 нужный
Зависание обновления екрана при перелистывании макросами чз форму, Возникла проблема с задачей- Сделать через форму перелистывание листов книги, где нажимая кнопку на форме скрываются все листы и выбирается 1 нужный
Сейчас делаю юзер френдли отчет в екселе. Есть такая задача- Сделать через форму перелистывание листов книги, где нажимая кнопку на форме скрываются все листы и выбирается 1 нужный.
Был найден и адаптирован примитивный макрос, но он работает не совсем корректно... Возникла проблема, если перелистывать листы чз форму по такому коду:
Код
Sub V1()
Application.ScreenUpdating = False
With Worksheets("1")
.Visible = True
.Activate
.Select
End With
Range("a1").Select
Dim i
For i = 1 To Sheets.Count
If Sheets(i).Name <> "1" Then Sheets(i).Visible = xlSheetVeryHidden
Next i
Application.ScreenUpdating = True
With Worksheets("1")
.Visible = True
.Activate
.Select
End With
То в какой-то момент перестает работать команда "ScreenUpdating = True" и экран зависает, не давая скроллить, выделять или закрывать файл. Помогает только обновить зависание вручную, выбрав команду "Выделить все листы". В течении недели помогало добавление в код макроса в конце дублирующее выделение нужного листа, но потом опять началось зависание.
Код
With Worksheets("1")
.Visible = True
.Activate
.Select
Прошу, помогите... Я уже месяц гуглю и пытаюсь переписать сие чудо... В макросах новичок.
Работаю в холдинге, которая имеет бизнес и в Украине и в России, Депозитные договора финансовых компаний холдинга, по регламенту, не берут в расчет день выдачи и день возврата обязательств. Кредитные договора финансовых компаний холдинга, по регламенту, берут в расчет день выдачи и не берут в расчет день возврата обязательств.
По этому и акцентировал внимание на данном вопросе. с ув.
только посмотрите под свои условия, там +/- 1 день будет гулять. 1й день считаем за день? а последний? посчитайте на пальцах и добавьте +1 или -1 в формулу.
Спасибо, но такой вариант не подходит... В отчетах бывает до 100 разных показателей, при чем логикой потребителя в отчет заложено разные фильтры на эти условия. Например: Доход по направлению развития "Салют". Это означает что в подразделении нужно вывести в поле "Доход по Салюту" часть данных из колонки "Доход" по нескольким видам условий и за определенное время. Но пользователь хочет видеть все это 1 строчкой в группе по Подразделениям.
Возможно вы меня не так поняли. В итоге мне нужно получить сводную в виде, указанном на листе Свод в диапазоне А22:G39.
Возможно используя вычисляемое поле или в VBA (к сожалению я только начал работать с макросами) дописать условие для работы именно этого одного поля ан не для всей сводной.
Вот из макроса добавления поля, но как дописать условие отбора, я не знаю. ActiveSheet.PivotTables("СводнаяТаблица2").AddDataField ActiveSheet.PivotTables _ ("СводнаяТаблица2").PivotFields("В валюте"), "Сумма по полю В валюте (каким-то чудом поставить только услуга 1)", xlSum
Хочу получить, например - Значение "Сумма по полу В валюте только по условию 1 и по подразделению 1". Общий фильтр сводной таблицы не подходит, т.к. сводная таблица должна содержать информацию по всем условиям и всем подразделениям.
Цитата
Зачем Вы показали таблицы "правильно/неправильно"
В 99% случаях первый совет - вынеси в отдельную колонку...
Ломаю голову не одну неделю над таким вопросом: Существует БД на екселе, откуда тянутся данные во много отчетов. Т.к. отчеты используют +/- те же показатели но разные фильтры, приходится выкручиваться с компоновкой данных в БД. Очень нужен совет, как задать Значению Сводной таблицы условие? Из всего что я смог придумать, это извращаться и для каждого такого случая давать отдельный столбец. Но масштабы раздутия штучными показателями БД (600тыс строк , 200 показателей содержащие 15 срезов) являются критичными.
Компоновка данных и сводных таблиц на основе их прилагаю. Описание листов: 1) Свод БДправильно - идеальная сводная на основе правильной БД. Желтым выделил то, где не хватает условия по полю Значения. 2) БДКак правильно - самая компактная компоновка БД, считается на теперешний момент идеальной. 3) БДкак не правильно - Раздутая БД, под создания отчета. 4) Свод БДне правильно - сводная таблица удовлетворяющая запрос на отчет.
Устроит любой вариант работы с наложением условия на отдельные Значения сводной таблицы - вычисляемое поле, группировки, макросы. Моя чуйка говорит что есть примитивный вариант решения моего вопроса, и что я изобретаю велосипед как обычный новичок...
Заранее спасибо за помощь! Поиском ходил, или тема уникальна или у меня руки...
Я давно являюсь пассивным читателем вашего сайта! Спасибо вам, реально помогли во многих вопросах!