解决缺少按行格式的问题?

时间:2018-06-25 14:02:30

标签: powerbi heatmap conditional-formatting

Example

我在矩阵中有各种各样的数据,如上所述,我需要能够逐行直观地进行分析。不幸的是,对于Matrix视觉,似乎尚无选择。我看了一下市场,但可以找到一个快速的解决方案。任何人都可以解决此限制吗?我看到%of total row选项,但这对于同时显示数据也不理想。


@Alexis反馈的6/26/2018编辑:

我正在使用的公式:

AGP% Color by Series = 

VAR MaxVal  = MAXX(SUMMARIZE(ALLEXCEPT(MonthlyReporting, MonthlyReporting[SERIES]), MonthlyReporting[InvoiceDate].[Month], "Monthly", [AGP%]), [Monthly])

VAR MinVal = MINX(SUMMARIZE(ALLEXCEPT(MonthlyReporting, MonthlyReporting[SERIES]), MonthlyReporting[InvoiceDate].[Month], "Monthly", [AGP%]), [Monthly])

RETURN DIVIDE([AGP%] - MinVal, MaxVal - MinVal)    

我实际上理解上面的大多数公式,除了以下子句……““ Monthly”,[AGP%]),[Monthly])“-这些在做什么?

我得到的结果:

仅2018年-似乎正在运行,但是每行都缺乏完整的频谱,这使我相信ALLEXCEPT逻辑是不完整的: 2018 Only

2017年和2018年-这是一个很大的混乱-可能部分是由于该异常值造成的: 2017 and 2018

与Semi相关,您如何最终变得如此擅长DAX?希望能够建立自己的能力;肯定会完全剖析此解决方案,以便更好地学习。是否有任何特定的课程,书籍或资源可以使您快速入门?

1 个答案:

答案 0 :(得分:1)

矩阵可视化工具确实允许条件格式设置,但是将其应用于单元格中的值会将格式应用于所有使用相同范围的单元格,看起来像这样。

Bad Coloring

但是,在5月对Power BI桌面的更新中,允许conditional formatting by a different field。因此,我们可以编写一个度量来按行计算值范围,并在条件格式中使用该度量。

Color =
    VAR MaxVal = CALCULATE(MAX(Table2[Value]), ALL(Table2[Month]))
    VAR MinVal = CALCULATE(MIN(Table2[Value]), ALL(Table2[Month]))
    RETURN DIVIDE(MAX(Table2[Value]) - MinVal, MaxVal - MinVal) 

Color度量是该客户在整个月内发生的最大值和最小值之间的线性插值。如果我们以这种条件格式使用此度量,则:

Conditional Formatting

然后结果应该非常接近您想要的颜色。

Good Coloring


编辑:如果表中的值基于度量,则需要相应地调整Color度量。

Color = 
    VAR MaxVal = MAXX(SUMMARIZE(ALLEXCEPT(Table2, Table2[Customer]), Table2[Month], "Monthly", [Measure]), [Monthly])
    VAR MinVal = MINX(SUMMARIZE(ALLEXCEPT(Table2, Table2[Customer]), Table2[Month], "Monthly", [Measure]), [Monthly])
    RETURN DIVIDE([Measure] - MinVal, MaxVal - MinVal)