4

我有以下动态图表(见附图)。为了重现性,我根据标准 icCube 的销售模型创建了一个非常简单的图表。

这个想法是在列轴上有两个事实,其中包含选定年份的数据。为了区分事实,我想为多年来逐渐消失的事实分配颜色。当你加上年份,新的一年会得到属于事实的颜色,但会更淡一些。下面的屏幕截图将澄清。

我的问题是:与 icCube 的 MDX/设置相关的 amCharts/combo 有没有办法做到这一点?

在附件中,您会看到两个图表: 这就是我的意图

但是当我取消选择 2008 时,会发生这种情况: 发生这种情况/问题

我已包含 JSON,因此您可以在普通 icCUbe 5.1.2 安装的销售演示中重现此内容。

    {
    "classID": "ic3.ReportGuts",
    "guts_": {
        "ic3Version": 12,
        "schemaName": "Sales",
        "cubeName": "Sales",
        "layout": {
            "classID": "ic3.FixedLayout",
            "guts_": {
                "ic3Version": 12,
                "grid": 10,
                "boxes": [
                    {
                        "classID": "ic3.FixedLayoutBox",
                        "guts_": {
                            "ic3Version": 12,
                            "header": "chart with color serie that should match the selected fact (orange = Amount, blue = Amount_2)",
                            "behaviour": "Fixed Box",
                            "noPrint": false,
                            "position": {
                                "top": 100,
                                "left": 0,
                                "width": 1021,
                                "height": 421
                            },
                            "widgetAdapterUid": "w12",
                            "zIndex": 2008
                        }
                    },
                    {
                        "classID": "ic3.FixedLayoutBox",
                        "guts_": {
                            "ic3Version": 12,
                            "header": "select years",
                            "behaviour": "Fixed Box",
                            "noPrint": false,
                            "position": {
                                "top": 0,
                                "left": 60,
                                "width": 630,
                                "height": 80
                            },
                            "widgetAdapterUid": "w14",
                            "zIndex": 2009
                        }
                    }
                ],
                "theme": "Classic",
                "sizeIndicator": {
                    "width": 1024,
                    "height": 708
                }
            }
        },
        "widgetMgr": {
            "classID": "ic3.WidgetAdapterContainerMgr",
            "guts_": {
                "ic3Version": 12,
                "items": [
                    {
                        "classID": "ic3.AmchartsComboAdapter",
                        "guts_": {
                            "ic3Version": 12,
                            "navigationGuts": {
                                "classID": "ic3.AmChartsNavigationStrategy",
                                "guts_": {
                                    "ic3Version": 12,
                                    "menuVisibility": {
                                        "back": true,
                                        "axisXChange": "All",
                                        "axisYChange": "All",
                                        "filter": "All",
                                        "reset": true,
                                        "widget": true,
                                        "others": "All"
                                    },
                                    "maxAxisMemberCount": 10,
                                    "selectionMode": "disabled",
                                    "drillDownStrategy": {
                                        "type": "mdxExpression",
                                        "options": {
                                            "drd_mdx": "order(nonempty($member.children, @{selMeasure}), @{selMeasure}, BDESC)"
                                        }
                                    }
                                }
                            },
                            "ic3_name": "widget-1",
                            "ic3_uid": "w12",
                            "ic3_eventMapper": {
                                "classID": "ic3.EventWidgetMapper",
                                "guts_": {
                                    "__ic3_widgetEventsDescription": {},
                                    "fireOnRefresh": {
                                        "name": "All Events (default)",
                                        "uniqueName": "all",
                                        "parentRowId": -1,
                                        "type": "OT"
                                    },
                                    "ic3queryRefresh": "selDimensie"
                                }
                            },
                            "ic3_mdxBuilderUid": "m6",
                            "__ic3_widgetTypeName": "amCharts/Combo",
                            "ic3extraOptions": ":{  \"categoryAxis\": {\n    \"gridPosition\": \"middle\",\n    \"gridAlpha\": 0,\n    \"labelFunction\": function(valueText, serialDataItem, categoryAxis) {\n        return valueText.substr(0,10).replace(/\\s+/g, '<br>');\n    }\n  }\n\n }",
                            "graphs": [
                                {
                                    "lineThickness": 3,
                                    "balloonText": "[[category]]<br>[[title]]: <b>[[fValue]]</b>"
                                }
                            ],
                            "ic3ChartType": [
                                "column",
                                "column"
                            ],
                            "legendPosition": "bottom"
                        }
                    },
                    {
                        "classID": "ic3.QueryFilterButtonListAdapter",
                        "guts_": {
                            "ic3Version": 12,
                            "ic3_name": "widget-0",
                            "ic3_uid": "w14",
                            "ic3_eventMapper": {
                                "classID": "ic3.EventWidgetMapper",
                                "guts_": {
                                    "ic3selection": "selYear",
                                    "__ic3_widgetEventsDescription": {}
                                }
                            },
                            "ic3_mdxBuilderUid": "m1",
                            "__ic3_widgetTypeName": "icCube/Buttons",
                            "selectionMode": "multi",
                            "layout": "horizontal"
                        }
                    }
                ]
            }
        },
        "constantMgr": {
            "classID": "ic3.ConstantsMgr",
            "guts_": {
                "constant": []
            }
        },
        "cssMgr": {
            "classID": "ic3.CssMgr",
            "guts_": {}
        },
        "javascriptMgr": {
            "classID": "ic3.ReportJavascriptMgr",
            "guts_": {
                "ic3Version": 12,
                "js": "/**                                                                      \n * A function called each time an event is generated.                    \n *                                                                       \n * @param context the same object is passed between consumeEvent calls.  \n *                Can be used to store information.                      \n *        {                                                              \n *          $report   : jQuery context of the report container           \n *          fireEvent : a function( name, value ) triggering an event    \n *        }                                                              \n *                                                                       \n * @param event the event information                                    \n *                                                                       \n          {                                                              \n *          name  : as specified in the 'Events' tab                     \n *          value : (optional) actual event value                        \n *          type  : (optional) e.g., ic3selection                        \n *        }                                                              \n *                                                                       \n * Check the 'Report Event Names' menu for the list of available events. \n */                                                                      \n/*                                                                       \nfunction consumeEvent( context, event ) {                                \n  if (event.name == 'ic3-report-init') {                                 \n    // add your code here                                                \n  }                                                                      \n}                                                                        \n*/                                                                       \n"
            }
        },
        "calcMeasureMgr": {
            "classID": "ic3.CalcMeasureMgr",
            "guts_": {
                "measures": [
                    {
                        "name": "Amount2",
                        "expression": "1.1*[amount]",
                        "properties": null
                    }
                ]
            }
        },
        "mdxQueriesMgr": {
            "classID": "ic3.MdxQueriesContainerMgr",
            "guts_": {
                "mdxQueries": {
                    "classID": "ic3.BaseContainerMgr",
                    "guts_": {
                        "ic3Version": 12,
                        "items": [
                            {
                                "classID": "ic3.QueryBuilderWidget",
                                "guts_": {
                                    "mdxWizard": {
                                        "classID": "ic3.QueryBuilderWizardForm",
                                        "guts_": {
                                            "rows": [
                                                {
                                                    "classID": "ic3.QueryBuilderHierarchyForm",
                                                    "guts_": {
                                                        "hierarchy": {
                                                            "name": "Product",
                                                            "uniqueName": "[Product].[Product]"
                                                        },
                                                        "type": "membersOfLevel",
                                                        "membersOfLevel": "[Product].[Product].[Article]"
                                                    }
                                                }
                                            ],
                                            "cols": [
                                                {
                                                    "classID": "ic3.QueryBuilderMeasuresFormBase",
                                                    "guts_": {
                                                        "measures": [
                                                            {
                                                                "name": "Amount",
                                                                "uniqueName": "[Measures].[Amount]",
                                                                "type": "ME"
                                                            },
                                                            {
                                                                "name": "Amount2",
                                                                "uniqueName": "[Measures].[Amount2]",
                                                                "type": "RCME"
                                                            }
                                                        ]
                                                    }
                                                },
                                                {
                                                    "classID": "ic3.QueryBuilderEventsFilter",
                                                    "guts_": {
                                                        "mdxStatement": "@{selYear}"
                                                    }
                                                }
                                            ],
                                            "filters": [],
                                            "nonEmptyOnRows": false,
                                            "nonEmptyOnColumns": false
                                        }
                                    },
                                    "mdxFlat": {
                                        "classID": "ic3.QueryBuilderFlatMdxForm",
                                        "guts_": {
                                            "useMdxStatement": false
                                        }
                                    },
                                    "ic3_name": "mdx Query-0",
                                    "ic3_uid": "m6"
                                }
                            }
                        ]
                    }
                },
                "mdxFilter": {
                    "classID": "ic3.BaseContainerMgr",
                    "guts_": {
                        "ic3Version": 12,
                        "items": [
                            {
                                "classID": "ic3.NewFilterQueryBuilderForm",
                                "guts_": {
                                    "hierarchy": {
                                        "name": "Year",
                                        "uniqueName": "[Time].[Year]"
                                    },
                                    "type": "membersOfLevel",
                                    "membersOfLevel": "[Time].[Year].[Year]",
                                    "defaultsMdx": "2008,2009,2010",
                                    "addDefaultMember": false,
                                    "useAllMember": false,
                                    "useDefaultMemberIfEmpty": false,
                                    "ic3_name": "mdx Filter-0",
                                    "ic3_uid": "m1"
                                }
                            }
                        ]
                    }
                },
                "actionBuilders": {
                    "classID": "ic3.BaseContainerMgr",
                    "guts_": {
                        "ic3Version": 12,
                        "items": []
                    }
                }
            }
        }
    }
}
4

