设为首页
收藏本站
开启辅助访问
切换到窄版
登录
立即注册
首页
Portal
云发课堂
考试中心
知识库
大会员
交流
BBS
帮助中心
搜索
搜索
BIM知识资料库
PBI大会员
房建施工VIP
建筑识图
excel案例分析
bim三维建模
办公软件VIP
商业数据分析师
QQ客服
QQ客服
微信客服
微信扫一扫
本版
文章
帖子
用户
云发教育
»
交流
›
PBI数据处理
›
问答互助
›
如何正确使用DAX中自定义变量函数VAR
1
2
3
4
5
6
7
8
9
10
... 18
/ 18 页
下一页
返回列表
发新帖
[已解决]
如何正确使用DAX中自定义变量函数VAR
[复制链接]
242207
|
178
|
2020-9-25 03:28:03
|
显示全部楼层
|
阅读模式
如图所示,对排名和金额的度量值分别使用自定义函数VAR,发现排名返回的值是错的,而金额返回的值是正确的。
两个DAX中的VAR完全一样,但结果却截然不同?
还请版主和各位大神指教。
谢谢。
10415101857333.zip
(109.62 KB, 下载次数: 0)
2020-9-25 03:28 上传
点击文件名下载附件
回复
使用道具
举报
nasony
|
2020-9-25 03:35:03
|
显示全部楼层
解释不清楚,但有个办法,因为sumx,rankx都是x类函数,他们的计算原则都是一样的,无非表现为不同的值显示方式,所以你将rankx都换成sumx,看看定义变量和不定义变量的区别,顺便把hasone去掉,就更明显了。这是我个人的理解
回复
使用道具
举报
深海
|
2020-9-25 03:42:03
|
显示全部楼层
前阵子我也正好在学习Variable的用法,在此与你分享:
Variable并不是全局的,它的上下文取决于定义的位置,一经计算后便不再改变。有一篇关于Variable的文章是这么写的:
In DAX, variables are calculated within the scope in which they are written, and then the result of them is stored and used in the rest of the expression.
当你把“排名_VAR”拉到透视表里后,在KA列,Rev的筛选上下文(有些书进一步将这种由行/列/切片器进行的筛选成为Query Context)为DimChannel="KA",那么Rev的值也就固定了;在RANKX里,虽然有ALLSELECTED(DimChannel[渠道])提供行上下文,但是Rev并不会受其影响了。
相对的,如果把Rev单独定义为度量值,然后在RANKX中引用,则能返回正确的结果:
Rev := SUM(RawData[销售额])
排名 M:= RANKX(ALLSELECTED(DimChannel[渠道]),[Rev])
PS: 从2楼上老师的回答中也得到了启发,可以使用SUMX来验证该度量值的实际取值。我手头的电脑里是EXCEL2010+PP add-in,打不开你的Data Model,就导入到POWER BI Desktop里,权当巩固复习了。
10415101857334.zip
(38.1 KB, 下载次数: 0)
2020-9-25 03:42 上传
点击文件名下载附件
回复
使用道具
举报
wwolf
|
2020-9-25 03:43:03
|
显示全部楼层
我又仔细再想了一下,就再多啰嗦一句,如果度量值定义为:
排名_Var2:=
RANKX(ALLSELECTED(DimChannel[渠道]),
CALCULATE(
VAR Rev=SUM(RawData[销售额])
RETURN
Rev)
)
定义在CALCULATE里的Rev就可以利用ALLSELECTED(DimChannel[渠道])的行上下文了。(存粹出于学习的目的用这种脱裤子放屁的写法)
回复
使用道具
举报
aleyou
|
2020-9-25 03:51:04
|
显示全部楼层
透彻,一下说明白了,allselect对外部变量没有改变筛选,如果是度量,就可以改变
回复
使用道具
举报
华仑天弩974
|
2020-9-25 03:57:04
|
显示全部楼层
感谢以上两位高人的指点。
猜测自定义变量函数VAR,类似于Earlier函数,具有跳出当前上下文的属性。
回复
使用道具
举报
canape
|
2020-9-25 03:58:04
|
显示全部楼层
我又仔细再想了一下,就再多啰嗦一句,如果度量值定义为:
排名_Var2:=
如图所示,用Calculate(),无法重新恢复上下文筛选,很是奇怪。
回复
使用道具
举报
skykeeper
|
2021-5-18 16:15:27
来自手机
|
显示全部楼层
纯粹路过,没任何兴趣,仅仅是看在老用户份上回复一下
回复
使用道具
举报
深海
|
2021-5-31 21:27:05
来自手机
|
显示全部楼层
我也来顶一下..
回复
使用道具
举报
胡说八道
|
2021-6-14 19:25:47
|
显示全部楼层
支持,赞一个
回复
使用道具
举报
下一页 »
1
2
3
4
5
6
7
8
9
10
... 18
/ 18 页
下一页
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
QQ登录
微信登陆
手机登录
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
浏览过的版块
知识资料
玄衣秀士
10
主题
4
回帖
90
积分
注册会员
注册会员, 积分 90, 距离下一级还需 110 积分
注册会员, 积分 90, 距离下一级还需 110 积分
积分
90
加好友
发消息
回复楼主
返回列表
问答互助
知识资料
图文推荐
PowerPivot与数据透视表初探
2021-02-19
不用VBA,不用SQL语句,且看 POWER QUERY 快速合并多个Excel工..
2021-02-19
2019年个税专项附加扣除信息表数据汇总 获取不同工作簿某...
2020-08-05
如果用PQ拆分不固定行表格
2020-09-25
物料单位换算率格式转换
2020-08-05
热门排行
1
PowerPivot与数据透视表初探
2
快来学习 Power Query 吧,屌爆了的Excel加
3
进一步综合介绍 Power Query 使用方法
4
2019年个税累进算法
5
2019年个税专项附加扣除信息表数据汇总 获
6
BIM族库-电气-电气设备-监控设备
7
不用VBA,不用SQL语句,且看 POWER QUERY
8
新人报到,请多多赐教
9
如果用PQ拆分不固定行表格
10
请问dax是否有vlookup近似匹配公式