【问题标题】:How to pick colours from a Color palette for non-chart elements?如何从调色板中为非图表元素选择颜色?
【发布时间】:2013-06-24 13:55:23
【问题描述】:

我正在为客户开发报告,并且我们有一个特定要求,即我们构建项目表,这些表也显示在图表中。表格将包含对象,其颜色与图表相同(背景 - 有点像图表的手动构建图例)。

我想从用于图表的调色板中选择颜色,因为这样会很简单(只需对数据进行排序,它就会自然而然地呈现出相同的颜色。

很遗憾,我找不到任何方法来为一张桌子执行此操作。是否有表达式或其他东西可以访问我们可以放入背景颜色表达式字段的调色板?或者其他方式来解决这个问题?

【问题讨论】:

    标签: reporting-services color-palette


    【解决方案1】:

    这听起来很复杂:找到正在使用的调色板,找出这些行用于图表的哪个部分并相应地为它们着色,每次打印图表时颜色的顺序都会改变。

    一种更简单的方法是为您的分组强制颜色的一致性。例如,假设您按部门分组,您希望 IT 为蓝色,财务为红色,HR 为绿色,等等。现在您可以使用IIFSWITCH 语句来做到这一点:

    =Switch(Fields!Dept.Value = "IT", "Blue", Fields!Dept.Value = "Finance", "Red", Fields!Dept.Value = "HR", "Green")
    

    但是,维护起来有点混乱。在您的部门表上拥有一个颜色字段更容易,然后在您的图表中使用它。例如,在条形图中,您可以执行以下操作:

    1. 右键单击图表主体并选择属性
    2. 点击数据标签
    3. 在“值”部分中,单击“编辑”按钮
    4. 点击外观标签
    5. 点击系列样式按钮
    6. 单击“填充”选项卡
    7. 在颜色文本框中,输入您想要的颜色的表达式。鉴于我们的部门数据库中已经有这个,我们只需使用:

      =Fields!DeptColour.Value

    然后我们的部门在每个条形图上的颜色都相同。

    对于折线图,您必须执行相同的操作,只是这次您将颜色表达式放在系列样式对话框的边框和线条选项卡上的颜色文本框中(而不是在填充中)。

    【讨论】:

    • 很遗憾,我们无法更改数据库。有趣的是,它确实有一个“颜色”字段,但它们都是默认值。手动指定列表是不行的,因为它是按项目(可以随时创建),而不是按部门或任何静态的。不过感谢您的建议。
    • 您应该考虑使用Colour 字段。否则,您可以将 XML 文件作为颜色数据集并使用 =Lookup(Fields!Dept.Value, Fields!Dept.Value, Fields!Colour.Value, "XMLColourDataset") 来查找您的颜色值。或者在您添加到报告中的自定义 DLL 中定义颜色查找。
    猜你喜欢
    • 1970-01-01
    • 2020-05-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-12
    • 1970-01-01
    相关资源
    最近更新 更多