我正在尝试获取Power BI报表中特定列的MAX,并将其作为新度量放置在同一数据集的每个ROW中。请参见下面的示例。
在DAX中和通过DirectQuery / LiveConnection是否可能?该报告指向表格模型,但是由于外部因素,必须在报告中创建度量。
谢谢
答案 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之间创建关系。这会将日期表中的每个日期与预算表中的特定预算行相关联。
希望有帮助。