惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

D
Darknet – Hacking Tools, Hacker News & Cyber Security
V
Vulnerabilities – Threatpost
Cloudbric
Cloudbric
G
GRAHAM CLULEY
S
Securelist
Schneier on Security
Schneier on Security
Help Net Security
Help Net Security
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
Project Zero
Project Zero
Spread Privacy
Spread Privacy
P
Privacy International News Feed
C
Cyber Attacks, Cyber Crime and Cyber Security
Cisco Talos Blog
Cisco Talos Blog
T
Tailwind CSS Blog
博客园_首页
有赞技术团队
有赞技术团队
Simon Willison's Weblog
Simon Willison's Weblog
Stack Overflow Blog
Stack Overflow Blog
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
Latest news
Latest news
T
Tor Project blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Attack and Defense Labs
Attack and Defense Labs
www.infosecurity-magazine.com
www.infosecurity-magazine.com
O
OpenAI News
J
Java Code Geeks
T
Tenable Blog
K
Kaspersky official blog
AWS News Blog
AWS News Blog
S
Security @ Cisco Blogs
The GitHub Blog
The GitHub Blog
T
Threatpost
月光博客
月光博客
H
Heimdal Security Blog
Security Latest
Security Latest
The Hacker News
The Hacker News
Y
Y Combinator Blog
A
Arctic Wolf
Apple Machine Learning Research
Apple Machine Learning Research
C
Cisco Blogs
美团技术团队
Microsoft Security Blog
Microsoft Security Blog
Hugging Face - Blog
Hugging Face - Blog
T
The Blog of Author Tim Ferriss
C
CERT Recently Published Vulnerability Notes
D
Docker
Google Online Security Blog
Google Online Security Blog
D
DataBreaches.Net
V
Visual Studio Blog
H
Help Net Security

Power BI – Ed_'s Blog

Power BI 由于缺少事实数据,X轴日期不连续 – yywr's Blog Power BI里DAX上下文转换到底是怎么转换的 – yywr's Blog 中国式报表学习解析-多级表头&自定义小计 – yywr's Blog 中国式一页纸矩阵表报告制作解析 – yywr's Blog NPS模型Power BI报表解析记录 – yywr's Blog PowerBI中DAX语言的上下文是什么 – yywr's Blog [初接触] DAX 中的行上下文与EARLIER() 函数 – yywr's Blog
数据模型初探 – yywr's Blog
yywr · 2019-03-01 · via Power BI – Ed_'s Blog

#01 事实表&维度表

事实表:实际发生的事实,比如交易记录
维度表:丰富事实表的观察维,比如产品属性、客户属性

#02 关系

可以理解为自动化的vlookup(),一般情况下,源表为事实表,相关表为维度表。
表关系通过源表的外键和相关表的主键相关联。

#03 数据模型

彼此间存在关系的一组表格是一个数据模型

#04规范化与反规范化

反规范化设计表格

从用户角度出发,一个产品有那么多的属性,放在一张表中是理所当然的事情

规范化设计表格

从技术人员出发,将属性值单独用表存放,使用外键与主键来关联表,是合理的选择,可以减少数据冗余

实际在PBI应用当中,要根据情况适当反规范化,减少表格,减少数据模型的复杂程度

#05 一对多

在一对多关系中其中“一”端的主键要求每一行都独一无二。
例如:交易表和产品表,产品表中的主键一定是只有一个(比如产品编号)

#06 行上下文&关系

对行数据做操作时,DAX中行上下文不会自动沿关系传递到另一张表中,需要用到两个有用的的函数:RELATED / RELATEDTABLE

RELATED()

在一对多关系中,可以从“多”端访问到“一”端,即从实事表向维度表进行查询,如果“一”端没有匹配,返回空值

使用RELATED可以对数据表反规范化操作,扩展事实表的数据,并将不再使用的维度表从数据模型中隐藏掉,以简化模型。

例:=FactSales[UnitPrice] – DimProduct[ListPrice]

上面的方法无效,因为这是两张表,当前行上下文不会自动沿关系传递到另一张表中,这时需要用RELATED 沿着模型关系,查询当前表的行上下文关联的“一”端DimProduct表中ListPrice对应的值

=FactSales[UnitPrice] – RELATED (DimProduct[ListPrice])

RELATEDTABLE()

如果是从“一”端访问“多”端,就需要用到RELATEDTABLE(),会根据关系,返回一个表(因为从一端查询多端,得到的结果一般有多行)

例:=COUNTROWS( RELATEDTABLE(DimProduct) )

本列中RELATEDTABLE 将返回“一”端主键值对应的“多”端的行,作为一个“表“返
COUNTROWS将对“表”的行数进行计数

RELATED 和 RELATEDTABLE 可以沿着模型中的关系一层层传递,不仅仅只有一层,前提是该关系链的类型(即一对多或多对一)和方向相同

#07 筛选上下文 & 关系

DAX语言筛选在模型中的传递

筛选上下文会自动与关系相互作用,即当我们在报表中进行筛选时,所做出的筛选会沿着模型关系进行传递,当然,这种传递依旧受关系类型与方向的影响。

筛选上下文只能是从“一”端自动传递到“多”端,无法从“多”端传递到“一”端,与多少层关系无关。

当我们从产品表中筛选一个产品时,该筛选可以传递到对应“多”端的销售明细表中,但是反过来,从“多”端的销售明细表中,无法筛选产品表