1 概述

在数据分析过程中,我们经常需要使用参数来过滤或计算数据。“默认生效” 是模型参数的一个重要特性,它决定了参数是否自动应用默认值进行数据处理。简单来说:

1.1 子图

以"事实表"为中心,通过表或者查询的关系建立一个子图,子图(也可以理解为扩展表),也可以理解为数据模型中的每个表都可构建一个子图,A表的子图是以A表为中心,根据筛选方向即箭头指向它的代表能筛选它的表,都会把它纳入子图中。

2 示例说明

2.1 同子图场景:参数默认生效强制应用

场景说明:  分析订单数据,希望 “区域” 参数始终按默认值 “华北” 过滤数据,“省份” 参数根据用户选择动态变化。

可以点击链接跳转到外部体验环境查看示例。

1、以产品内置的northwind创建数据模型,在数据模型中创建SQL查询,并且使用参数"区域"、“省份”参数进行过滤:

2、保存SQL查询,回到数据模型主界面,添加“订单明细表”、“产品表”到数据模型中,并且设置好关联关系:

3、在设置参数中映射参数,并且定义参数的默认值、备选值,把2个的“参数生效”:默认生效 设为勾选

预览“区域”参数的默认值为:“华北”:

4、去创建透视分析并且把省份“的参数拖入到过滤条件,”区域“参数不拖效果如下图:

虽然“省份”查询“全部”的数据,但是还是会根据”区域“的默认参数进行查询。

5、把”区域“的”参数生效“改成不勾选,清空缓存之后,刷新报表,报表结果仍会继承”区域“参数的默认值:

总结:在同一个子图中的参数,即使是没有”勾选“,报表层也没有拖入该参数,仍然会自动应用该参数的默认值。


2.2 同子图场景:参数默认生效只影响所映射的表

可以点击链接跳转到外部体验环境查看示例。

场景说明:  分析订单数据,希望 “区域” 参数、“省份” 参数不影响统计每个订单的销量。

以2.1章节建好的模型为例。取数子图

1、把 “区域” 参数、“省份” 参数的默认生效都变成不勾选。

2、去创建透视分析,查询各个订单号的销量情况,可以看到下图效果,只有829条:

查看后台执行的SQL语句,即使在报表层没有勾选区域、省份参数,同一个子图中,仍然过滤所映射那张表的数据:

“不勾选”默认生效:如果在同一个子图中,参数只对其映射的表起作用

2.3 不同子图场景:参数默认生效不触发

场景说明: 分析产品表中的产品个数,希望 “区域” 和 “省份” 参数不影响产品个数的统计。

可以点击链接跳转到外部体验环境查看示例。

以2.1示例为创建的数据模型和参数进行说明

1、创建透视分析,想要查询产品个数,把”产品编号“复制转度量,再自定义度量中切换汇总依据为”唯一计数“:

2、创建透视分析,如下图,把”省份“、”区域“参数都拖入到产品中,切换参数,然后不会对”产品个数“产生联动影响。

因为”省份“、”区域“参数所属的orders 与 产品个数所属的”产品表“属于不同的子图:

如果子图中没有选择与参数相关的表或查询,则该参数不会生效;即使参数被拖入报表中,但如果它与查询的数据不在同一个子图中,该参数也不会生效。