3 回答 3

2

在当前版本的报告 ( 5.1.2 ) 中是不可能的。我们在这里寻找的是根据选择使用不同的调色板。

您必须graph为每一列创建一个新的以指定valueField它的颜色和颜色。graph但是列的数量在变化,所以我们不知道应该定义多少。

于 2015-09-22T10:53:13.617 回答
1

读了,还没有答案。我创建了以下解决方法:

  • 我将显示的总年数固定为总共 4 年
  • 在 MDX 语句中,我

这是我使用的 MDX 语句:

 WITH
 MEMBER [Time].[Year].[All-M].[_1] as null
 MEMBER [Time].[Year].[All-M].[_2] as null
 MEMBER [Time].[Year].[All-M].[_3] as null
 MEMBER [Measures].[Amount2] AS 1.1*[amount]
 SET [selection] as  order( @{selYear},[Time].[Year].currentmember.key, bdesc) +
     [Time].[Year].[All-M].[_1] + [Time].[Year].[All-M].[_2] + [Time].[Year].[All-M].[_3] 
 SELECT {[measures].[Amount]} *  [Time].[Year].[All-M].[_1]
+ item( ({[measures].[Amount]} *  {[selection]}),3) 
+ item( ({[measures].[Amount]} *  {[selection]}),2) 
+ item( ({[measures].[Amount]} *  {[selection]}),1) 
+ item( ({[measures].[Amount]} *  {[selection]}),0)
+ item( ({[measures].[Amount2]} *  {[selection]}),3) 
+ item( ({[measures].[Amount2]} *  {[selection]}),2) 
+ item( ({[measures].[Amount2]} *  {[selection]}),1) 
+ item( ({[measures].[Amount2]} *  {[selection]}),0)
 ON COLUMNS,
{ [Product].[Product].[Article].allmembers } ON ROWS
 FROM [Sales]

我不知道为什么我必须选择第一个元组(数量 * _1),但如果我不选择它,我会收到 MDX 错误。

尽管如此,我现在获得了一个完美调整的图表: 4年入选 2年入选

希望它可能对其他人有所帮助。

于 2015-09-28T11:14:07.283 回答
0

在当前版本中,您可以将主题调色板或在成员 (@Ic3Color) 中的 MDX 级别定义的颜色用于列颜色。要激活第二个选项,您在报告中设置标志“使用 MDX 成员颜色”。

在您的示例中,它更像是一个单元格属性,用于在表格中动态设置颜色(参见示例)。抱歉,目前没有简单的方法可以将单元格的属性与图表的列填充颜色绑定。

于 2015-09-23T13:57:21.830 回答