页面树结构

版本比较

标识

  • 该行被添加。
  • 该行被删除。
  • 格式已经改变。

...

时间计算应用范围:仪表盘、透视分析、模型查询、电子表格、web电子表格。

1

...

生成时间维实现时间计算

以产品内置的northwind数据库的orders例,查看每日运费的前期值。

1、orders表结构中orderdate字段为 datetime 类型

步骤一:数据模型中引用此orders表后,即可直接对订单日期字段生成时间层次2、创建数据模型中引用orders表后,即可直接对”订单日期“字段生成时间层次

步骤二:制作透视分析时,将时间维度中的字段根据需求任意拖拽至表格区域,即可快速时间计算3、保存数据模型之后,去制作透视分析时,将时间维度中的字段根据需求任意拖拽至表格区域,即可快速时间计算

Image Modified

情况二:数据表中日期字段为char、string类型

表中日期字段为字符串类型

Image Removed

(推荐)方式一:关联日期维度表生成时间层次

步骤一:需在数据库制作一张包含所有日期的日期维度表

步骤二:数据模型中将事实表和日期维度表通过日期字段进行关联,达到查询结果中包含date日期类型的字段

步骤三:对日期维表生成时间层次

步骤四:制作透视分析时,将时间维度中的字段根据需求任意拖拽至表格区域,即可快速时间计算

方式二:使用计算列拆分日期维度

步骤一:数据模型引用此表后,使用计算列加工日期字段

新建计算列-年(必须单独创建,因为时间维度中固定需要年维度)

Image Removed

新建计算列-年月

Image Removed

新建计算列-年月日

Image Removed

步骤二:新建日期层次

Image Removed

步骤三:将计算列年、年月、年月日拖拽至日期层次中

View file
name步骤三.mp4
height250

Image Removed

步骤四:将日期层次下的字段标记为时间层次

Image Removed

步骤五:制作透视分析时,将日期层次中的字段根据需求任意拖拽至表格区域,即可快速时间计算

Image Removed

步骤六:可依据实际情况操作是否隐藏/显示计算列

Image Removed

方式三:修改日期字段数据类型

步骤一:数据模型中引用此表后,可以先对日期字段在表字段属性处做日期类型转换(此处是显示格式,并不会改变数据库的实际类型)

Image Removed

Image Removed

步骤二:类型转换后在数据模型中可以看到原来日期字段格式已经被转换,即可对转换后的字段创建时间层次结构

Image Removed

步骤三:制作透视分析时,将时间维度中的字段根据需求任意拖拽至表格区域,即可快速时间计算

Image Removed

注意:对日期字段显示格式转换后,再拖拽日期字段生成筛选条件时【控件类型】必须使用【日期】

...



2 标记字符串的日期以生成时间维度实现时间计算

适用情况:数据表中“年”、"年月"、”年月日“字段为字符串类型,需要实现前期值等时间计算。

Image Added

警告
title前提条件

1、标记时间层次的功能比较容易用错,比如将仅包含年月是“01”、“02”这样月份数据的字段,标记为年月(MM格式),这种层次在报表上做同期值等时间计算时,会出现没有数据或者不正确的问题。

2、目前模型仅支持标准的时间格式标记为时间层次,要求原始数据必须符合以下格式:

年:yyyy(例如2024)

年季:yyyyQq(例如2024Q1)

年月:yyyy-MM(例如2024-01)

年周:yyyy-Www(例如2024-W20)

年月日:yyyy-MM-dd(例如2024-10-01)

具体操作如下:

1、创建数据模型并导入数据,把年、年月、年月日标记为时间层次

Image Added

2、保存数据模型之后,去创建透视分析,查看 销售量 的前期值,如下图,可以正确查询出来:

Image Added

4 通过字符串日期字段创建时间层次


3 通过字符串日期字段创建时间层次

步骤一:需在数据库制作一张包含所有日期的日期维度表


步骤二:数据模型中将事实表和日期维度表通过日期字段进行关联,达到查询结果中包含date日期类型的字段


步骤三:对日期维表生成时间层次


步骤四:制作透视分析时,将时间维度中的字段根据需求任意拖拽至表格区域,即可快速时间计算