IcCube - set the serial color for 2 dimensions in columns in the amCharts combined chart

I have the following dynamic chart (see attached image). For reproducibility purposes, I created a very simple diagram based on the icCube standard sales model.

The idea is to have two facts along the axes of the column with data for the selected years. To distinguish between facts, I want to color the facts that have faded over the years. When you add years, the new year will get a color that belongs to this fact, but a little easier. The prints below will be clarified.

My question is: is there a way to do this with amCharts / combo regarding MDX / icCube installation?

In applications you see two graphs: this is what i intend

but when I unselect 2008, it will happen: this is happening / problem

JSON, Sales Vanilla 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

, . :

  • , 4 .
  • MDX I

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- ( * _1), , MDX.

, : 4 years selected 2 years selected

, .

+1

(5.1.2). , .

graph , valueField . , , graph .

+2

, MDX (@Ic3Color). , " MDX" .

, (. ). , .

0

Source: https://habr.com/ru/post/1608279/


All Articles