沙滩星空的博客沙滩星空的博客

SmartBI数据准备-数据集-原生SQL数据集

原生SQL数据集

一般在SQL数据集嵌套执行性能低或是SQL数据集不支持的数据集语句(如Syabse数据库子数据集不支持Order by),我们可以使用原生SQL数据集来实现。

  • SQL数据集是一类封装结构的原生SQL数据集语句,在解析SQL语句过程中对最外层进行了包装:如“select area from area”解析后的执行语句为“select T84.area as F85 from (select area from area) T84”;而原生SQL数据集没有对最外层进行包装,是按照“所见即所得”的方式进行解析并执行。
  • SQL数据集不支持“select * from”的语句;而原生SQL数据集支持该语句

私有参数

私有参数可用于数据集过滤筛选。

示例:

  • 参数名称 分类
  • 参数别名 分类
  • 数据类型 字符串
  • 控件类型 下拉框

备选值设置:

select category_name FROM craw.ods_cwr_end_products_nd
where site_id = 1509097774036029440 and category_name <> ''
group by category_name

默认值设置:

select category_name FROM craw.ods_cwr_end_products_nd
where site_id = 1509097774036029440 and category_name <> ''
group by category_name limit 1

备选值_实际值, 备选值_显示值,默认值_实际值,默认值_显示值 全部选 category_name

新添加私有参数后,直接 拖拽 到编辑框中的where条件位置即可。如下所示:

编辑器显示:

where site_id = 1509097774036029440 and category_name <> '' AND category_name = 分类

原始代码

where site_id = 1509097774036029440 and category_name <> '' AND category_name = ^P_BusinessViewCustomParameter.I2c90808f018842ed42ed816e01886a67ae802ab8.分类^

输出字段 -> 检测输出字段,在弹窗中,点击 输出字段检测,更新输出字段。最后点击保存。

多重过滤

原生SQL数据集使用 私有参数 实现数据过滤筛选。新添加私有参数后,直接 拖拽 到编辑框中的where条件位置即可
AND 条件左右两边的条件语句,都用 {[]} 把条件语句包起来。

正确写法:

where {[ group_root_cate = ^P_BusinessViewCustomParameter.I2c90808f018842ed42ed816e01885732457f0f95.大类^ ]} AND {[ group_title = ^P_BusinessViewCustomParameter.I2c90808f018842ed42ed816e01885732457f0f95.小类^ ]}

错误写法:

where group_root_cate = ^P_BusinessViewCustomParameter.I2c90808f018842ed42ed816e01885732457f0f95.大类^
AND group_title = ^P_BusinessViewCustomParameter.I2c90808f018842ed42ed816e01885732457f0f95.小类^ 

原生SQL数据集 https://wiki.smartbi.com.cn/pages/viewpage.action?pageId=44499269
未经允许不得转载:沙滩星空的博客 » SmartBI数据准备-数据集-原生SQL数据集

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址