http://blog.programmingsolution.net/ssas-2008/period-dimension-time-dimension-creation-with-year-month-day-hierarchy/

假设我们有一个周期表,其中包含了一些典型周期列,像Period_Key,日,月,年 。

在该表中,我们也典型的期间内的行,如

现在,我们要创建一个时期从它的尺寸。

通常,我们可以创建一个数据源和数据源视图中的分析服务项目。 我不打算在它的细节。 现在我们可以从这一时期表创建维度使用维度向导。

这将启动维度向导。 从现有的表中,我们可以选择创建维度,这是我们的周期表。

由于尺寸的表,我们将选择的周期表。 对于这个尺寸的键列,我们选择PeriodKey的。 显示名称(名称列),我们选择PeriodKey的。

对于维度属性,我们选择了所有四个可用的属性。 我们肯定会在以后配置它们。 现在,我们让他们定期

然后,我们即将完成以下步骤创建期间尺寸。

当我们完成创造我们的尺寸,我们会看到这个窗口。

现在,我们想进入我们自己定制的,现在所提供的向导。 我们将创建层次和另外解决的一些问题,我们创建的层次。

在这个阶段,我们可以处理该维度,它会被成功处理。 但我们要创建的层次结构。 我们希望有一个自然周期的层次,就会像

年 - >月 - >日

可以拖动年度的属性在层次结构板(中间面板)。 然后,我们可以拖动一个月属性,并保持低于去年,同样拖动天属性,并把它在层次结构中低于月。 最后一个层次,应该这个样子。

这里谈到一个有趣的事情。 我们看到一个警告的层次。

警告: 属性关系不存在,在此层次结构中的一个或多个级别之间。 这可能会导致查询性能下降。

现在是什么属性的关系。 在右侧的尺寸结构中,我们可以看到一个标签名为属性的关系。

如果我们点击,我们将看到由向导设置的属性的默认关系。

这意味着数据将被收集的所有属性。 PeriodKey这个尺寸是关键。 因此立方体从底层表数据PeriodKey属性。 那时,若​​有人想要看到的数据,在今年的水平,将汇总数据的PeriodKey会给值。 同样的事情也会发生的月和日。 但我们知道,获得年度电平值,我们做了需要聚集所有的数据在PeriodKey水平。 我们可以很容易地聚合数据月水平,这应该是30倍左右,天级数据少。 因此,这将提高查询的性能。 如果我们需要的总天级的数据年份,这将不会是良好的表现。 这是警告消息提的东西。

因此,我们可以象下面这样设置的关系。 点击上月,将其拖动到新年。 再次点击日,将其拖动到月。

现在,如果我们去维度结构“选项卡,在这里我们首先是,我们将看到警告了。

记住:如果你不设置的属性关系,那么你也将得到正确的值,而是根据你的数据量,它可能会很慢。 有时在其他维度,我们创建的层次,但我们真的不希望设置的属性关系的水平。 我们希望所有级别越来越属性键的数据。 但是,这是一个不同的场景。

现在,我们可以处理的尺寸。 但这里是另一大看点。 处理失败。

它给出了一个重复键错误。 为什么呢?

现在,我们应该寻找到另一件事。 每个属性的属性维度。

点击年度属性,并期待在属性部分。

查看中KeyColumns和NameColumn属性。

KeyColumn成员从底层表的属性。 它会发出不同的查询表的主键列。 返回的行会的成员,这个属性。 name列用于对这些成员的显示值。

年度,我们有键列Period.Year。 因此,它会给我们带来年的成员,通常是,2008年,2009,2010,...

对我们来说,这是确定的。

一个月,我们可以看到以下内容:

用作键列Period.Month。 这看起来不错,但事实并非如此。 如果我们采取不同的月周期表,我们将得到1,2,3,4,........,29,30,31。 但看到月低于去年的层次。 只要我们创建了一个层次,这将涉及作为一个树形结构,其中一年成员将母公司月份成员本月成员年度成员。 一个重要的事情是:一个父成员可以有多个孩子。 但一个孩子成员不能有多个父。 但在我们的例子中,月“1”有一个以上的家长,这是所有年。 所有其他月份相同。 因此,我们需要有多个“1”的成员在一个月的水平,每个人的每一年。 从本质上讲,我们希望有这样的结构

所以,如果发出这样一个明显的周期表上的查询:

选择不同的年,月

从期间

然后,我们会得到这样的:

2008

1

2008

2

2008

3

2009

1

2009

2

2009

3

2010

1

2010

2

2010

3

因此,我们将得到所有的个成员每年复制。 通过这种方式,我们可以消除“一个孩子多个父”的问题。

现在,如果我们改变中KeyColumns本月如下属性,那么我们就可以得到这个实施。

按一下按钮,以打开的KeyColumns设置窗口。

我们将会看到,在右侧面板中只有月。

我们将增加今年列。

单击确定后,我们会看到一个错误消息,在本月属性。

的NameColumn应该被定义,因为有多个的KeyColumns。

很自然的,是不是?

现在下面的KeyColumns,我们可以设置的NameColumn。 我们将设置的NameColumn月。 所以,我们希望在同一个月要生成的多个成员,但应该显示相同,是不是?

