Как написать вычисляемое поле с помощью построителя выражений Microsoft Access? - PullRequest
0 голосов
/ 30 мая 2020

Я пытаюсь написать запрос, который вычислит «короткие доли», разделенные на «плавающие доли». См. Мою таблицу ниже. Я пробовал следующее выражение, но получаю большую жирную ошибку.

Expr1: [Shares]![SharesType]="Shares short"/[Shares]![SharesType]="Shares floating"

Я также пробовал смотреть учебники Microsoft по выражениям (и связанные руководства), но они слишком общие.

Table with Original Data

Ответы [ 2 ]

1 голос
/ 30 мая 2020

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

Если вы пытаетесь выполнить агрегированный запрос, щелкните значок Sigma на вкладке конструктора запросов и создайте сетку дизайна. Переключитесь в представление SQL, чтобы просмотреть оператор, который должен выглядеть следующим образом:

SELECT CompanyID, Sum(IIf([SharesType]="s",[Shares],Null))/Sum(IIf([SharesType]="f",[Shares],Null)) AS Expr1 
FROM Shares 
GROUP BY CompanyID;
0 голосов
/ 30 мая 2020

Это сработало.

SELECT Companies.CompanyName, Sum(IIf([SharesType]="Shares short",[Shares],Null))/Sum(IIf([SharesType]="Shares floating",[Shares],Null)) AS [Short as % of Float]
FROM Companies INNER JOIN Shares ON Companies.CompanyID = Shares.[Company ID]
GROUP BY Companies.CompanyName;

Итак, мой отчет теперь выглядит так:

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...