这篇Blog主要介绍下通过Concatenation(串联) 事实表来避免loops 和 synthetic keys:
Qlikview里的建模通常都是是很简单的。通常我们只要重新命名一些子段的名字来防止或者建立表之间的自动关联。
但是有时候我们只是通过简单的重命名是解决不了问题的。例如我们有多个事实表和其他的表有多个关联,这样通常会产生可怕的
synthetic key,更可怕的是会产生data loop(闭环).Qlikview的data modeling千万不能有data loop。
要建立一个好的数据模型在Qlikview里是和通常的关系型数据库建模是有很大的区别的。用QLIKVIEW进行建立模型和维度模型很相似。根据数据的复杂性,有时候需要用混合型的建模方法。当然QLIKVIEW是很支持此类建模的。
今天我们来一起见证下Qlikview是如何处理这类复杂的关联的。

Concatenation of fact tables to avoid loops and synthetic keys

下面是一个例子 :

Store:
Load * Inline [
StoreID, StoreName
1, Store A
2, Store B
];

Calendar:
Load MonthID As DateID, Month Inline [
MonthID, Month
1, Jan
2, Feb
];

Product:
Load * Inline [
ProductID, Product
1, Product A
2, Product B
];

Sales:
LOAD * INLINE [
DateID, StoreID, ProductID, SaleQty, SaleValue
1, 1, 1, 2, 23
1, 1, 2, 4, 24
2, 1, 1, 4, 33
2, 1, 2, 3, 28
1, 2, 1, 2, 21
1, 2, 2, 4, 30
2, 2, 1, 3, 25
];

Waste:
LOAD * INLINE [
DateID, StoreID, ProductID, WasteQty, WasteValue
1, 1, 1, 1, 10
2, 1, 2, 1, 9
1, 2, 2, 2, 17
2, 2, 2, 1, 8
];

从下面的数据模型架构可以看出qlikview为我们自动产生了一个 synthetic key.从下面的图可以看出Sales和Waste共享同样的key set(StoreID,DateID,ProductID). 这种情况我们就可以通过concatenate去消除此key set.

修改waste表的加载方式如下:

//Waste:
Concatenate (Sales)
LOAD * INLINE [
DateID, StoreID, ProductID, WasteQty, WasteValue
1, 1, 1, 1, 10
2, 1, 2, 1, 9
1, 2, 2, 2, 17
2, 2, 2, 1, 8
];

Reload  the Script

重新查看试图查看器:

这个时候synthetic key消失了。

这个时候Sales表里包含了两个表的信息,但是他们是在不同的行。

注意:

1,当两个事实表共享同样的相同个数的(key set)键集合的时候,concatenation应该是首选方案去避免qlikview自动的创建synthetic key.

2,concatenate 相当于把两个小表合并成一个大表,此大表包含2个表的所有子段列,和所有的行信息。同时做了横向和纵向的扩展。

3,QIikview 在做计算的时候是直接忽略null值的。即在qlikview的表达式里存在NULL的行做运算的时候,qlikview直接忽略它,其他的非NULL的值可以做运算。但是在SQL SERVER里如果有NULLL的参与运算的时候,结果肯定是NULL。





Qlikview Data Modeling---Concatenation相关推荐

  1. SAP MDG —— 数据建模 Data Modeling

    MDG 数据模型 Data Modeling SAP MDG包含以下三大块数据模型: 物料主数据(Material Master) 业务合作伙伴(BP),客户(Customer)和供应商(Suppli ...

  2. Data Modeling Technologies - ER, IE, Barker, IDEF1X, EXPRES-G, ORM

    https://www.cnblogs.com/RicCC/archive/2010/09/13/Data-Modeling-Technologies.html Entity Relationship ...

  3. 数据建模(Data Modeling)是什么?

    声明:译自博客<What is Data Modelling? Conceptual, Logical, & Physical Data Models> 什么是数据建模? 数据建模 ...

  4. Qlikview Data Modeling---创建一个Key/Link Table

    这一篇我们将来学习下在什么情况下需要在QlikView里创建一个Key或者Link Table来避免事实表loops 和 qlikview自动产生synthetic keys.当两个事实表共享同样 ...

  5. MySQL Workbench之Data Modeling

    建立ER模型 Date Modeling下点击Create New EER Model. 新建Schema,再点击Add Diagram. 3.点击左侧表格图标,在右边空白处点击,出现Table,双击 ...

  6. 合并与拆分数据模型(MSDM:Merging Spliting Data Modeling)

    [@more@] MSDM只要针对的是多地区,多维度,跨时区的操作,特别是零售和制造行业,不同地区存在不同的ERP系统和其他同类型不同操作的系统.很多大型的业务系统,有很多的定时进程是在晚上运行,比如 ...

  7. DS/ML:《Top 19 Skills You Need to Know in 2023 to Be a Data Scientist,2023年成为数据科学家需要掌握的19项技能》翻译与解读

    DS/ML:<Top 19 Skills You Need to Know in 2023 to Be a Data Scientist,2023年成为数据科学家需要掌握的19项技能>翻译 ...

  8. Enhanced ABAP Development with Core Data Services (CDS)

    Enhanced ABAP Development with Core Data Services (CDS) How CDS Brings a Modern Data Modeling Approa ...

  9. Core Data 编程指南

    一.技术概览 1. Core Data 功能初窥 对于处理诸如对象生命周期管理.对象图管理等日常任务,Core Data框架提供了广泛且自动化的解决方案.它有以下特性. (注:对象图-Object g ...

最新文章

  1. 对象存储、块存储、文件存储的区别
  2. 主成分与因子分析异同_因子分析
  3. Qtcreator 之中文目录
  4. layui登录页面写入数据_layui 页面保存数据
  5. 模板技巧之:费用科目条件过滤
  6. Windows 10怎么了?
  7. 如何使用Greg Mori的Superpixel MATLAB代码
  8. adb冲突 傲软_ubuntu下安装adb工具集与android-tools-adb产生冲突的问题
  9. FutureTask源码解析(2)——深入理解FutureTask
  10. Dreamweaver文字或图片如何添加空链接代码
  11. Unable to instantiate service com.baidu.android.pushservice.PushService: java.lang.ClassNotFoundExc
  12. AndroidStudio的强大搜索功能介绍!全局搜索、搜索文件、搜索类、搜索文本、搜索一切
  13. 用c语言做个报数游戏和验证码系统
  14. rsync命令以及xsync封装
  15. 解决lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 网络连接不通
  16. MATLAB实现控制系统的根轨迹分析
  17. ☆★☆★快来!!10月25日读者见面会☆★☆★
  18. 经典时间片轮转RR算法C语言实现
  19. booth乘法器的原理与verilog实现
  20. 工程技术专业的数字化转型促进技术创新

热门文章

  1. java 压缩jar_Java基础之实现解压和压缩jar、zip、rar等源码分享
  2. 软件测试:接口测试流程
  3. 七夕情人节送女朋友什么礼物?七夕情人节礼物推荐
  4. 新做的网络电视播放器,欢迎试用
  5. 云服务器一般用什么系统,云服务器用什么系统好
  6. java web solr_java:solr
  7. 微信小程序转二维码两种方法
  8. STM32寄存器ODR,BSRR和BRR
  9. 向来回首萧瑟处,也无风雨也无晴
  10. 关于 CC BY-SA 4.0