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

1171
PeterH

Я использую запрос, как показано ниже в силовом запросе Excel 2016:

let Source = Odbc.Query("dsn=AS400", "select * from libm61.emleqpm1 where STN1 = '03' ") in Source 

Я хочу заменить '03' на ячейку формы значения AD2

Возможно ли это сделать ?

0

2 ответа на вопрос

0
Rajesh S

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

enter image description here

Теперь преобразуйте этот диапазон в таблицу и назначьте правильное имя, например, ParaTAB или ParameterTAB, тогда ваша команда должна быть такой,

let Source = Odbc.Query("dsn=AS400", "select * from libm61.emleqpm1 where STN1 = ParaTAB[Value] ") in Source 

Здесь Power Query выберет третье значение или третью строку, которая является ADM, поскольку она отсчитывает от 0.

NB: Помните, что B6 и A2 являются ссылками на ячейки.

0
Gelo32k

Ответ Раджеша С уже может удовлетворить ваши требования. Однако слабым местом его ответа является то, что ваш параметр зависит от его расположения на столе. Я предлагаю лучшее решение:

  1. Как и предложил Раджеш, создайте таблицу с соответствующими заголовками: Creating Table from Range
  2. Убедитесь, что курсор находится внутри таблицы, на вкладке «Данные» нажмите «Из таблицы / диапазона» Using Table as a Data Source for Power Query
  3. Прямо сейчас вы будете в редакторе мощных запросов. Сначала убедитесь, что столбец «Значения» относится к типу данных «Текст». Затем щелкните столбец «Имя параметра» и на вкладке «Преобразование» нажмите «Столбец сводки». Используйте столбец «Значение» в качестве значений. Убедитесь, что вы развернули вкладку «Дополнительные параметры» и выбрали «Не объединять» как «Функция совокупного значения». Pivoting the parameters
  4. Теперь у вас будут разные столбцы с именем параметра в качестве имени столбца. Щелкните правой кнопкой мыши запрос «Параметры» и выберите «Справочник». Creating reference from an existing query
  5. Щелкните правой кнопкой мыши значение вашего параметра и нажмите «Развернуть» Drilling down to a specific value
  6. Теперь у вас будет запрос, который можно использовать в качестве переменной на вашем листе. используйте его в вашем ODBC Query:

let Source = Odbc.Query("dsn=AS400", "select * from libm61.emleqpm1 where STN1 = '"&STN1"' ") in Source

Я знаю, что мои шаги выглядят утомительно, но я очень забывчив, поэтому мне нужно использовать описательные имена переменных, чтобы легко запомнить, что делает мой Power Query. Вы также можете выполнить шаг «Изменить тип» после поворота параметров, если хотите использовать значения ячеек для расчетов с другими запросами. Вот моя ссылка

Похожие вопросы