【问题标题】:PowerBI join table and calculationPowerBI 连接表和计算
【发布时间】:2020-10-07 22:16:47
【问题描述】:

我有两张桌子: 表一

Year Name Score
2010 A    1000
2011 A    1200
2012 A    1200
2013 A    1300
2010 B    1100
2011 B    1500
2012 B    1300
2013 B    1600

表 2

Year Factor
2010 3.57
2011 4.21
2012 6.11
2013 2.15

我想这样做:匹配两个表,只要表1中的年份匹配表2中的年份,将分数除以因子,例如对于A 中的2010, 1000/3.57;对于B2010,1100/3.57

如何修改下面的代码?

adjusted score  = 
VAR
filter (all('Table 1'[Year]), 'Table 1'[Year]='Table 2'[Year])
RETURN
DIVIDE ('Table 1' [Score], 'Table 2'[Factor')

非常感谢!

【问题讨论】:

  • 什么是“调整后的分数”?这是一个措施吗?还是专栏?
  • 这只是度量的名称。谢谢!

标签: powerbi match calculation


【解决方案1】:

如果你正在寻找一个度量,你可以试试下面的代码-

adjusted score = 

VAR current_row_year = MIN('Table 1'[Year])
VAR current_row_Score = MIN('Table 1'[Score])

VAR factor =
CALCULATE(
    MAX('Table 2'[Factor'),
    filter (
        all('Table 2'), 
        'Table 2'[Year]= current_row_year
    )
) 

RETURN DIVIDE (current_row_Score, factor)

自定义列的代码如下-

adjusted score = 

VAR current_row_year = 'Table 1'[Year]
VAR current_row_Score = 'Table 1'[Score]

VAR factor =
CALCULATE(
    MAX('Table 2'[Factor'),
    filter (
        all('Table 2'), 
        'Table 2'[Year]= current_row_year
    )
) 

RETURN DIVIDE (current_row_Score, factor)

您也可以使用 Power 查询进行转换。在这种情况下,您只需使用 Year 合并表 1 和 2,然后在展开表后,您将在 Year 的每一行中都有 Factor。然后,您可以添加一个新的自定义列 - 分数/因子

【讨论】:

    猜你喜欢
    • 2020-06-29
    • 2021-07-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多