# 设置动态加工参数

动态加工参数是指从仪表板、报表、SuperPage等外部应用中传递参数值给不提取的数据加工来动态获取一个查询结果集。

有些特殊的场景下,需要在数据加工逻辑中提前使用动态参数过滤数据,比如加工的来源表数据量大需提前过滤优化性能、动态统计缓慢变化表中某个时点的数据。

通常情况下,查询条件比较简单时只需要在仪表板、报表、应用等引入的数据模型中设置过滤条件即可实现动态查询而不需要通过创建不提取的数据加工来传递动态参数,比如在企业信息自助查询 (opens new window)时根据选择的企业动态的传递企业ID值给钻取的企业一户式页面进行过滤,传递不同的企业ID便可以看到不同的企业一户式信息。

# 提前过滤动态参数条件

当数据加工逻辑较复杂且来源表数据量很大时应尽可能将过滤条件提前设置以提升SQL执行性能(详细参见:性能优化-提前过滤数据),尤其是加工逻辑中有汇总节点时,应先过滤后再对过滤后的结果集汇总而不是全表汇总。

动态查询指定月份的销售完成情况

示例地址:动态查询指定月份的销售完成情况 (opens new window)

示例加工用来从门店月销汇总表 (opens new window)门店月度进销计划表 (opens new window)中查询指定月份的服饰销售完成情况指标数据,具体加工步骤如下:

  1. 添加门店月销汇总表输入节点,并提前过滤截止【查询月份】本年的数据。
  2. 计算【本月实际销售数量(件)】、【本月实际零售总额(元)】、【本年实际累计销售数量(件)】、【本年实际累计零售金额(元)】,计算后过滤出本月数据。
  3. 对过滤后的本月门店月销汇总结果集再按照【月份】进行汇总。
  4. 添加门店月度进销计划表输入节点,并提前过滤【查询月份】所属年份的数据。
  5. 对过滤后的门店月度进销计划结果集按照【年份】汇总,计算【全年计划销售数量(件)】、【全年计划零售总额(元)】。
  6. 最后再进行关联,即可获取指定【查询月份】的销售完成情况指标数据。

以上加工过程均将要查询的月份数据尽可能提前过滤出来再进行加工,避免了对全表进行汇总,可以提升查询性能。

# 动态统计缓慢变化表中某个时点的数据

SQL动态参数

示例地址:SQL动态参数 (opens new window)

示例加工中,传入动态参数【查询日期】,按照【经济户口类别】分组查询统计截止指定的【查询日期】时当年累计的新设企业数量,SQL实现时应按照如下思路先过滤再分组统计而不能先统计再过滤(缓慢变化表先统计时同一个企业可能会存在多条数据,造成统计异常):

  1. 根据传入的动态参数【查询日期】,先从企业信息缓慢变化表 (opens new window)中使用【有效期起】和【有效期止】两个字段过滤出该日期时点的企业快照信息。
  2. 再使用【成立日期】范围过滤出截止【查询日期】当前的新设企业信息。
  3. 最后使用【经济户口类别】进行分组统计新设企业数量。
是否有帮助?
0条评论
评论