2016-01-13 40 views
1

中獲得一列的平均值,我們有一個名爲MetricsTable表具有列A1組簡單。DAX查詢到同一個表

我們要AvgA1添加計算列這個表,計算列A1的平均通過組值過濾。什麼應該是我們的DAX查詢?重點是我們想要從同一個表內的值中計算平均值。

| id | A1 | Group | AvgA1

| - | --- | --- ------ | ----

| 1 | 20 |組別1 | 20

| 2 | 10 |第2組| 30

| 3 | 50 |第2組| 30

| 4 | 30 |第2組| 30

| 5 | 35 |組3 | 35

問候

回答

1

可能是你應該使用的措施,並把這一措施爲樞軸表的「值」部分:

AverageA1:= 
AVERAGE(Metrics[A1]) 

然後,它會根據在樞軸過濾器和限幅器的選擇更新表格,並在各個維度類別中進行適當分類。

如果嚴格需要在表格中你的問題不一一列舉理由一欄,然後在下面的工作:

AverageA1 = 
CALCULATE(
    AVERAGE(Metrics[A1]) 
    ,ALLEXCEPT(Metrics, Metrics[Group]) 
) 

計算方法()需要一個表達和0-N參數列表修改評估該表達式的過濾器上下文。

ALLEXCEPT()需要一個表格和一個1-N字段的列表來保存上下文。此列定義評估中的當前(行)上下文是該行上每個字段的值。除了在ALLEXCEPT()的參數2-N中指定的那些外,我們從所有字段中除去上下文。因此,我們保留[Group]的行上下文,並計算[Group]與當前上下文中相同的表上的平均值。

+0

謝謝)第二個工作就像一個魅力。我們需要在選定過濾器的平均值的同時查看分組平均值。這就是爲什麼我們不能使用度量解決方案。 – serkanz

+0

您當然可以在度量中看到具有過濾器平均值的組平均值。您可以在度量中使用相同的ALLEXCEPT()。 – greggyb