Powerbi 获取我根据销售日期支付的成本,并使用度量
我努力完成这项工作,在搜索时筋疲力尽,但找不到它,所以我会在这里碰碰运气 我有两个表,第一个表包含我为产品支付的费用和日期。第二个是我的销售额,包括我销售的产品代码、销售日期和价格 它们看起来像下面的两个: 表A-费用Powerbi 获取我根据销售日期支付的成本,并使用度量,powerbi,dax,Powerbi,Dax,我努力完成这项工作,在搜索时筋疲力尽,但找不到它,所以我会在这里碰碰运气 我有两个表,第一个表包含我为产品支付的费用和日期。第二个是我的销售额,包括我销售的产品代码、销售日期和价格 它们看起来像下面的两个: 表A-费用 CODE DATE COSTPAID A 02/07/2020 $2,50 B 19/07/2020 $12,50 B 10/08/2020 $13,50 A 26/08/2020 $
CODE DATE COSTPAID
A 02/07/2020 $2,50
B 19/07/2020 $12,50
B 10/08/2020 $13,50
A 26/08/2020 $3
表B-销售
CODE DATE PRICESOLD
A 05/07/2020 $5
A 28/08/2020 $5
B 25/07/2020 $25
B 16/08/2020 $25
我希望有一个度量,或一个列,它给出了我根据销售日期支付的最后一次成本,如下面销售表中的示例:
CODE DATE PRICESOLD COSTPAID
A 05/07/2020 $5 $2,5
A 28/08/2020 $5 $3
B 25/07/2020 $25 $12,5
B 16/08/2020 $25 $13,5
我得到的最接近的结果是使用以下代码编写了一个列,但它溢出了:
LASTCOSTPAID =
CALCULATE (
MAX ( COSTS[DATE] ),
FILTER ( COSTS, COSTS[DATE] <= SALES[DATE] && COSTS[CODE] = SALES[CODE] )
)
lastcostpayed=
算计(
最大值(成本[日期]),
筛选(COSTS,COSTS[DATE]您可以从何处接近。您首先需要检索销售前日期的成本日期。找到此lastCostDate后,您可以再次筛选该表
LastCostPaid =
var curCode = Sales[CODE]
var curDate = Sales[DATE]
var lastCostDate = CALCULATE(MAX(Cost[DATE]), FILTER(Cost, curDate >= Cost[DATE] && curCode = Cost[CODE]))
return CALCULATE(SELECTEDVALUE(Cost[COSTPAID]), FILTER(Cost, curCode = Cost[CODE] && lastCostDate = Cost[DATE]))
您发布的代码中的主要问题是,您得到的不是成本,而是日期
若要处理在同一天找到多个价格的情况,我们可以使用MAX来获取当天的最高价格。若要查找最后一天,我们可以使用CALCULATETABLE中的LASTDATE函数来更改筛选竞赛,使其仅包含截至当前销售[日期]的日期。然后,我们还需要对产品代码进行筛选
LASTCOSTPAID =
CALCULATE(
MAX( COSTS[COSTPAID] ),
COSTS[CODE] = SALES[CODE],
CALCULATETABLE(
LASTDATE( COSTS[DATE] ),
COSTS[DATE] <= SALES[DATE]
)
)
lastcostpayed=
算计(
最大值(成本[已支付成本]),
成本[代码]=销售[代码],
可计算(
最后日期(成本[日期]),
成本[日期]这可能有助于: