Powerbi 选择每类功率BI/DAX最大值的行

Powerbi 选择每类功率BI/DAX最大值的行,powerbi,ssas,dax,Powerbi,Ssas,Dax,如何在DAX/SSAS中选择每个类别具有最大值的行?假设我们有一张桌子: +----------+-------+------------+ |类别|价值|日期| +----------+-------+------------+ |苹果| 1 | 2018-07-01| |苹果| 2 | 2018-07-02| |苹果| 3 | 2018-07-03| |香蕉| 7 | 2018-07-04| |香蕉| 8 | 2018-07-05| |香蕉| 9 | 2018-07-06| +-------

如何在DAX/SSAS中选择每个类别具有最大值的行?假设我们有一张桌子:

+----------+-------+------------+

|类别|价值|日期|

+----------+-------+------------+

|苹果| 1 | 2018-07-01|

|苹果| 2 | 2018-07-02|

|苹果| 3 | 2018-07-03|

|香蕉| 7 | 2018-07-04|

|香蕉| 8 | 2018-07-05|

|香蕉| 9 | 2018-07-06|

+----------+-------+------------+

预期的结果是:

+----------+-------+------------+

|类别|价值|日期|

+----------+-------+------------+

|苹果| 3 | 2018-07-03|

|香蕉| 9 | 2018-07-06|


+----------+-------+------------+

根据您的问题,您不清楚是要返回表格还是度量值

如果需要返回表,请执行以下操作:

calculated_table
:=VAR _categoryfirst=
    ADDCOLUMNS (
        VALUES ( 'Table'[Category] ),
        "MinValue", CALCULATE (MIN ( 'Table'[Value] ),ALL ( 'Table'[Value] ))
    )
RETURN
CALCULATETABLE(
    SELECTCOLUMNS('Table',
        "Category", 'Table'[Category]
        "Value",  'Table'[Value]
        "Date",  'Table'[Date]
    ),
    KEEPFILTERS (
        TREATAS (
        _categoryfirst,
        'Table'[Category],
        'Table'[Value]
        )
    )
)
measure:=
VAR _categoryfirst=
    CALCULATETABLE(
        ADDCOLUMNS (
        VALUES ( 'Table'[Category] ),
        "MinValue", CALCULATE (MIN ( 'Table'[Value] ),ALL ( 'Table'[Value] ))
        ),
        ALL('Table'[Value]),
        ALL('Table'[Date])
    )
RETURN
CALCULATE(
    MIN('Table'[Value]),
    KEEPFILTERS (
        TREATAS (
        _categoryfirst,
        'Table1'[Category],
        'Table1'[Value]
        )
    )
)
相反,如果要创建一个具有类别、值、日期的表可视化,仅显示与最小值关联的行,我将使用以下命令:

calculated_table
:=VAR _categoryfirst=
    ADDCOLUMNS (
        VALUES ( 'Table'[Category] ),
        "MinValue", CALCULATE (MIN ( 'Table'[Value] ),ALL ( 'Table'[Value] ))
    )
RETURN
CALCULATETABLE(
    SELECTCOLUMNS('Table',
        "Category", 'Table'[Category]
        "Value",  'Table'[Value]
        "Date",  'Table'[Date]
    ),
    KEEPFILTERS (
        TREATAS (
        _categoryfirst,
        'Table'[Category],
        'Table'[Value]
        )
    )
)
measure:=
VAR _categoryfirst=
    CALCULATETABLE(
        ADDCOLUMNS (
        VALUES ( 'Table'[Category] ),
        "MinValue", CALCULATE (MIN ( 'Table'[Value] ),ALL ( 'Table'[Value] ))
        ),
        ALL('Table'[Value]),
        ALL('Table'[Date])
    )
RETURN
CALCULATE(
    MIN('Table'[Value]),
    KEEPFILTERS (
        TREATAS (
        _categoryfirst,
        'Table1'[Category],
        'Table1'[Value]
        )
    )
)

从您的问题来看,不清楚您是要返回一个表还是一个度量值

如果需要返回表,请执行以下操作:

calculated_table
:=VAR _categoryfirst=
    ADDCOLUMNS (
        VALUES ( 'Table'[Category] ),
        "MinValue", CALCULATE (MIN ( 'Table'[Value] ),ALL ( 'Table'[Value] ))
    )
RETURN
CALCULATETABLE(
    SELECTCOLUMNS('Table',
        "Category", 'Table'[Category]
        "Value",  'Table'[Value]
        "Date",  'Table'[Date]
    ),
    KEEPFILTERS (
        TREATAS (
        _categoryfirst,
        'Table'[Category],
        'Table'[Value]
        )
    )
)
measure:=
VAR _categoryfirst=
    CALCULATETABLE(
        ADDCOLUMNS (
        VALUES ( 'Table'[Category] ),
        "MinValue", CALCULATE (MIN ( 'Table'[Value] ),ALL ( 'Table'[Value] ))
        ),
        ALL('Table'[Value]),
        ALL('Table'[Date])
    )
RETURN
CALCULATE(
    MIN('Table'[Value]),
    KEEPFILTERS (
        TREATAS (
        _categoryfirst,
        'Table1'[Category],
        'Table1'[Value]
        )
    )
)
相反,如果要创建一个具有类别、值、日期的表可视化,仅显示与最小值关联的行,我将使用以下命令:

calculated_table
:=VAR _categoryfirst=
    ADDCOLUMNS (
        VALUES ( 'Table'[Category] ),
        "MinValue", CALCULATE (MIN ( 'Table'[Value] ),ALL ( 'Table'[Value] ))
    )
RETURN
CALCULATETABLE(
    SELECTCOLUMNS('Table',
        "Category", 'Table'[Category]
        "Value",  'Table'[Value]
        "Date",  'Table'[Date]
    ),
    KEEPFILTERS (
        TREATAS (
        _categoryfirst,
        'Table'[Category],
        'Table'[Value]
        )
    )
)
measure:=
VAR _categoryfirst=
    CALCULATETABLE(
        ADDCOLUMNS (
        VALUES ( 'Table'[Category] ),
        "MinValue", CALCULATE (MIN ( 'Table'[Value] ),ALL ( 'Table'[Value] ))
        ),
        ALL('Table'[Value]),
        ALL('Table'[Date])
    )
RETURN
CALCULATE(
    MIN('Table'[Value]),
    KEEPFILTERS (
        TREATAS (
        _categoryfirst,
        'Table1'[Category],
        'Table1'[Value]
        )
    )
)

我需要一张桌子。每个类别(苹果、香蕉……)的最后日期行。如:香蕉2018-07-06和此行的其他列。您的第一个解决方案是“最小”和“值”。这不适合约会,我需要一张桌子。每个类别(苹果、香蕉……)的最后日期行。如:香蕉2018-07-06和此行的其他列。您的第一个解决方案是“最小”和“值”。它与日期无关。