所有行的分组依据和一些选定的分组依据值?
Posted
技术标签:
【中文标题】所有行的分组依据和一些选定的分组依据值?【英文标题】:group by for all rows and some selected group by values? 【发布时间】:2016-02-01 16:45:57 【问题描述】:有两个表:Products 和 Orders,1-N 关系。
在产品上创建一个分组依据,订单价值的总和是直截了当的,并给出如下内容:
Product1 1000
Product2 2000
Product3 1400
Product4 1600
但是,我只需要列出几个选定的产品(可以在查询设计视图中输入),并将所有其他产品的总和放在最后一行,如下所示:
Product1 1000
Product3 1400
Other 3600
【问题讨论】:
【参考方案1】:在查询中添加字段表达式 ...
IIf([YourField] In ('Product1','Product3'), [YourField], 'Other')
然后您可以GROUP BY
该字段表达式并对订单值求和。
【讨论】:
谢谢。有什么方法可以参数化这些值?以一种简单的方式创建一个表单并将“in”部分绑定到某个表单输入?但不使用固定数量的参数, In([Forms]![QueryForm].[Column1], [...] )In ()
将不接受值列表的参数。您可以使用 VBA 根据表单输入修改查询的 SQL。【参考方案2】:
您可以使用字段或表格将您的产品翻译成您想要的产品以进行输出。
更好的选择是使用如下表格:
Product-Name Product-Name-For-Output
Product1 Product1
Product2 Other
Product3 Product3
Product4 Other
然后将新表加入您的查询并从输出中删除 Product-Name
字段并添加 Product-Name-For-Output
字段。
此解决方案的优点是您只需要更改数据而不是查询即可在Other
组中添加或删除产品。
【讨论】:
以上是关于所有行的分组依据和一些选定的分组依据值?的主要内容,如果未能解决你的问题,请参考以下文章