在PowerBI和DAX中查找每天的最大值

时间:2018-06-25 10:33:04

标签: powerbi dax

我正在尝试根据PowerBI / DAX中的汽车数量查找每天的最大路线。 我的数据示例如下:

 Date         Route      Count
 01-Nov-17     A           10
 01-Nov-17     B           5
 02-Nov-17     A           2
 02-Nov-17     C           22
 03-Nov-17     B           2

因此,我想查找每个日期的最大路线数,并像这样显示表格的结果...

 Date         Route      Count
 01-Nov-17     A           10
 02-Nov-17     C           22
 03-Nov-17     B           2

任何建议将不胜感激。

谢谢, 菲奥娜

3 个答案:

答案 0 :(得分:1)

首先,定义最大汽车数量的度量标准:

[Max Count] = MAX( Cars[Count] ) 

如果您将此度量放到对日期的透视图中,它将显示每个日期的最大汽车计数。

定义第二种措施:

[Max Routes] =
VAR Period_Max_Count = [Max Count]
RETURN
    CONCATENATEX (
        FILTER ( Cars, [Max Count] = Period_Max_Count ),
        Cars[Route], ","
    )

此度量将在每个日期返回具有最大计数的路由字符串。由于潜在的联系,您需要一个列表而不是一个值-多条路线每个期间的最大计数可能相同。它不在您的数据示例中,而是为了证明这一点,我为第一次约会添加了一条额外记录:

enter image description here

此措施的工作方式: 首先,它将每个日期的最大汽车行驶量保存到变量中。 其次,它会过滤汽车表以仅选择计数等于该日期的最大计数的路线。 第三,遍历过滤后的表,并将路由名称连接到以逗号分隔的列表中。

答案 1 :(得分:0)

使用公式创建计算列:

MAX = IF(CALCULATE(
        MAX(Table1[Count]);
        FILTER(
            Table1;
            Table1[Date] = EARLIER(Table1[Date])
        )
    ) = Table1[Count]; Table1[Route]; BLANK())

创建表并进行页面级过滤,以显示Table1 [MAX]的所有非空白值。

答案 2 :(得分:0)

  1. 右键单击表,选择New quick measure
  2. Calculation下拉列表中选择Max per category
  3. Base value字段中,拖动Count列。在这种情况下,默认情况下该值将汇总到Sum,因此将其更改为Max of Count
  4. Category字段中,拖动route

Voila!魔术发生了!当相对于轴Route绘制时,创建的度量将为每个路径给出Max(Count)。 DAX的外观如下:

Count max per route = 
MAXX(
    KEEPFILTERS(VALUES('Table1'[route])),
    CALCULATE(MAX('Table1'[Count]))
)

(因此,人们可以直接使用此DAX,而无需拖动,但现在我还不了解DAX)

  

对我来说幸运的参考:   https://docs.microsoft.com/en-us/power-bi/desktop-quick-measures