小勤:这是什么鬼啊?就加两个计算列,怎么就出现”循环依赖关系“了?
大海:你这是要用Calculate函数添加计算列?前面添加的列里面是不是也用了Calculate函数?
小勤:对啊。前面还有个简单的公式:
大海:多个计算列里用Calculate函数,就很容易产生“循环依赖关系”问题了。
小勤:为什么呢?我的新的计算列里又没去引用前面加那个计算列,前面那个计算列更不可能引用现在新加这个计算列啊。
大海:但是,你想一下,Calculate函数将行上下文转换为筛选上下文,这个转换会对表中非当前列的所有其他列都进行转换,也就是说,所有其他列的筛选(内容)都会构成对本计算列的影响,那当有2个计算列时,每个计算列都被转换,自然也就会对对方构成影响——相当于互相形成筛选,不就形成“循环依赖关系”了?
小勤:好像也是哦。我的计算要受到你当前行的内容(筛选结果)的影响,你的计算又会受到我当前行的内容的影响……
大海:当然,以上其实只是一个相对简单的情况,关于循环依赖关系的问题及其处理其实是比较复杂的,在日常工作中关键是要记住,在添加计算列时,尽量避免使用Calculate函数,就能减少绝大多数的循环依赖关系问题。
小勤:嗯。好的。
本文分享自 Excel到PowerBI 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!