Power BI 矩阵表格基于行列标签交叉点的单元格格式设置问询
实现方案:Power BI 矩阵按行列标签交叉位置自定义单元格格式
你可以通过自定义DAX度量值+条件格式绑定度量值的方式实现需求,无需依赖单元格本身的数值,具体步骤如下:
- 步骤1:创建格式控制度量值
用DAX捕获当前单元格对应的行、列维度标签,按你需要的交叉规则返回格式参数,示例代码如下:
如果需要多套不同的格式,也可以让度量值返回不同的数值区分,或者直接返回十六进制颜色代码,后续直接读取字段值即可。格式控制度量值 = VAR 当前行标签 = SELECTEDVALUE('数据表'[行维度字段]) VAR 当前列标签 = SELECTEDVALUE('数据表'[列维度字段]) RETURN SWITCH( TRUE(), // 按需求自定义交叉规则,需要特殊格式的返回1,否则返回0 当前行标签 = "品类A" && 当前列标签 = "Q1", 1, 当前行标签 = "品类C" && 当前列标签 = "Q3", 1, 0 ) - 步骤2:绑定条件格式
选中矩阵控件,打开格式面板下的条件格式选项,选择要设置的格式类型(背景色/字体颜色/边框等),规则选择规则类型,依据为刚才创建的格式控制度量值,设置当值等于1时应用你需要的特殊格式,值等于0时应用默认格式即可。
如果需要更灵活的颜色控制,可以直接使用返回颜色代码的度量值,示例如下:
颜色自定义度量值 = VAR 当前行标签 = SELECTEDVALUE('数据表'[行维度字段]) VAR 当前列标签 = SELECTEDVALUE('数据表'[列维度字段]) RETURN SWITCH( TRUE(), 当前行标签 = "品类A" && 当前列标签 = "Q1", "#FFE4E4", 当前行标签 = "品类C" && 当前列标签 = "Q3", "#E4FFE4", // 默认格式返回对应颜色即可,比如白色为#FFFFFF "#FFFFFF" )
此时条件格式选择字段值类型,直接读取该度量值的返回结果作为格式参数即可。
内容的提问来源于stack exchange,提问作者Matthew
相关产品推荐
相关产品推荐

