获取列的最大值并显示每一行

时间:2019-03-14 11:43:48

标签: powerbi dax

我正在尝试获取Power BI报表中特定列的MAX,并将其作为新度量放置在同一数据集的每个ROW中。请参见下面的示例。

Excel Sample

在DAX中和通过DirectQuery / LiveConnection是否可能?该报告指向表格模型,但是由于外部因素,必须在报告中创建度量。

谢谢

1 个答案:

答案 0 :(得分:0)

您可以通过几种方法完成此操作。本质上,您需要覆盖过滤器上下文,以使MAX函数不仅可以在视觉上显示的任何片段上运行。使用CALCULATE或迭代器函数MAXX,将表包装在ALL()函数中以覆盖上下文并计算所有行的最大值。

= CALCULATE(MAX([Calendar`Year]), ALL('Smithfield_Fiscal_Calendar'))

= MAXX(ALL('Smithfield_Fiscal_Calendar'), [Calendar`Year])

要按日期获取细分,您需要在模型中包括一个Date表。 PowerBI通过几个不同的DAX选项使之成为可能。例如,转到“模型”选项卡,单击“新建表”,然后输入以下表达式:

MyCalendar = CALENDAR(DATE(2019,1,1), DATE (2019,1,10))

这有点琐碎-您想使用一个有用的日期范围,但这与上面的示例匹配。接下来,在[MyCalendar]中添加一列

CalendarMonthYear = month([date]) & "-" & year([date])

转到预算表并添加一个类似的字段

BudgetMonthYear = month([date]) & "-" & year([date])

进入“模型”视图,并在CalendarMonthYear和BudgetMonthYear之间创建关系。这会将日期表中的每个日期与预算表中的特定预算行相关联。

希望有帮助。