创建一个新的计算 table 每年都有最高资助类别
create a new calculated table having top funded categories each year
A table 包含 3 列,即 Year、Category 和 Amount,其中 year 和 amount 是一个计算列。
Table 1:
+------+----------+--------+
| Year | Category | amount |
+------+----------+--------+
| 2016 | A | 50 |
| 2017 | B | 85 |
| 2015 | A | 90 |
| 2017 | C | 135 |
| 2016 | C | 55 |
| 2015 | B | 180 |
| 2017 | A | 30 |
| 2016 | B | 45 |
| 2015 | C | 60 |
+------+----------+--------+
现在我需要使用 DAX 创建一个新的 table,其中前 2 行每年的金额最高,即如下给出的输出 table
+------+----------+--------+
| Year | Category | amount |
+------+----------+--------+
| 2015 | B | 180 |
| | A | 90 |
| 2016 | c | 55 |
| | A | 50 |
| 2017 | C | 135 |
| | B | 85 |
+------+----------+--------+
我的 DAX:
New Table = CALCULATE(TOPN(3, 'Table 1', 'Table 1'[Amount],DESC),ALLEXCEPT('Table 1','Table 1'[Year]))
但我遇到了错误。那么有人可以建议我继续使用正确的 DAX 吗?
您可以使用以下 DAX 创建一个 Rank
列:
Rank =
COUNTROWS(
FILTER(
'Table 1',
'Table 1'[Year] = EARLIER('Table 1'[Year]) &&
'Table 1'[Amount] > EARLIER('Table 1'[Amount])
)
) + 1
然后你可以过滤 table 其中 Rank
小于或等于 2.
A table 包含 3 列,即 Year、Category 和 Amount,其中 year 和 amount 是一个计算列。
Table 1:
+------+----------+--------+
| Year | Category | amount |
+------+----------+--------+
| 2016 | A | 50 |
| 2017 | B | 85 |
| 2015 | A | 90 |
| 2017 | C | 135 |
| 2016 | C | 55 |
| 2015 | B | 180 |
| 2017 | A | 30 |
| 2016 | B | 45 |
| 2015 | C | 60 |
+------+----------+--------+
现在我需要使用 DAX 创建一个新的 table,其中前 2 行每年的金额最高,即如下给出的输出 table
+------+----------+--------+
| Year | Category | amount |
+------+----------+--------+
| 2015 | B | 180 |
| | A | 90 |
| 2016 | c | 55 |
| | A | 50 |
| 2017 | C | 135 |
| | B | 85 |
+------+----------+--------+
我的 DAX:
New Table = CALCULATE(TOPN(3, 'Table 1', 'Table 1'[Amount],DESC),ALLEXCEPT('Table 1','Table 1'[Year]))
但我遇到了错误。那么有人可以建议我继续使用正确的 DAX 吗?
您可以使用以下 DAX 创建一个 Rank
列:
Rank =
COUNTROWS(
FILTER(
'Table 1',
'Table 1'[Year] = EARLIER('Table 1'[Year]) &&
'Table 1'[Amount] > EARLIER('Table 1'[Amount])
)
) + 1
然后你可以过滤 table 其中 Rank
小于或等于 2.