powerbi计算页面转化率
原文链接:https://segmentfault.com/a/11...
数据样本
参考做法
https://www.bilibili.com/vide...
表工具新建列
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]))
效果
相关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
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。