【问题标题】:iccube-reporting Conditional Formatting With MDX Expressionsiccube-reporting 条件格式与 MDX 表达式
【发布时间】:2017-07-12 07:11:53
【问题描述】:

如何在 iccube 中使用带有 MDX 表达式的条件格式。目标是根据值添加颜色。例如,将 MDX 度量中的值划分为多个范围,并将每个范围的颜色应用于表格中单元格的背景。

【问题讨论】:

    标签: iccube iccube-reporting


    【解决方案1】:

    有几个选项

    1 - 使用 MDX 单元属性

    第一步是创建一个 MDX 表达式,为 MDX 表达式的每个单元格定义背景颜色。使用的单元格属性是 'BACK_COLOR' ,doc

    WITH  
      MEMBER [Colored Amount] as [Amount] ,
                 BACK_COLOR=InterpolateRGBColors(currentCellValue() / (1000*1000),RGB("#DBF2CC"), RGB("#C2AB4D") ) 
    SELECT  
      [Product].[Product].[Article] on 0 
    FROM [MyCube] WHERE  [Colored Amount] 
    CELL PROPERTIES VALUE, FORMATTED_VALUE, BACK_COLOR
    

    为了构建 MDX 查询,我们一直在使用一些允许使用颜色 InterpolateRGBColorsRGBCurrentCellValues 的函数。

    RGB 允许将 RGB 颜色转换为 MDX 颜色,并且 interpolate 函数会将度量值(第一个参数)转换为颜色。

    创建 MDX 后,我们可以使用报告来使用 MDX 中定义的颜色。这可以在“颜色编辑器对话框”中完成

    1. 使用不同的措施

    在这里,我们将利用自第 6 版以来的新报告功能并使用多种衡量标准。 MDX 看起来很相似:

    WITH
      MEMBER [Measures].[Color] AS toHexColor( InterpolateRGBColors( [Amount] / (1000*1000),RGB("#DBF2CC"), RGB("#C2AB4D") ) )
    SELECT
      // Measures
      {[Measures].[Amount],[Measures].[Color]} ON 0,
      // Rows
      [Product].[Product].[Article].allmembers ON 1
    FROM [Sales]
    CELL PROPERTIES STYLE, CLASSNAME, VALUE, FORMATTED_VALUE, FORMAT_STRING
    

    我们定义了一个新的度量值 [Color] 来保存颜色值,而不是使用单元格属性。此 MDX 也可以使用向导创建。

    一旦 MDX 语句准备就绪,我们就可以使用 MDX 选项卡在“颜色编辑器对话框”中使用颜色

    这又是我们的颜色表。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-08-13
      • 1970-01-01
      相关资源
      最近更新 更多