[已解决] 关于日期切片器筛选的问题

  [复制链接]
查看87878 | 回复107 | 2020-9-25 03:59:18 | 显示全部楼层 |阅读模式
想计算各分公司某项业务的活跃情况,数据来源 和 度量值这么写的:
业务渠道总量 = countrows('业务渠道规模')
产生活跃业务渠道数量 = countrows(values('办理量'[手机号]))
活跃率 = divide([产生活跃业务渠道数量],[业务渠道总量],0)

新建日历表,关联好业务渠道规模、办理量两个表里的时间。

这个活跃率如果按日期做折线图,老是显示错误,只有在第一个日期和汇总数据才是正确的。
后来我发现前2个度量值根据日期切片器筛选的时候,只计算当日的,没有从初试日期累计。

看了1天时间函数和all函数,也没搞定这个问题,请教各类大神,我应该怎么写度量值才对啊
回复

使用道具 举报

wahfen | 2020-9-25 04:06:18 | 显示全部楼层
产生活跃业务渠道数量 = calculate(
COUNTROWS(values('办理量'[手机号])),
filter(allselected('办理量'),'办理量'[办理时间.1]<=MAX('办理量'[办理时间.1])))

后来我胡乱试出来这样表达可以,但是不得要领。。希望有大神能提供一些思路
回复

使用道具 举报

ykscan | 2020-9-25 04:12:19 | 显示全部楼层
前阵子花了足足两天把有关Running Total的计算里里外外看了、想了一通,略有心得,在此与你分享。

你的这个问题也可以归入到Running Total的计算中,即:截至到筛选日期为止(日期筛选可以是通过切片器或是透视表的行/列),动态计算某一列的(合计、不重复、最大、最小。。。等)聚合值。

首先推荐一个网站,daxformatter.com,格式化DAX公式,看上去有助于厘清公式的层次。

产生活跃业务渠道数量 =
-- 0: IFC
CALCULATE (
  COUNTROWS ( VALUES ( '办理量'[手机号] ) ), -- 2: Final Evaluation
  FILTER ( ALLSELECTED ( '办理量' ), '办理量'[办理时间.1] <= MAX ( '办理量'[办理时间.1] ) ) -- 1: FC
)

度量值计算的大致过程:
0:由时间切片器及透视表的行/列等,产生一系列出筛选上下文(Initial Filter Context)F0;
1:FILTER函数生成筛选上下文(Filter Context)F1。
此时,如果F1和F0有重合的部分,重合的部分被F1覆盖;否则,取F1&&F0作为估值上下文;
2:计算表达式在步骤1产生的上下文环境中做计算。

这里是DAX界宗师级人物Alberto Ferrari写的Running Total的教学篇,不妨参考一下,
https://www.sqlbi.com/articles/computing-running-totals-in-dax/

PS: 把你的度量值稍微改了一下,
产生活跃业务渠道数量 =
CALCULATE (
  DISTINCTCOUNT ( '办理量'[手机号] ),
  FILTER ( ALL ( '办理量'[办理时间.1] ), '办理量'[办理时间.1] <= MAX ( '办理量'[办理时间.1] ) )
)

ALLSELECTED是个(至少对于我而言)极其难以驾驭的函数,这里无非就是要移除时间切片器对于'办理量'[办理时间.1] 的筛选,直接用ALL好了。
回复

使用道具 举报

蝴蝶刀 | 2020-9-25 04:14:19 | 显示全部楼层
前阵子花了足足两天把有关Running Total的计算里里外外看了、想了一通,略有心得,在此与你分享。

你的 ...


太感谢了!一语道破。
DAX是个非常容易上手,切片器和变量却非常头疼的工具。
想得到一个值容易(表达式),变一变就很容易出错(筛选器)
回复

使用道具 举报

cindeya | 2021-6-18 21:25:57 来自手机 | 显示全部楼层
发发呆,回回帖,工作结束~
回复

使用道具 举报

ylxt | 2021-7-19 14:53:15 | 显示全部楼层
看起来好像不错的样子
回复

使用道具 举报

柯西部长 | 2021-8-6 23:08:39 来自手机 | 显示全部楼层
楼下的接上
回复

使用道具 举报

daodaodor | 2021-8-7 06:06:43 来自手机 | 显示全部楼层
向楼主学习
回复

使用道具 举报

liulangren | 2021-9-10 10:34:20 | 显示全部楼层
我是个凑数的。。。
回复

使用道具 举报

剑心 | 2021-9-20 14:21:31 | 显示全部楼层
沙发???
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则