sql server 64位导入数据源中没有excel_多表查询汇总中的DAX语言应用

看了标题,可能很多人会心生疑问,比如……

DAX语言是什么?

答:……说来话长,简而言之,DAX,即数据分析表达式语言,是PowerPivot和SQL Server分析服务表格式的语言,具有强悍而高效的数据处理和挖掘能力……

等会,PowerPivot又是什么?

答:准确的说,我们这里聊的是PowerPivot for Excel,所以,我们这里说PowerPivot是Excel的一个加载项,它可以实施一个快速而强大的内存数据库,可以集成来自不同数据源的数据,通过在数据之间建立关系来构建数据模型,而且它取消 Excel 中的行和列限制,可以处理千万条数据不费吹灰之力……

听不懂…………真听不懂……

打个响指,不懂就不懂吧,概念的东西心里过一下有个大概也就行了。

言归正传,我们今天聊DAX语言在Excel列表中的查询应用,外甥打灯笼——照舅,还是用栗子来说事。

假设我们现在有两份工作簿,一份名为【数据源】,一份名为【我的分析】;

其中【数据源】工作簿的【销售表】中存放了如下图所示的数据,我们需要在【我的分析】工作簿中对其进行计算处理。

205362582_1_20201024075027944

我们知道Excel函数在处理跨工作簿数据时有很大的局限性,当被引用数据所在的工作簿关闭时,除了部分引用类函数,很难从中取值,更不用说进一步的数据处理与分析了,所以这个问题并不适合采用函数处理。

你可以使用SQL,或者VBA,再或者DAX。前两者的方法我们多少分享过,DAX近乎绝迹,今就分享下DAX的常用数据查询语句。

第1步,获取外部数据。

首先,打开【我的分析】工作簿,单击【数据】选项卡下的【现有连接】,再弹出的对话框中选择【浏览更多】,如下图所示:

205362582_2_2020102407502822

寻找到目标工作簿(数据源),选取目标表格后(销售表),单击【确定】按钮,在弹出的【导入数据】对话框中,勾选【将此数据添加到数据模型】。

【数据的放置位置】设置为现有工作表的A1单元格。单击【确定】按钮,销售表的数据将会完全读入到当前工作表中,并以“列表”的形式存在。

205362582_3_20201024075028100

第2步,编辑DAX语言

右键单击数据列表的任意单元格,在弹出的右键快捷菜单中,依次单击【表格】→【编辑DAX】

205362582_4_20201024075028163

在弹出的【编辑DAX】对话框中,命令类型选择【DAX】,即可根据实际数据分析需求,编辑DAX语言。

205362582_5_20201024075028210

常用DAX查询语句如下:

(1) 字段选取。假设我们只需要获取【销售表】的“产品”和“数量”两个字段的数据。

EVALUATE

SUMMARIZE('销售表',[产品],[数量])

205362582_6_20201024075028272

(2) 条件查询。假设我们只需产品名为“大花”的销售记录。

EVALUATE

FILTER('销售表',[产品]='大花')

205362582_7_20201024075028303

(3) 汇总求和。假设我们需要获取每件商品的销售总数量。

EVALUATE

SUMMARIZE('销售表',[产品],'总数量',SUM('销售表'[数量]))

205362582_8_20201024075028397

(4) 条件求和。假设我们只需要获取“祝洪忠”的销售总数量。

EVALUATE

SUMMARIZE(FILTER('销售表',[产品]='祝洪忠' ),[产品],'总数量',SUM('销售表'[数量]))

205362582_9_20201024075028428

(5) 汇总计数。假设我们需要获取每件商品的销售总次数。

EVALUATE

SUMMARIZE('销售表',[产品],'总次数',COUNTROWS('销售表'))

205362582_10_20201024075028460

(6) 条件计数。假设我们只需要获取“看见星光”的销售总次数。

EVALUATE

SUMMARIZE(FILTER('销售表',[产品]='看见星光' ),[产品],'总次数',COUNTROWS('销售表'))

205362582_11_20201024075028491

(7) 名次查询。假设我们只需要获取销售总额前三名的数据,并按降序排列。

EVALUATE

SUMMARIZE(TOPN(3,'销售表',CALCULATE(SUM('销售表'[总价]))),[产品],[总价]) ORDER BY [总价] DESC

205362582_12_20201024075028538

(8) 去重查询。假设我们只需要提取去重复的产品名称。

EVALUATE

SUMMARIZE('销售表',[产品])

205362582_13_20201024075028569

未完,待补,下次再聊。

嗯,我们下次聊DAX语言在POWERPIVOT数据建模和分析中的常用语句,哈哈,别紧脏。

拱手再见,祝安康,祝凉爽。

图文制作:看见星光

  • 0
    点赞
  • 0
    收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:游动-白 设计师:我叫白小胖 返回首页
评论
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值