Что не так с моим запросом Power BI (с использованием параметра)? - PullRequest
0 голосов
/ 02 марта 2020

Я новичок в использовании PBI, но, насколько я могу судить, я должен иметь возможность заменить параметр как часть прямого запроса вместо жестко закодированной переменной ... ie

let
    Source = Sql.Database("NAMEOFDB", "CMUtility", [Query="sp_get_residentsinfo "& home_name]),.....

вместо

let
    Source = Sql.Database("NAMEOFDB", "CMUtility", [Query="sp_get_residentsinfo 'NAME OF HOME'"]),...

Однако версия с включенным параметром просто говорит

DataSource.Error: Microsoft SQL: неверный синтаксис рядом с 'House' , Подробности: DataSourceKind = SQL DataSourcePath = NAMEOFDB; Сообщение CMUtility = Неверный синтаксис рядом с «Домом». Number = 102 Class = 15

"Дом" - это назначенное в данный момент последнее слово переменной home_name. Что я сделал не так?

PS - я предположил, что мне не нужны дополнительные & в конце параметра, так как я не добавляю ничего к запросу, но даже с обоими & s это все еще не работает.

1 Ответ

1 голос
/ 02 марта 2020

Тип ваших параметров: text. В SQL текстовые литералы должны быть заключены в кавычки, то есть sp_get_residentsinfo 'NAME OF HOME', но созданный вами оператор является sp_get_residentsinfo NAME OF HOME.

. Вы должны использовать Text.Replace , чтобы экранировать одинарные кавычки в значение параметра и добавить кавычку до и после него.

...