powerbi计算页面转化率
原文链接:https://segmentfault.com/a/11...

数据样本
image.png

参考做法
https://www.bilibili.com/vide...

表工具新建列
image.png

previous_volume2 = 
var previous_date = 
CALCULATE(
    MAX('data'[页面]),
    FILTER(ALL(data),data[页面]<EARLIER(data[页面])&&'data'[日期]=EARLIER(data[日期]))
)
var previous_volume=CALCULATE(sum(data[值]),FILTER('data','data'[页面]=previous_date&&'data'[日期]=EARLIER(data[日期])))
return previous_volume
转化率 = DIVIDE(sum('data'[值]),sum(data[previous_volume2]))

效果
image.png

相关DAX函数
https://docs.microsoft.com/zh...

函数    说明
ALL    返回表中的所有行或列中的所有值,同时忽略可能已应用的任何筛选器。
ALLCROSSFILTERED    清除应用于表的所有筛选器。
ALLEXCEPT    删除表中所有上下文筛选器,已应用于指定列的筛选器除外。
ALLNOBLANKROW    从关系的父表中,返回除空白行之外的所有行或列的所有非重复值,并且忽略可能存在的所有上下文筛选器。
ALLSELECTED    删除当前查询的列和行中的上下文筛选器,同时保留所有其他上下文筛选器或显式筛选器。
CALCULATE    在已修改的筛选器上下文中计算表达式。
CALCULATETABLE    在已修改的筛选器上下文中计算表表达式。
EARLIER    返回所述列的外部计算传递中指定列的当前值。
EARLIEST    返回指定列的外部计算传递中指定列的当前值。
FILTER    返回一个表,用于表示另一个表或表达式的子集。
KEEPFILTERS    计算 CALCULATE 或 CALCULATETABLE 函数时,修改应用筛选器的方式。
LOOKUPVALUE    返回满足搜索条件所指定的所有条件的行的值。 函数可以应用一个或多个搜索条件。
REMOVEFILTERS    清除指定表或列中的筛选器。
SELECTEDVALUE    如果筛选 columnName 的上下文后仅剩下一个非重复值,则返回该值。 否则,返回 alternateResult。

原文链接:https://segmentfault.com/a/11...

一种度量值的方式受切片器影响

previous_volume5 = 
var previous_date = 
CALCULATE(
    MAX('data'[页面]),
    FILTER(ALLSELECTED(data),data[页面]<max(data[页面])&&data[日期]=max(data[日期]))
)
var previous_volume=CALCULATE(sum(data[值]),'data'[页面]=previous_date)
return previous_volume

采用新建度量值而不是新建列,一种受自定义排序字段影响的方法

previous_volume8 = 
var a = MAX(data[页面])
var b = CALCULATE(max('排序表'[sord_id]),calculatetable('data',data[页面]=a,all()),all())
var previous_date = 
CALCULATE(
    MAX('data'[页面]),
    FILTER(ALLSELECTED(data),related('排序表'[sord_id])<b&&data[日期]=max(data[日期]))
)
var previous_volume=CALCULATE(sum(data[值]),FILTER(ALLSELECTED(data),related('排序表'[sord_id])<b&&'data'[页面]=previous_date&&data[日期]=max(data[日期])))
return previous_volume

s8fh26h3
18 声望1 粉丝