PowerBI 和 MAX 用于乘法值?

PowerBI and MAX for Multiplying Values?

log1    
date    cost
15-May  10
18-May  15
17-May  12
    
    
log2    
date    cost
15-May  1
16-May  3
18-May  2

我想做的是创建一个“当前成本”度量,方法是根据 log1 中的日期(5 月 18 日和 15 美元)查找最新成本值,然后将其乘以 log2 中的最新成本(5 月 18 日)和 2).然后我想将该度量值放在一个带有日期的简单条形图中,在此示例中为 5 月 18 日和 30 美元。

我玩过 MAX,但似乎无法解决这个问题。帮忙?

谢谢!

我认为这类似于 Multiply columns based on the Year and Month 但不确定。

如果您 table 真的那么简单,您可以使用名为 lookupvalue 的 dax 函数 它类似于excel中的vlookup,您可以根据日期

查找费用

所以在这个例子中它会被添加到 log2 table

Amount = 'log2'[cost] * LOOKUPVALUE('log1'[cost],'log1'[date],'log2'[date])

https://docs.microsoft.com/en-us/dax/lookupvalue-function-dax

如果日期的列之间存在关系,您可以使用 Related() 函数

你需要什么样的输出?

Measure = 
var maxLog1 = CALCULATE( MAX(Log1[date]), REMOVEFILTERS(Log1[date]))
var maxlog2 = CALCULATE( MAX(log2[date]), REMOVEFILTERS(Log2[date]))

var result = CALCULATE( MAX(Log1[cost]), Log1[date] = maxLog1) * CALCULATE(MAX(log2[cost]), log2[date] = maxlog2)
return
result

这是一个替代解决方案,假设如下:

  • 每个日志中每天有唯一的 cost table
  • 没有空的缺失日期,尽管它不会破坏计算。
  • Calendar Table 存储日期。

数据模型

日历Table:计算

Calendar =
CALENDAR (
    MIN ( MIN ( log1[date] ), MIN ( log2[date] ) ),
    MAX ( MAX ( log1[date] ), MAX ( log2[date] ) )
)

计算:测量

此计算取决于使用 Calendar[Date] 作为视觉效果的中心 Date 值。

Cost = sum(log1[cost])*sum(log2[cost])

输出 1

或者,如果您想要创建独立于将日期作为视觉对象一部分的计算并检索正确的总数。

CostSumx = 
sumx('Calendar',RELATED('log1'[cost])*RELATED(log2[cost]))

这意味着您需要将您的关系更改为 1:1 和 BOTH

输出 2

Tables

log1

date cost
15 May 2021 20
16 May 2021 30
17 May 2021 40

log2

date cost
15 May 2021 1
16 May 2021 2
17 May 2021 3