[英]Power Pivot: Average by group using many-to-many table relationship
我在 Power Pivot 中有三個表。 學生、基線和報告。 Pupils 表通過一對多關系連接到 Reports 和 Baselines 表,如下所示。
報告表中,每個學生針對他們有報告的每個主題多次列出。他們還在基線表中針對他們擁有的每個基線分數多次列出。 我想要完成的是創建一個度量來計算每個主題的平均基線分數。 所以拿所有有數學報告的學生來說,我想知道數學的平均基線分數。
我嘗試了以下措施: Av Baseline:=AVERAGEX( CALCULATETABLE( Baselines, Baselines[Type] = "Overall" ), Baselines[Average] )
但是,當在 pivot 表中使用上述內容時,所有主題都會產生相同的結果,因此未應用過濾器上下文。 我不斷聽到人們使用橋接表,它確實添加了大量數據並且效率不高,所以我希望盡可能避免使用這些表。
我提供了一些示例數據以及所需的 output 表,希望對您有所幫助?
您能否對此進行測試: 注意:我希望您的 Pupils 表有一個名為 [Subject Code] 的列,從您的共享數據中不清楚。
版本 - 1
Av Baseline :=
AVERAGEX (
VALUES ( Pupils[Subject Code] ),
CALCULATE (
SUM ( Baselines[Average] ),
CALCULATETABLE ( Baselines, Baselines[Type] = "Overall" )
)
)
版本 - 2
Av Baseline =
VAR Combin =
SUMMARIZE (
Baselines,
Baselines[Type],
Pupils[Subject Code],
Baselines[Result]
)
VAR Combinfiltered =
FILTER ( Combin, Baselines[Type] = "Overall" )
VAR Result =
CALCULATE ( AVERAGE ( Baselines[Result] ), Combinfiltered )
RETURN
Result
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.