现在不能支持的查询
- 排序,查询后的结果显示可以直接用鼠标点击标题实施,比繁琐的自然语言描述更为便利
- 跨行运算,比如占比,排名,同比环比,涨跌,增长率等,查询后可在自助报表阶段实施,自然语言易有歧义
- 多步汇总,比如先分组求和,再从中找出最大值,如订单数 最多 员工;或者先计算平均值再执行筛选,如身高 大于 平均身高 员工
- 表达式作为返回结果,如发货日期-签单日期不能作为查询结果返回,但可以用在筛选条件中
查询语句规则
基本格式,只需写关键词
- 整个句子是由词构成的,写清目标表的数据项和条件即可。用肯定句说明需要的结果,避免使用有没有、是不是、有哪些、有多少等疑问句式。不要使用虚词,如请你,销售员的姓名中的的。不要使用语气词和描述性词语以及问号句号等标点符号,如不要写我想要、请帮我查一下等。
- 如果需要查询多项信息时,把各个单项数据项用空格分隔开,如姓名 性别 身高 体重,商品编码 商品名称 重量 类别 库存量,姓名 BMI指数。
- 允许使用的符号包括逗号、括号、四则运算符号和大小比较符号,使用规则将在下面具体说明。
组合信息,相关信息一起查
- 如果需要查询中的多个信息是一组,那么将这些数据项用空格分开,共同形成一个组合信息。如:城市 名称 省 人口,表示想查找城市名称 城市所在省 城市人口的组合信息;组合信息中最前面的词城市,表示这组信息属于城市信息。
- 逗号分隔。在查询多项信息时,如果查询中包含多个不同组的信息,或需要明确区分单项与组合,可用逗号分隔。如订单编码,客户,发货 城市 日期,收货 城市 日期。又如员工编码,上级 姓名,姓名 身高 体重,第一个姓名在上级组合中,表示上级的姓名;第二个姓名之前用逗号隔开,说明与上级无关了,是员工的姓名。又如订单编码 签单日期,发货 日期 城市名称,收货 日期 城市名称,订单信息、发货信息、收货信息之间用逗号隔开。
筛选条件,精准获取所需
- 在查询中可以使用筛选条件,筛选条件由属性、比较符、数值项项组成,查询语句中也要说明筛选后需要的信息。比较符可以用中文大于等于小于等于等,也可以用大小比较符号,如>,=,<=,比较符省略时,默认为等于。如年龄大于40岁 员工,金额 >=100元 订单编码,发货 城市 日期,客户,发货日期 今年 订单信息。条件中,筛选信息的数值项和筛选条件之间最好用空格分开以避免误读。
- 数值项中的常数要带上单位,比如不应用1万以上 订单,而应该用1万元以上 订单,用单位说明是金额。
- 如果是对组合信息中的某些信息筛选,需要先说明是哪个组合信息,如上级 身高大于185,员工,收货 日期 2024年1月至2024年3月 订单信息。
- 筛选时,设置的比较条件常为特定的属性信息与数值项的比较,如果是相等的比较关系时,可以省略等于。如果常数是文字类型的内容,在其前后加引号。如联系人 “王先生” 供应商 名称,客户名称 “宇欣实业” 2025年订单。如果是城市名称、省名称、性别、商品类别、事件类型这类常用的文字则不必加。如类别 海鲜 商品名称 厂家,籍贯 北京 姓名 职务 销售代表 年龄。如果查询时无法识别文字类型的常数,请尝试在文字前后加引号。
- 筛选条件也可以用多个属性信息之间的比较,筛选条件尽量用明确的公式化描述,如发货地等于收货地的订单,收货日期-发货日期>2天 订单,年龄 大于 经理年龄 员工等。避免用口语化的表述,如不能用签单当天发货的订单,也不能用收货日期超过发货日期2天以上 订单。
- 如果比较条件中只包含数值项,而省略了属性信息,那数值项中必须写清单位,此时查询时会尝试与数据类型相同,且单位能够匹配的信息去比较。如大于40岁 小于45岁 员工可以根据岁判断出是在比较年龄;又如济南 员工可以根据城市名判断出在比较籍贯城市。但省略属性信息的时候,有可能解读错误。如果出现自动匹配错误时,应该尽量写全筛选条件,同时包括数据项和比较条件。
- 比较条件是一个区间时,数据项前后的单位要统一,且需要按前小后大的顺序。如人口800万至1000万 城市不能写作人口800万至1千万 城市 。区间中,前面的单位允许省略,如人口800至1000万 城市。
- 筛选条件中可以使用一些动词,隐含表示属性的关联关系。如1990年 出生 员工,用出生关联到出生日期;如北京 发往 山东 订单,通过发往识别发货城市和收货城市。
- 筛选时如果有多个条件,不要重复需要查询的数据项。如不要用3月出生 员工,8月出生 员工,而应该用3月或 8月 出生 员工
- 如果筛选时使用了多个比较条件,最好用且或等明确的连词表示多个条件之间的逻辑关系。如3月出生 或 籍贯西安 员工。如果条件较多或者比较复杂,最好用括号明确说明条件之间的组合关系,如年龄大于30岁 且 (3月出生 或 籍贯西安) 员工,(山东 男)或(北京 女) 员工。
- 如果多个比较条件是类型完全相同的,且没有其它比较条件会干扰,也可以同时使用,此时将表示这些条件之间是或的逻辑。如河北山东 雇员表示河北省或山东省的雇员,这里不能用河北北京 雇员,因为省和市类型有区别,必须说明是河北或北京 雇员。
- 如果筛选条件使用的信息是组合信息,可以使用组合信息包含的多种比较条件,这样的比较条件最好写在组合信息前面。如男性 45岁以上 经理的员工,2024年 北京 发货 订单信息。如果比较条件写在组合信息后面时,有可能识别错误,可以试着把比较条件移到前面。
分组统计,整体分析数据
- 如果不想看具体数据,而是需要对数据分组统计,只看统计结果,如计算每一组数据的总和或者平均值等。那么首先要说明分组的目标维度,然后说明统计指标。如客户 金额总和用客户作为目标维度去分组,统计指标是计算各个客户的金额总和;销售 订单总数有那个销售作为目标维度,统计指标是计算订单数。不能用数值类的属性信息作为分组维度,如不能查询各年龄 员工数
- 分组统计时可能同时计算多个统计指标,如客户 订单数 平均金额,以客户作为目标维度,统计订单数和平均金额两个指标。分组统计也可能按照多个数据分组。如省 城市 员工数 平均年龄,在第一个统计指标员工数之前的都会被认为是目标维度。在使用多个目标维度或者多个统计指标时,为了明确区分目标维度和统计指标,可以在它们之间用逗号分隔。
- 分组统计时,如果使用筛选条件,将在计算统计指标时过滤数据,如客户 北京发货 订单数。如果是对统计指标添加比较条件,则是在分组统计后再筛选结果,如客户 订单数大于5
- 分组统计时,筛选条件默认会对所有数据有效,如果只对部分数据有效,可以用括号表明筛选条件针对的范围,如客户 (2024年发货 订单数) (2025年发货 订单数) 。通过使用这种有条件的聚合计算,可以生成辅助数据,在自助报表中计算同比等复杂结果。
- 如果需要判断集合的存在性,可以用有没有做判断,如没有员工 城市信息,(2025年6月 有订单) 员工
- 聚合时,不要用总订单数这样把统计指标放在中间的表示方法,而应该用订单数。