簡體   English   中英

Power Pivot:使用多對多表關系按組平均

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM