我有3张桌子: 表1:
Category
--------
1
2
3
4
表2:
Branch | Category
------------------
A1 | 1
A2 | 1
A3 | 2
A4 | 3
A5 | 4
A6 | 4
A7 | 4
表3:值
Date | Branch | Value
---------------------------
1/1/2019 | A1 | 35
1/1/2019 | A2 | 40
1/1/2019 | A4 | 62
1/1/2019 | A5 | 10
1/1/2019 | A6 | 20
1/1/2019 | A7 | 35
表连接为: 分类-> ---分支 和 分支->-值
我正在尝试将每个分支的值与所属类别的平均值进行比较。如果“分支”的值低于“类别”的平均值,则表示是好的,否则是不好的。
如果我创建一个带有分支,值和类别平均值的矩阵 看起来像这样:
Branch | Value | Category Average
-------------------------------------
A1 | 35 | 35
A2 | 40 | 40
A4 | 62 | 62
A5 | 10 | 10
A6 | 20 | 20
A7 | 35 | 35
BranchAVG = AVERAGE(Table3[Value])
CategoryAVG = AVERAGEX(VALUES(Categories[Category]);[BranchAVG])
但是它应该看起来像这样:
Branch | Value | Category Average | Good/Bad
------------------------------------------------
A1 | 35 | 37.5 | Good
A2 | 40 | 37.5 | Bad
A4 | 62 | 62.0 | Good
A5 | 10 | 21.7 | Good
A6 | 20 | 21.7 | Good
A7 | 35 | 21.7 | Bad
有没有办法做到这一点?
预先感谢
埃里亚斯
答案 0 :(得分:0)
您可以通过在“值”表中添加“类别”列来完成此操作:
Category = RELATED(Branch[Category])
并在此之后添加AgeragePerCategory列:
AgeravePerCategory = CALCULATE(AVERAGE('Values'[Value]);FILTER('Values'; 'Values'[Category] = EARLIER('Values'[Category])))
答案 1 :(得分:0)
感谢您的回答。 为了解决这个问题,我必须向Date添加一个额外的过滤器,因为它会将所有值取平均值,而不考虑日期。 因此,AveragePerCategory看起来像:
AveragePerCategory = CALCULATE(AVERAGE('Values'[Value]);FILTER('Values'; 'Values'[Category] = EARLIER('Values'[Category]) && 'Values'[Date] = EARLIER('Values'[Date])))