我有3个表:table1:
Category
--------
1
2
3
4
表2:
Branch | Category
------------------
A1 | 1
A2 | 1
A3 | 2
A4 | 3
A5 | 4
A6 | 4
A7 | 4
table3:值
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的矩阵,它看起来像这样:
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
有没有可能的方法呢? 提前致谢 埃利亚斯
您可以通过向Value表添加Category列来执行此操作:
Category = RELATED(Branch[Category])
然后添加AgeragePerCategory列:
AgeravePerCategory = CALCULATE(AVERAGE('Values'[Value]);FILTER('Values'; 'Values'[Category] = EARLIER('Values'[Category])))
谢谢你的回答。为了解决这个问题,我必须在Date中添加一个额外的过滤器,因为无论日期如何,它都会平均所有值。所以AveragePerCategory看起来像:
AveragePerCategory = CALCULATE(AVERAGE('Values'[Value]);FILTER('Values'; 'Values'[Category] = EARLIER('Values'[Category]) && 'Values'[Date] = EARLIER('Values'[Date])))