现在我们有我们的KeyColumns年“和”月“作为一个集合,和NameColumn月。

这同样的事情,我们应该做的日属性。 中KeyColumns使用年,月,日,日“名称”列中。

现在,我们已经删除了重复键错误,这实际上大多为独生子女,多个父案发生。

处理的维度和维度浏览器中,你可以看到一个很好的时期层次。

创建cube 维度层次的更多相关文章

  1. SSAS系列——【06】多维数据(创建Cube)

    原文:SSAS系列--[06]多维数据(创建Cube) 1.文件类型说明 项目定义文件 (.dwproj).项目用户设置 (.dwproj.user).数据源文件 (.ds).数据源视图文件 (.ds ...

  2. SSAS Cube 维度成员关系Rigid 和 Flexible

    维度成员关系指示成员关系是否随时间而更改.  值为 Rigid 和 Flexible,前者表示成员之间的关系不随时间而更改,后者表示成员之间的关系随时间而更改. 默认值为 Flexible.  指定适 ...

  3. 《BI项目笔记》创建父子维度

    创建步骤: 而ParentOriginID其实就是对应的ParentOriginID,它的 Usage 必须是 Parent 才能表示这样的一个父子维度. 查看OriginID属性, Usage 是 ...

  4. 《BI项目笔记》创建时间维度(1)

    SSAS Date 维度基本上在所有的 Cube 设计过程中都存在,很难见到没有时间维度的 OLAP 数据库.但是根据不同的项目需求, Date 维度的设计可能不大相同,所以在设计时间维度的时候需要搞 ...

  5. 《BI项目笔记》创建时间维度(2)

    创建步骤:   序号 选择的属性 重命名后的名称 属性类别 1 DateKey DateKey 常规 2 Month Key Month Key 月份 3 English Month Name Eng ...

  6. Tensor的创建和维度的查看

    常见的Tensor创建方法 1,基础Tensor函数:torch.Tensor(2,2)32位浮点型 2,指定类型: torch.DoubleTensor(2,2)64位浮点型 3,使用python的 ...

  7. 《BI项目笔记》创建标准维度、维度自定义层次结构

  8. Transform数据权限浅析1之mdl语句批量加载权限

    Cognos建模工具除了Framework之外,还有一个Transform,两者的最大区别就是在于Framework是通过结构直连关系数据库的,数据根据数据仓库的变化而变化,而Transform是生产 ...

  9. 微软BI 之SSAS 系列 - 实现Cube 以及角色扮演维度,度量值格式化和计算成员的创建

    在熟悉完下面这三种维度的创建方式之后,就可以开始创建我们的第一个 Cube 了. SSAS 系列 - 自定义的日期维度设计 SSAS 系列 - 基于雪花模型的维度设计 SSAS系列 - 关于父子维度的 ...

随机推荐

  1. shell(1):网络配置、BATH环境和通配符

    一.临时配置网络(ip,网关,dns) ifconfig查看网络配置 修改ip地址  ifconfig ens33 192.168.255.129/24 ens33网卡名称.192.168.255.1 ...

  2. 代码运行时间 检测锁及死锁详细信息,及sql语句 平台转化

    代码运行时间   System.Diagnostics.Stopwatch stopwatch = new Stopwatch(); stopwatch.Start(); // 开始监视代码运行时间 ...

  3. kubernetes调度之污点(taint)和容忍(toleration)

    系列目录 节点亲和性(affinity),是节点的一种属性,让符合条件的pod亲附于它(倾向于或者硬性要求).污点是一种相反的行为,它会使pod抗拒此节点(即pod调度的时候不被调度到此节点) 污点和 ...

  4. Install Server Backup Manager on CentOS, RHE, and Fedora

    Skip to end of metadata Added by Internal, last edited by Internal on Aug 25, 2014 Go to start of me ...

  5. Spring Boot + Spring Data JPA + PostgreSQL

    最近在用Java重写之前实习生用.netcore写的微信后台应用. 规定用Spring Boot框架,PostgreSQL数据库.之前一直习惯于基于XML的Spring app,也没用过Postgre ...

  6. React_Redux_Router

    一.react_redux 比较好的blog: blog1, blog2, blog3 主要根据前两个blog总结如下: 1. React在组件内部(包括子组件)为单向数据流且自上向下通过props传 ...

  7. php跳转

    header("Location: http://bbs. lampbrother.net"); header("refresh:0;url=./login.php&qu ...

  8. JS中小数如何转化为百分数并能四舍五入

    <script type="text/javascript">//n表示百分数保留的位数 function toPercent(n){ n = n || 2; retu ...

  9. Collection of Boot Sector Formats for ISO 9660 Images

    http://bazaar.launchpad.net/~libburnia-team/libisofs/scdbackup/view/head:/doc/boot_sectors.txt Colle ...

  10. windows下使用DOS命令删除大文件

    首先进入DOS命令窗口: 1.进入到将要删除的目录: 执行命令: rmdir /s/q 文件夹名称 2.删除指定文件: 进入文件的目录下,找到要删除的文件名称+扩展名:例如111.jpg执行命令: d ...