Страницы: 1
RSS
PQ.. Вызвать функцию через другую функцию
 
Всех приветствую!
Есть таблица (главная) с параметрами и значениями, значения заполняются из выпадающего списка. (Таблица4 в приложенном файле).
Есть вторая таблица (Таблица5), где каждое значение имеет свой id.
Например, в таблице4 у параметра Товар выбрали Книга, в таблице5 у Книга id - 123.
Есть функция (fParams), которая на вход принимает параметр из таблицы4 и возвращает его значение, т.е. ввели Товар --- получили Книга.
Есть функция (fParamsID), которая на вход принимает товар из таблицы5 и возвращает его id, т.е. Книга -- 123.
Нужно сделать так, чтобы при вызове функции fParams возвращалось id товара (т.е. в ней вызвать функцию fParamsID), например, значение товара это Книга в таблице4, но возвращался id из таблицы5.
Таблица4 -- на листе 3.
Таблица5 -- на личте 5.
Подскажите, пожалуйста, как можно реализовать такой вызов. СПАСИБО!!!

P.S.
сейчас подумал, или не обязательно делать вызов второй функции fPatamsID, а через первую пробраться ко второй таблице
Вроде такого: Таблица4[Value] = Таблица5[Товар] и подцеплять его айди, и функция FParams будет уже возвращать айди товара
 
или может кто предложит сделать эту связку проще?
 
вы нормально бы описали что хотите упоминаете какие то выдуманные функции которых нет с кажите куда хотите вытащить ИД это делается обычным ВПР
Лень двигатель прогресса, доказано!!!
 
Цитата
Сергей написал:
какие то выдуманные функции которых нет с кажите куда хотите
они не выдуманные в файл все есть, если перейти на Данные - Показать запросы, я хожу чтобы в одной таблице значение ячейки ссылалось на значение ячейки в другой таблице.
Товар - Книга  |||| Книга - 123  ===>>> Товар - 123
 
вставьте в ячейку куда надо не понимаю я ваших функций
Код
=ВПР(Таблица4[[#Эта строка];[Value]];Таблица5;2;0)
Лень двигатель прогресса, доказано!!!
 
Сергей,можете пояснить, пожалуйста, что значит #эта строка и после таблица5 2 и 0?
 
Дмитрий Осипов, справку откройте по функции ВПР
Изменено: Mershik - 12.08.2020 15:01:19
Не бойтесь совершенства. Вам его не достичь.
 
Так пишутся ссылки на умные таблицы или элементы таких таблиц.
Искать значение #Эта строка в Таблица5 и возвращать значение из второго столбца в найденной строке. 0 - поиск точного соответствия
 
Mershik, vikttur, спасибо!
Только я не понял, в ячейке куда ввожу эту формулу ВПР, стоит уже значение из выпадающего списка, например Молоко. Пишет что: "Это значение не соответсвует ограничениям по проверке данных, установленным для этой ячейки"
Изменено: Дмитрий Осипов - 12.08.2020 15:11:20
 
Дмитрий Осипов,это в отдельный столбец куда нужно вывести результат
Не бойтесь совершенства. Вам его не достичь.
 
Как связаны ВПР и название темы?
 
vikttur,Никак, через ВПР не подходит решение, вопрос остается открытым
 
Дмитрий Осипов, вопрос открыт, но дело в том что Вам уже написали
Цитата
Сергей написал:
вы нормально бы описали что хотите упоминаете какие то выдуманные функции которых нет с кажите куда хотите вытащить ИД
просто покажите в примере что вот есть это и это хоче получить вот это (ручками заполнить)
Не бойтесь совершенства. Вам его не достичь.
 
Просто в названии нужно упомянуть что это про PQ. Как все делают. Другие.
 
Цитата
Mershik написал:
просто покажите в примере что вот есть это и это хоче получить вот это (ручками заполнить)




да хорошо, тогда с картинками
Есть таблица4 на листе5 (рисунок1).


В ней в столбце Value у Товара есть выпадающий список с товарами. Для этой таблицы есть функция вызова значений параметров fParams. Как она работает (риснуок2) - вводим Params из таблицы4, например Товар.
Что она возвращает на рисунке 3.

В таблице5 на листе3 мы имеем столбец с теми же товарами, где для каждого из них есть столбец с ID товара.(рисунок 4). Для нее тоже есть функция fParamsID, которая работает точно также как и первая, т.е. при вводе товара, возвращается ID. Книга -- 123. Ее функционал на PQ - рисунок5.

Так вот надо сделать вызов функции fParamsID в функции fParams, чтобы при вызове fParams возвращался ID, а не Value товара. Т.е. как бы получается отослаться на значение в другой таблице.
Было: Товар - Книга и Книга - 123 получили: Товар - 123
Изменено: Дмитрий Осипов - 12.08.2020 17:56:01
 
vikttur, можете, пжлста, изменить тему на:
"Вызов функции через функцию Power Query"


а все, уже есть, извините
Изменено: Дмитрий Осипов - 12.08.2020 17:58:23
 
Дмитрий Осипов, не понятно что надо
Может, так надо
Код
let fParams=Excel.CurrentWorkbook(){[Name="Таблица4"]}[Content]{[Params="Товар"]}[Value] 
in Table.SelectRows(Excel.CurrentWorkbook(){[Name="Таблица5"]}[Content], each [Товар]=fParams)[ID]

 
Михаил Л, спасибо, Вы мне очень помогли!!

Извините за беспокойство, уже надоел, но не подскажите как сделать так, чтобы не список возвращался на снимке, а просто число?
 
Дмитрий Осипов, может надо галочку убрать
 
Цитата
Дмитрий Осипов написал:
чтобы не список возвращался на снимке, а просто число?
Цитата
Михаил Л написал:
each [Товар]=fParams)[ID]{0}?
F1 творит чудеса
Страницы: 1
Наверх