...
总结:关联的日期维表所创建的时间维度下面的所有时间层次作为过滤条件,都能命中分区。
3.
...
3 分区字段为日期:在事实表上设置了分区字段,使用分区字段自己生成的时间维度作为过滤条件
以mysql数据库表创建分区为例进行说明
1、连接到mysql数据库中创建表:orders连接到mysql数据库中创建表:orders_partition,同时给设置好分区,如下图:
创建表时,以”OrderDate“进行分区,当“OrderDate”<2020-02-01 00:00:00时,需要命中“p202001”;当“OrderDate”<2020-03-01 00:00:00时 需要命中”p202002“;当“年月日”符合其他条件,那就命中”p_future“。
orders_partition的数据效果如下:
1、把orders_partition表通过 数据库管理,把表加载到数据源下,并设置分区字段:
分区字段:可以选择日期、字符串、整型字段,这里选择在数据库中设置的分区字段“OrderDate”:
点击【确定】保存设置的分区信息,下次打开会显示上一次设置的信息。
2、去创建数据模型,并基于orders_partition的“orderDate”字段创建时间维度, 并同步“分区信息”到数据模型中:
时间维度:必须选择基于“分区字段”、或者关联的日期维表所创建的时间维度。否则查询时可能出错,或者查询数据不正确。
3、保存数据模型,去创建透视分析:
4、去到系统监控/SQL/MDX监控中查看并复制运行的取数SQL语句:
7、去到mysql数据库中,使用explain +上一步复制的SQL的语句,执行,查看命中了哪个分区:
看下图可以看到是命中了"p202002"区。
3.4 分区字段为日期:在事实表上设置了分区字段,使用关联的维表的时间维度作为过滤条件
以3.3创建的数据模型为例说明。
1、在模型中增加”日期表“作为orders_partition的维表,如下图:
2、分区设置指定时间维度为”日期表“生成的时间维:
3、保存模型并创建透视分析:
4、去到系统监控/SQL/MDX监控中查看并复制运行的取数SQL语句;去到mysql数据库中,使用explain +上一步复制的SQL的语句,执行,查看命中了哪个分区:
看下图可以看到是命中了"p_future"区。
5、报表层再查询快速计算:
6、通过在数据库执行取数逻辑,可以看到也能命中分区: