Ошибка U-sql: Ожидается одно из: ЗА ИСКЛЮЧЕНИЕМ ГРУППЫ, ИМЕЮЩЕЙ ПЕРЕКЛЮЧЕНИЕ ОПЦИИ, ЗАКАЗАТЬ СОЮЗ ВНЕШНЕГО СОЮЗА, ГДЕ ';'')' ',' - PullRequest
0 голосов
/ 04 июня 2018

У меня есть следующая таблица:

EstimatedCurrentRevenue -- Revenue column value of yesterday
EstimatedPreviousRevenue  --- Revenue column value of current day
crmId
OwnerId
PercentageChange.

Я запрашиваю два снимка аналогично структурированных данных в озере данных Azure и пытаюсь запросить процентное изменение в Доходе.

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

@opportunityRevenueData = SELECT (((opty.EstimatedCurrentRevenue - optyPrevious.EstimatedPreviousRevenue)*100)/opty.EstimatedCurrentRevenue) AS PercentageRevenueChange, optyPrevious.EstimatedPreviousRevenue, 
opty.EstimatedCurrentRevenue, opty.crmId, opty.OwnerId From @opportunityCurrentData AS opty JOIN @opportunityPreviousData AS optyPrevious on opty.OpportunityId == optyPrevious.OpportunityId;

Но я получаю следующую ошибку:

E_CSC_USER_SYNTAXERROR: синтаксическая ошибка.Ожидается одно из: ЗА ИСКЛЮЧЕНИЕМ ГРУППЫ, ИМЕЮЩЕЙ ИНТЕРСЕКТНЫЙ ВАРИАНТ, ЗАКАЗАТЬ СОЮЗ НАШЕГО СОЮЗА, ГДЕ ';'')' ','

на токене 'From', строка 40

рядом с ###:

Это выражение вызывает проблему, которую я знаю, ноне уверен, как это исправить.(((opty.EstimatedCurrentRevenue - optyPrevious.EstimatedPreviousRevenue) * 100) /opty.EstimatedCurrentRevenue)


Пожалуйста, помогите, я совершенно новичок в U-sql

1 Ответ

0 голосов
/ 04 июня 2018

U-SQL чувствителен к регистру (согласно здесь ) со всеми зарезервированными словами SQL в верхнем регистре.Таким образом, вы должны использовать в своем утверждении ключевые слова FROM и ON, например:

@opportunityRevenueData =
    SELECT (((opty.EstimatedCurrentRevenue - optyPrevious.EstimatedPreviousRevenue) * 100) / opty.EstimatedCurrentRevenue) AS PercentageRevenueChange,
           optyPrevious.EstimatedPreviousRevenue,
           opty.EstimatedCurrentRevenue,
           opty.crmId,
           opty.OwnerId
    FROM @opportunityCurrentData AS opty
         JOIN
             @opportunityPreviousData AS optyPrevious
         ON opty.OpportunityId == optyPrevious.OpportunityId;

Кроме того, если вы совершенно не знакомы с U-SQL, вам следует подумать над проработкой некоторых руководств, чтобы установитьосновы языка, в том числе чувствительность к регистру.Начните с http://usql.io/.

...