Power BI - 矩阵视觉化中每行的条件格式设置

3

我正在尝试使用条件格式来为矩阵设置颜色。目标是对于每一行,单元格的颜色将取决于它是否高于或低于该行的平均值。

我已经成功使用以下DAX公式作为条件格式制作了下面的矩阵

Conditional Formatting =  
VAR SelectedMonth = CALCULATE(SUMX(Reviews_Table,Reviews_Table[Number_of_Reviews])) 
VAR AveragePerCountry = [Average Reviews] 
RETURN 
SWITCH(
    TRUE(),
    SelectedMonth >= 1.5*AveragePerCountry, "#008651",
    AND(SelectedMonth < 1.5*AveragePerCountry, SelectedMonth >= AveragePerCountry), "#82ac2b",
    AND(SelectedMonth < AveragePerCountry, SelectedMonth >= 0.5*AveragePerCountry), "#ff8100",
    SelectedMonth < 0.5*AveragePerCountry, "#FE2828" )

其中[平均评价]指标已被定义为:

Average Reviews = 
VAR SUMFILTER =
    CALCULATE (
        SUM ( Reviews_Table[Number_of_Reviews] ),
        ALLSELECTED( 'Reviews_Table' )
    )

VAR COUNTFILTER =
    CALCULATE (
        DISTINCTCOUNT  ( Reviews_Table[Number_of_Reviews] ),
        ALLSELECTED( 'Reviews_Table' )
    )
RETURN
    DIVIDE ( SUMFILTER, COUNTFILTER )

然而,目前这种条件格式似乎是将每个值与所有行的总平均值进行比较。是否可以获得每行(在此情况下为“市场”)的平均值并将其用作条件格式?希望答案能够考虑筛选器(我有一个切片器,可以更改时间间隔,平均值应针对特定间隔)。
非常感谢您的帮助!
PS:仅作为额外信息,Reviews_Table具有以下列:Month,Market,Retailer(未在矩阵中显示但可通过“+”访问)和Number_of_Reviews。
1个回答

0

思路是识别行上下文和列上下文,并且在评估行平均值时仅删除列上下文,同时保留行上下文。在这里,你使用的ALLSELECTED()实际上剥夺了行和列上下文。我假设Month是你的列维度,但你可以将其替换为你需要的任何内容。

第一步是为时间维度创建单独的维度表,如果你还没有创建的话。

Calendar = CALENDARAUTO()

然后创建一个月份列来汇总'Calendar',但是通过将'Calendar'连接到'Reviews_Table',使用'Calendar'[Date] = 'Reviews_Table'[Month](假设'Reviews_Table'[Month]是日期类型)。
然后,在您的度量中,将ALLSELECTED('Reviews_Table')函数替换为ALLSELECTED('Calendar')。这将在评估平均值时保留市场/零售商情境,但会扩展时间情境以包括视觉中的所有时间段(仍然尊重视觉外的切片器/筛选器)。

补充建议:

我注意到您在每个变量中都使用了相同的CALCULATE()过滤器。为了简化,您可以将它们合并为一个表达式。

Average Reviews = 
CALCULATE (
    DIVIDE( 
        SUM ( Reviews_Table[Number_of_Reviews] ),
        DISTINCTCOUNT  ( Reviews_Table[Number_of_Reviews] )
    ),
    ALLSELECTED( 'Reviews_Table' )
)

我还注意到您将平均值定义为DIVIDE(SUM(), DISTINCTCOUNT())。这将评估每个月/市场评论数量相同的零售商作为单个数据,从而使您的平均值膨胀。如果这是有意的,请忽略此提示,但您可能希望将其替换为简单的AVERAGE()函数或更明确地指定按所选维度成员数目进行除法运算。您在这里的决策也将影响如何处理平均值中的缺失数据点。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接