【问题标题】:PowerBI and MAX for Multiplying Values?PowerBI 和 MAX 乘积?
【发布时间】:2021-05-19 11:45:58
【问题描述】:
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,但不确定。

【问题讨论】:

  • 您想仅显示 5 月 18 日的数据吗?还是所有的日期组合?当您没有匹配的日期时会发生什么?即一个表中缺少日期,但另一个表中没有。
  • @AngeloCanepa 所有日期组合。如果有日期匹配,则“所有内容”可以为空。然而,不应该有日期不匹配。谢谢。

标签: powerbi powerbi-desktop


【解决方案1】:

你需要什么样的输出?

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

【讨论】:

    【解决方案2】:

    如果你的表格真的这么简单,你可以使用名为lookupvalue的dax函数 它类似于excel中的vlookup,您可以根据日期查找成本

    所以在这个例子中,它将被添加到 log2 表中

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

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

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

    【讨论】:

    • 这不会产生错误,但不会产生我期望的乘法。谢谢。
    • 我已经修改了答案,这样它也会为您乘以 log2 成本,而不仅仅是将 log1 成本放在桌子上
    【解决方案3】:

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

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

    数据模型

    日历表:计算

    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

    表格

    日志1

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

    日志2

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

    【讨论】:

    • 我无法重构整个数据环境。 Azure Functions 正在将数据注入 Cosmos DB,因此在这种情况下完全改变平台的努力程度是不可能的。选择 PowerBI 是因为它可以抽象出数据并处理表示。谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多