敏捷学习|DAX实际应用场景(一):时间分布

很多人刚开始接触DAX的时候都有一个疑惑:为什么搜集了所有精品学习资料,看遍了所有函数的语法,可还是下不了手?不知道如何使用DAX。

究其原因,关键是没有将DAX语言放到实际的应用场景中,无法做到学以致用,,就像我们学习了多年的英语,可依然开不了口。今天,小姐姐就通过一些实际项目需求中总结下来比较常见的应用场景,每节动手时间大概在10分钟左右,帮助大家敏捷学习DAX,举一反三,迅速上手。

学习之前先要做好数据准备哦

(我们的教程是以微软官方示例数据库AdventureWorksDW2016为基础,大家可以从文章最后下载)

首先我们从最简单的开始吧~

有什么数据

我们有一张销售订单表,表中有销售订单日期、订单编号、产品、客户等信息

需求是什么

通过分析订单的下单时间分布,获取下单的高峰期或者淡旺季信息

快速分析

要获取下单时间分布,我们可以通过订单数量和订单金额这两个指标来体现分析。示例中的销售订单是有多个行明细的订单,所以我们需要对订单编号做去重计数处理获取到订单数量。

在DAX中,去重计数可以使用DISTINCTCOUNT(),这个函数会返回非重复的数目,包括空值。

求和可以使用SUM()(当然,还可以使用SUMX,后面我会细讲他们的区别)

动动小手

在空表下面创建度量值(敲黑板:建议度量值统一创建在一个空表里,方便查询)

DistinctCount = DISTINCTCOUNT('FactInternetSales'[SalesOrderNumber])

SalesAmount = SUM('FactInternetSales'[SalesAmount])

搞定!这样我们就可以获取到我想要的信息了

分析结论

从上图我们可以看到上半年是销售旺季,尤其年中6月会达到一个高峰值,这样便于我们有效分配资源。

是不是很简单呢?小姐姐会逐步提高难度,提高大家的学习效率,做到真正学以致用~

附录:

数据库下载地址:https://www.microsoft.com/en-us/download/details.aspx?id=49502

你可能感兴趣的:(敏捷学习|DAX实际应用场景(一):时间分布)