Excel 365 - динамически изменяемый путь для «Master File» - Power Query - PullRequest
0 голосов
/ 07 апреля 2020

У меня на рабочем столе 2 файла, давайте назовем их:

  • Основной файл;
  • Ведомый файл x *;

x - Я хочу иметь возможность создавать x копий этого файла.

А пока, используя формулу Index, Match, я извлекаю данные из таблиц в подчиненном файле, которые связаны с главным файлом с помощью Power Query.

Главный файл получил данные -> Slave File (Power Query) переносит их в таблицы -> извлекает содержимое с помощью Index, Match.

Проблема:

Я хочу поделиться этим файлом с моей командой, но когда я копирую папку, содержащую оба файла, на общий диск он говорит, что ищет мой мастер-файл, сохраненный на моем рабочем столе. В идеальном мире я хочу, чтобы все мои товарищи по команде получили оба файла (или x копии Slave File), где бы они их не хотели.

Пример:

  • Товарищ по команде 1:

Сохраненный мастер-файл в папке A;

Сохраненный 10 копий подчиненного файла в папке A;

  • Товарищ по команде 2:

Сохраненный главный файл в папке B;

Сохраненные 5 копий подчиненного файла в папке B.

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

Решение:

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

Что я пробовал:

Я гуглил, что могу изменить параметры в Power Query, но я определенно сделал это неправильно, так как ничего не изменилось. Я также нашел формулу INDIRECT, но после 34 попыток реализовать ее в своей формуле я сдался.

= (INDEX (Tab_Name1 [[Table1]: [Table1]], MATCH (1, ($ B $ 2 =) Tab_Name1 [[Table2]: [Table2]]) * тысяча пятьдесят-три * (С $ 4 = Tab_Name1 [[Таблица3]: [Таблица3]]) ($ А5 = Tab_Name1 [[Таблица 4]: [Таблица 4]]), 0) )

Дополнительное примечание:

Я стараюсь по возможности избегать использования решений VBA.

1 Ответ

0 голосов
/ 08 апреля 2020

Пока что я нашел два решения, как преодолеть мою проблему, может быть, кто-то найдет ее полезной.

Решение 1:

Просто как ад. После перемещения обоих файлов откройте Slave File, откройте Power Query Editor и в редакторе Source Type нажмите edit - там вы можете выбрать новый путь к Master File и альту.

Это работает хорошо, но это все еще ручной труд, и это всего лишь 50% того, чего я хотел достичь.

Решение 2:

Использовать НЕПОСРЕДСТВЕННОЕ Функция хорошая идея, но немного сложнее. В редакторе Power Query вы можете редактировать формулы, которые связывают один файл с другим, но добавляя INDIRECT к формуле пути локализации. К сожалению, вы должны делать это столько раз, сколько у вас подключений (в моем случае это было 6).

Резюме:

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

...