报表调用 SPL 多查询条件的疑问
在报表中,采用 call 方式调用 splx。使用 splx 来作为 ETL 的工号 处理数据集,非常的方便。但是在查询条件的输入的时候,碰到以下问题
在报表中,有 10 个查询条件,有的是时间字段,有的是字符串,有的是数字。
问题
1、从报表通过存储过程传递的时候,字符串,数字,时间。都作为 字符串处理吗,然后到 splx 进行类型转换?
2、有 10 个查询条件,其中有些是空的。
希望 splx 中,如果是空,那么就忽略该查询条件。
但是在splx中,必须要判断传递的参数是否为null。那么多个条件,在splx中,如何进行组合判断?
可以把过滤条件拼接成字符串,然后用宏拼接到 select 中
spl 的参数没有类型,调用的时候传的什么就是什么
1、查询的时候,有一部分不是等于判断。如 有时间需要区间。即大于,小于。还有多选的时候,需要 in 的操作。这个如何处理?
2、如果从报表中传入时间类型。那么实际上是 splx 是接受的是字符串吗,需要在 splx 中转换为时间类型吗?
3、排序的时候,也需要传入参数。那么在 splx 中,如何进行处理到 sort 中
4、数据权限的部分(部门领导看全部门,员工看自己的),也是要传入参数。那么在 splx 中, 如何处理
当然不是字符串,传进来是什么类型就是什么类型。
这个问题,大概率是之前说过的原因,你这家报表工具把参数都当宏处理成字符串了,这要找报表工具厂商去追问是不是提供正常传参的机制。
如果报表工具不支持正常传参,那你只能理解为字符串再来设计规则处理。但这种形式传参非常不安全,企业应用不能这么搞。