-
yangm 数据达人Lv4
发表于2022-4-26 11:01
楼主
一般情况下,我们在写sql主题表的时候,是将全量的数据通过sql取到分析表,再通过分析表的过滤条件做过滤到达参数联动数据的效果。
但如果全量表的数据很大,这样就会有性能问题。
我们如何控制sql主题表的取数范围来变相达到参数控制动态传参的效果呢?
这时候就遇到一个问题,怎么把报表的参数传到sql主题表。
首先我们建立sql主题表的时候添加一个参数。如下:
示例数据为2022-01-01的结构,为了跟我们的参数组件返回的数据结构保持一致,故需要用<#=datetostr(@cs,"yyyy-mm-dd")#>来转换数据结构。
sql主题表建立好了之后需要在分析表中拖入一个参数组件,组件名称需要跟sql主题表中的参数名称保持一致。如图:
对应字段过滤条件,如下图:
同样需要用<#=datetostr(@cs,"yyyy-mm-dd")#> 处理参数传给数据的数据结构。
这样设置完成之后就可以达到参数控制sql主题表的取数范围。
但如果全量表的数据很大,这样就会有性能问题。
我们如何控制sql主题表的取数范围来变相达到参数控制动态传参的效果呢?
这时候就遇到一个问题,怎么把报表的参数传到sql主题表。
首先我们建立sql主题表的时候添加一个参数。如下:
示例数据为2022-01-01的结构,为了跟我们的参数组件返回的数据结构保持一致,故需要用<#=datetostr(@cs,"yyyy-mm-dd")#>来转换数据结构。
sql主题表建立好了之后需要在分析表中拖入一个参数组件,组件名称需要跟sql主题表中的参数名称保持一致。如图:
对应字段过滤条件,如下图:
同样需要用<#=datetostr(@cs,"yyyy-mm-dd")#> 处理参数传给数据的数据结构。
这样设置完成之后就可以达到参数控制sql主题表的取数范围。