具体实施方式
下面结合附图,对本说明书提供的方案进行描述。
本说明书一个实施例提供的条件语句创建方法可以应用于如图2所示的 可视化系统中,图2中,该可视化系统可以包括参数区域和创建区域。参数 区域包括了与条件语句的参数(如,A、B、C和D)对应的控件,该控件可以 被拖动至创建区域。以创建的条件语句应用于数据筛选的场景为例来说,上 述参数可以包括:性别、年龄、学历以及收入等等。
图2中,创建区域用于创建条件语句。具体地,当参数区域的控件被拖 动至创建区域时,若该创建区域没有其它控件,则该被拖动的控件被松开后 会被更新显示,更新显示后的控件包含对应的参数以及其它控件,其它控件 用于输入该参数满足的条件。之后,根据该参数以及其它控件的输入值,创 建条件语句。若该创建区域有其它控件,则该控件的显示方法及条件语句的 创建方法后续进行说明。
图3为本说明书一个实施例提供的条件语句创建方法流程图。所述方法 的执行主体可以为具有处理能力的设备:服务器或者系统或者装置,如,图2 中的可视化系统。如图3所示,所述方法具体可以包括:
步骤310,当在条件语句的创建区域接收到第一控件时,判断创建区域是 否存在两个以上第二控件。
此处的第一控件可以是指图2中参数对应的控件(如,与A、B、C或者D 对应的控件),而第二控件可以是指与已创建的旧条件语句相对应的控件。
需要说明的是,在本实施例中,创建区域不存在第二控件、存在一个第 二控件或者存在两个或两个以上第二控件,目标条件语句的创建方法均不一 致。因此,在创建区域接收到第一控件时,可以对第二控件的个数进行判断。 之后,根据第二控件的个数,采用不同的方法来创建目标条件语句。
在一种实现方式中,在创建区域不存在第二控件时,目标条件语句的创 建方法可以为:更新显示第一控件。根据第一控件的输入值,创建目标条件 语句。
以图4a为例来说,参数区域中与参数A对应的控件被拖到了创建区域, 也即创建区域接收到了与参数A对应的控件。该创建区域不存在第二控件, 则直接更新显示该控件。更新显示后的控件可以如图4b所示,图4b中,该 控件包含参数A以及两个文本框,其中,第一个文本框用于输入操作符(如, 等号、不等号以及大于号等),第二个文本框用于输入数值等。根据该两个 文本框的输入值,可以确定参数A所需满足的条件。可以理解的是,参数A以及该两个文本框的输入值即为第一控件的输入值。在确定参数A所需满足 的条件之后,就可以得到创建的目标条件语句。如,在图4b中的两个文本框 分别输入“等于”和“60”之后,创建的目标条件语句可以为:“A=60”。
需要说明的是,在可以确定第一控件的输入值之后,该第一控件就称为 第二控件。也即第二控件与完整的已创建条件语句相对应,如图4b中,与条 件语句“A=60”对应的控件即为第二控件。
在创建区域只存在一个第二控件时,目标条件语句的创建方法可以为:将 第一控件与该第二控件划分成一个分组。更新显示分组后的第一控件以及第 二控件。确定第一控件与第二控件的逻辑关系。根据第一控件的输入值、第 一控件与第二控件的逻辑关系以及旧条件语句,创建目标条件语句。
上述逻辑关系可以是指条件语句中的“and”或者“or”等。
以图4b为例来说,创建区域存在一个第二控件(该第二控件即为确定输 入值后的第一控件),该第二控件与“A=60”(已创建的条件语句)相对应。 当图4b的创建区域接收到与参数B对应的控件时,也即在接收到第一控件时, 将该第一控件与第二控件划分到一个分组。在构成分组之后,图4b可以如图 4c所示。图4c中,可以为该分组生成相应的分组控件,该分组控件可以包含 文本框(即可以输入逻辑关系:“and”的控件)。根据该文本框的输入值, 可以确定第一控件与第二控件的逻辑关系(如,图4b中的“and”关系)。 此外,图4c中,更新显示了第一控件以及第二控件,其中,更新显示后的第 一控件同上所述,即包含参数B以及两个文本框。在确定参数B所需满足的 条件之后,就可以得到目标条件语句的子句:“B<100”。之后,根据该子句、 已创建条件语句及逻辑关系,创建目标条件语句:“A=60andB<100”。可以 理解的是,在创建新的目标条件语句时,已创建的旧条件语句也可以理解为 目标条件语句的子句。也即,对条件语句:“A=60andB<100”而言,其包含 两个子句,分别为:“A=60”和“B<100”。
需要说明的是,上述只是一种确定逻辑关系的方式,在实际应用中,也 可以通过其它方式来确定逻辑关系,如,通过设定默认值的方式,本说明书 在此不复赘述。
上述是创建区域不存在第二控件或者只存在一个第二控件,目标条件语 句的创建方法。当创建区域存在两个或者两个以上第二控件时,目标条件语 句的创建方法可以如步骤320-步骤350所述。
步骤320,若创建区域存在两个以上第二控件,则根据第一控件与两个以 上第二控件的位置关系,确定第一控件与两个以上第二控件的分组情况以及 各分组之间的内外层嵌套关系。
步骤330,根据内外层嵌套关系,更新显示分组后的第一控件以及两个以 上第二控件。
在本实施例的一种实现方式中,上述位置关系可以包括三种:第一,第 一控件在两个以上第二控件中部分第二控件之上;第二,第一控件与两个以 上第二控件并列;第三,第一控件在两个以上第二控件外部。针对每种位置 关系,其分组情况以及内外层嵌套关系均不一致,具体如下所述:
若第一控件在两个以上第二控件中部分第二控件之上,则将第一控件与 部分第二控件划分到第一分组,将其它第二控件划分到第二分组,且第一分 组嵌套在第二分组内层。
以图4c为例来说,创建区域存在两个第二控件(该第二控件即为确定输 入值后的第一控件),该两个第二控件分别与“A=60”(已创建的条件语句)、 “B<100”(已创建的条件语句)相对应,且该两个第二控件已被划分到一 个分组。当图4c的创建区域接收到与参数C对应的控件时,如图4d所示, 也即在接收到第一控件时,该第一控件在与“A=60”相对应的第二控件之上。 则可以将该两个控件划分到第一分组,而将与“B<100”相对应的第二控件划 分到第二分组,且第一分组嵌套在第二分组内层。可以理解的是,第二分组 即为原来的分组。
分组后的第一控件以及两个第二控件可以如图4e所示。图4e中,可以 为各分组生成相应的分组控件。而由于第二分组即为原来的分组,所以不用 生成分组控件。从图4e可以看出,第一控件与原来的分组构成子级关系。
可以理解的是,图4d中,当第一控件在与“B<100”相对应的第二控件 之上时,其分组情况以及内外层嵌套关系的确定方法类似,在此不复赘述。
若第一控件与两个以上第二控件并列,则将第一控件与两个以上第二控 件共同划分到第一分组。
还以图4c为例来说,创建区域存在两个第二控件(该第二控件即为确定 输入值后的第一控件),该两个第二控件分别与“A=60”(已创建的条件语 句)、“B<100”(已创建的条件语句)相对应,且该两个第二控件已被划 分到一个分组。当图4c的创建区域接收到与参数C对应的控件时,如图4f 所示,也即在接收到第一控件时,该第一控件已存在的两个第二控件并列, 则第一控件与该两个第二控件共同被划分到第一分组。可以理解的是,该第 一分组即为原来的分组。
分组后的第一控件以及两个第二控件可以如图4g所示。图4g中,由于 第一分组即为原来的分组,可以不用重新生成分组控件。从图4g可以看出, 第一控件与原来的分组构成平级关系。
若第一控件在两个以上第二控件外部,则将第一控件划分到第一分组, 将两个以上第二控件划分到第二分组,第一分组扩展在第二分组外层。
仍以图4c为例来说,创建区域存在两个第二控件(该第二控件即为确定 输入值后的第一控件),该两个第二控件分别与“A=60”(已创建的条件语 句)、“B<100”(已创建的条件语句)相对应,且该两个第二控件已被划 分到一个分组。当图4c的创建区域接收到与参数C对应的控件时,如图4h 所示,也即在接收到第一控件时,该第一控件在已存在的两个第二控件外部, 则将第一控件划分到第一分组,将该两个第二控件划分到第二分组,且第一分组扩展在第二分组外层。可以理解的是,该第二分组即为原来的分组。
分组后的第一控件以及两个第二控件可以如图4k所示。图4k中,由于 第二分组即为原来的分组,可以不用重新生成分组控件。从图4k可以看出, 第一控件与原来的分组构成父级关系。
需要说明的是,上述实施例以创建区域只存在两个第二控件进行了说明。 当创建区域存在两个以上第二控件时,其分组情况与内外层嵌套关系的确定 方法类似,在此不复赘述。
此外,在实际应用中,也可以根据其它位置关系(如,第一控件不在任 一第二控件之上),来确定第一控件与两个以上第二控件的分组情况及各分 组之间的内外层嵌套关系,本说明书对此不复赘述。
步骤340,确定第一控件与组内第二控件的逻辑关系或者确定第一控件与 其它分组的逻辑关系。
可选地,可以根据分组控件的输入值,来确定上述逻辑关系。以图4e为 例来说,与第一分组对应的分组控件的输入值为:“or”,也即第一控件与 组内第二控件(即与“A=60”相对应的第二控件)的逻辑关系为:“or”。 而由于第二分组为原来的分组,因此其对应的逻辑关系可以不变。当然,也 可以通过修改分组控件的输入值,来修改对应的逻辑关系。同理,可以确定 图4g中,第一控件与组内两个第二控件的逻辑关系为:“and”。可以确定 图4k中,第一控件与第二分组的逻辑关系为:“or”。
步骤350,根据第一控件的输入值、旧条件语句、内外层嵌套关系以及逻 辑关系,创建目标条件语句。
以图4e为例来说,在确定参数C所需满足的条件之后,也即在确定第一 控件的输入值之后,就可以得到目标条件语句的子句:“C>50”。而创建区 域已存在的两条旧条件语句分别为:“A=60”和“B<100”。图4e中,由于“A=60” 和“C>50”被划分到一组,且该两者的逻辑关系为:“or”,该组条件语句 的外层还有条件语句“B<100”,且该条件语句与该一组条件语句的逻辑关系 为:“and”,因此,创建的目标条件语句可以为:“(A=60orC>50)and(B<100)”, 其中,“A=60”、“C>50”以及“B<100”可以称为该条件语句的子句。
为了满足使用者更多场景下的需求,对图4c、4e、4g以及图4k中的条 件语句的子句,还可以继续调整。具体地,可以接收对第一控件和/或第二控 件的编辑指令。根据编辑指令,对第一控件和/或第二控件进行编辑。
以图4k为例来说,当接收到用户对第二分组的点击指令时,可以为该分 组生成相应的操作按钮(如,“拆分组”按钮和“删除”按钮),如图4m所 示。之后,当接收到用户对“拆分组”按钮的点击指令时,该分组内的两个 第二控件将被拆分,从而一个第一控件以及两个第二控件共同被划分到一个 分组,如图4g所示。当接收到用户对“删除”按钮的点击指令时,该分组内 的两个第二控件将被删除。可以理解的是,当第一控件和/或第二控件被编辑时,目标条件语句也会相应的发生变化。
当然,在实际应用中,还可以对第一控件和/或第二控件进行其它的操作, 如,对其执行拖动操作,从而调整其所在分组等,本实施例对此不作限定。
需要说明的是,在其它实施方式中,上述图4a-图4h、图4k、图4m和图 4n中的各个控件(如,第一控件、第二控件或者分组控件)的展示样式可以 有多种变形,如,第一控件还可以为圆角按钮等,本说明书对此不作限定。
综上,本实施例中,通过改变第一控件与第二控件之间的位置关系,可 以灵活地调整第一控件与第二控件的分组情况以及分组之间的内外层嵌套关 系,由此可以支持条件语句的任意修改(如,向上扩展条件语句的子句), 从而可以达到更灵活、更快速地创建条件语句的目的。
此外,本实施例提供的条件语句创建方法可以在可视化环境下进行,从 而可以给用户更直观的交互感受,而且可以降低使用门槛,即对于没有代码 编辑背景的使用者也可以轻松地创建条件语句。
以根据本说明书上述实施例提供的条件语句的创建方法,在图2所示的 可视化系统中,创建一条用于数据筛选的条件语句:年龄小于60,女性并且 参与过心理课程或者从事心理医生职业为例来说,其创建过程如下所述:可 以在参数区域中,先后将与“性别”对应的控件和与“年龄”对应的控件拖 拽到创建区域。并在控件被更新显示后,在包含参数“性别”的控件中输入“等 于”以及“女”;在包含参数“年龄”的控件中输入“小于”以及“60”。且将该两条子句之间的逻辑关系设为“and”。之后,将与“经历”对应的控 件拖拽到创建区域,且将该控件与上述两个控件并列之后释放。从而可以将 该控件与上述两个控件划分为一组。划分分组之后,更新显示该控件,并输 入“包含”以及“心理课程”。最后,将与“职业”对应的控件拖拽到创建 区域,且将该控件拖拽到与“经历”对应的控件之上后释放,从而与“职业” 对应的控件和与“经历”对应的控件会被划分为一组,且该分组嵌套在原分 组之内。在更新显示该控件之后,输入“等于”以及“心理医生”,至此得 到了最终创建的条件语句,其可以如图4n所示。
与上述条件语句创建方法对应地,本说明书一个实施例还提供的一种条 件语句创建装置,如图5所示,该装置包括:
判断单元501,用于当在条件语句的创建区域接收到第一控件时,判断创 建区域是否存在两个以上第二控件,第一控件与待创建的目标条件语句的参 数相对应,第二控件与已创建的旧条件语句相对应。
确定单元502,用于若判断单元501判断创建区域存在两个以上第二控 件,则根据第一控件与两个以上第二控件的位置关系,确定第一控件与两个 以上第二控件的分组情况以及各分组之间的内外层嵌套关系。
可选地,确定单元502具体可以用于:
若第一控件在两个以上第二控件中部分第二控件之上,则将第一控件与 部分第二控件划分到第一分组,将其它第二控件划分到第二分组,且第一分 组嵌套在第二分组内层。
若第一控件与两个以上第二控件并列,则将第一控件与两个以上第二控 件共同划分到第一分组。
若第一控件在两个以上第二控件外部,则将第一控件划分到第一分组, 将两个以上第二控件划分到第二分组,第一分组扩展在第二分组外层。
显示单元503,用于根据确定单元502确定的内外层嵌套关系,更新显示 分组后的第一控件以及两个以上第二控件。
此处,更新显示后的第一控件包含参数以及其它控件,其它控件用于输 入参数满足的条件;将参数以及其它控件的输入值作为第一控件的输入值。
确定单元502,还用于确定第一控件与组内第二控件的逻辑关系或者确定 第一控件与其它分组的逻辑关系。
创建单元504,用于根据第一控件的输入值、旧条件语句、内外层嵌套关 系以及逻辑关系,创建目标条件语句。
可选地,显示单元503,还用于若创建区域不存在第二控件,则更新显示 第一控件。
创建单元504,还用于根据第一控件的输入值,创建目标条件语句。
可选地,该装置还可以包括:
构成单元505,用于若创建区域存在一个第二控件,则第一控件与第二控 件构成一个分组。
显示单元503,还用于更新显示分组后的第一控件以及第二控件。
确定单元502,还用于确定显示单元503显示的第一控件与第二控件的逻 辑关系。
创建单元504,还用于根据第一控件的输入值、第一控件与第二控件的逻 辑关系以及旧条件语句,创建目标条件语句。
可选地,确定单元502还具体可以用于:
生成与各分组对应的分组控件。
根据分组控件的输入值,确定第一控件与组内第二控件的逻辑关系或者 确定第一控件与其它分组的逻辑关系。
可选地,该装置还可以包括:
接收单元506,用于接收对第一控件和/或第二控件的编辑指令。
编辑单元507,用于根据接收单元506接收的编辑指令,对第一控件和/ 或第二控件进行编辑。
本说明书上述实施例装置的各功能模块的功能,可以通过上述方法实施 例的各步骤来实现,因此,本说明书一个实施例提供的装置的具体工作过程, 在此不复赘述。
本说明书一个实施例提供的条件语句创建装置,当在条件语句的创建区 域接收到第一控件时,判断单元501判断创建区域是否存在两个以上第二控 件。若创建区域存在两个以上第二控件,则确定单元502根据第一控件与两 个以上第二控件的位置关系,确定第一控件与两个以上第二控件的分组情况 以及各分组之间的内外层嵌套关系。显示单元503根据内外层嵌套关系,更 新显示分组后的第一控件以及两个以上第二控件。确定单元502确定第一控 件与组内第二控件的逻辑关系或者确定第一控件与其它分组的逻辑关系。创 建单元504根据第一控件的输入值、旧条件语句、内外层嵌套关系以及逻辑 关系,创建目标条件语句。由此,可以更灵活、更快速地创建条件语句。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所 描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软 件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读 介质上的一个或多个指令或代码进行传输。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行 了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而 已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上, 所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。