Ask Search:
Aparna PuvvadaAparna Puvvada 

Getting Error while passing the selection binding code in filters in the compare table level.

Hi All,

I have created a Static filter with custom values and created another compare table also,
and i am trying to filter the data in compare table with the Static filter.

for that i am trying to pass the binding code in Compare table level, but i am getting errors.

Please look in to the below and provide the solution for this.

Static filter code:

"Period_1": {
                "broadcastFacet": true,
                "groups": [],
                "label": "Period",
                "numbers": [],
                "selectMode": "single",
                "strings": [],
                "type": "staticflex",
                "values": [
                    {
                        "display": "This Month",
                        "value": [
                            [
                                [
                                    "month",
                                    0
                                ],
                                [
                                    "month",
                                    0
                                ]
                            ]
                        ],
                        "drange": "[\"current month\"..\"current month\"]"
                    },
                    {
                        "display": "This Quarter",
                        "value": [
                            [
                                [
                                    "quarter",
                                    0
                                ],
                                [
                                    "quarter",
                                    0
                                ]
                            ]
                        ],
                        "drange": "[\"current quarter\"..\"current quarter\"]"
                    }
                ]
            }
        },

Compare table code:

"MM_BUD_In_USD_1": {
                "broadcastFacet": true,
                "datasets": [
                    {
                        "id": "0Fbd0000000wz3qCAA",
                        "label": "Margin_Cube_BWP",
                        "name": "BWQ",
                        "url": "/services/data/v42.0/wave/datasets/0Fbd0000000wz3qCAA"
                    }
                ],
                "isGlobal": false,
                "query": {
                    "measures": [
                        [
                            "sum",
                            "MM_BUD_In_USD",
                            "A"
                        ]
                    ],
                    "columns": [
                        {
                            "query": {
                                "measures": [
                                    [
                                        "sum",
                                        "MM_BUD_In_USD"
                                    ]
                                ]
                            }
                        }
                    ],
                    "filters": [
                        [
                            "Period",
                            "{{column(Period_1.selection, [\"Period\"]).asObject()}}",
                            "in"
                        ]
                    ]
                },
                "receiveFacet": true,
                "selectMode": "single",
                "type": "aggregateflex",
                "useGlobal": true,
                "visualizationParameters": {
                    "options": {},
                    "parameters": {
                        "borderColor": "#e0e5ee",
                        "borderWidth": 1,
                        "cell": {
                            "backgroundColor": "#ffffff",
                            "fontColor": "#16325c",
                            "fontSize": 12
                        },

Error screen shot: 
"  This widget can't be displayed because there is a problem with its source step:
The binding 'column(Period_1.selection, ["Period"]).asObject()' contains an error: The column name 'Period' doesn't exist in the data. "
Best Answer chosen by Aparna Puvvada
Akshay AhujaAkshay Ahuja
Hello Aparna,

Could you make the following changes and see if it works:

1. For Static Step, remove 1 pair of square brackets for both 'This Month' and 'This Quarter' values.

"Period_1": {
                "broadcastFacet": true,
                "groups": [],
                "label": "Period",
                "numbers": [],
                "selectMode": "single",
                "strings": [],
                "type": "staticflex",
                "values": [
                    {
                        "display": "This Month",
                        "value": [
                                [
                                    "month",
                                    0
                                ],
                                [
                                    "month",
                                    0
                                ]
                        ],
                        "drange": "[\"current month\"..\"current month\"]"
                    },
                    {
                        "display": "This Quarter",
                        "value": [
                                [
                                    "quarter",
                                    0
                                ],
                                [
                                    "quarter",
                                    0
                                ]
                        ],
                        "drange": "[\"current quarter\"..\"current quarter\"]"
                    }
                ]
            }
        },

2. Change Syntax of Binding code to have value and >=<= as shown below:

"MM_BUD_In_USD_1": {
                "broadcastFacet": true,
                "datasets": [
                    {
                        "id": "0Fbd0000000wz3qCAA",
                        "label": "Margin_Cube_BWP",
                        "name": "BWQ",
                        "url": "/services/data/v42.0/wave/datasets/0Fbd0000000wz3qCAA"
                    }
                ],
                "isGlobal": false,
                "query": {
                    "measures": [
                        [
                            "sum",
                            "MM_BUD_In_USD",
                            "A"
                        ]
                    ],
                    "columns": [
                        {
                            "query": {
                                "measures": [
                                    [
                                        "sum",
                                        "MM_BUD_In_USD"
                                    ]
                                ]
                            }
                        }
                    ],
                    "filters": [
                        [
                            "Period",
                            "{{column(Period_1.selection, [\"value\"]).asObject()}}",
                            ">=<="
                        ]
                    ]
                },
                "receiveFacet": true,
                "selectMode": "single",
                "type": "aggregateflex",
                "useGlobal": true,
                "visualizationParameters": {
                    "options": {},
                    "parameters": {
                        "borderColor": "#e0e5ee",
                        "borderWidth": 1,
                        "cell": {
                            "backgroundColor": "#ffffff",
                            "fontColor": "#16325c",
                            "fontSize": 12
                        },

Note:
"Period" should be the column name you are using to filter the compare table.
Period_1 is step name
value is name given to values that will be used to filter by "Period"

Hope this helps.

Best Regards,
Akshay

All Answers

Akshay AhujaAkshay Ahuja
Hello Aparna,

Could you make the following changes and see if it works:

1. For Static Step, remove 1 pair of square brackets for both 'This Month' and 'This Quarter' values.

"Period_1": {
                "broadcastFacet": true,
                "groups": [],
                "label": "Period",
                "numbers": [],
                "selectMode": "single",
                "strings": [],
                "type": "staticflex",
                "values": [
                    {
                        "display": "This Month",
                        "value": [
                                [
                                    "month",
                                    0
                                ],
                                [
                                    "month",
                                    0
                                ]
                        ],
                        "drange": "[\"current month\"..\"current month\"]"
                    },
                    {
                        "display": "This Quarter",
                        "value": [
                                [
                                    "quarter",
                                    0
                                ],
                                [
                                    "quarter",
                                    0
                                ]
                        ],
                        "drange": "[\"current quarter\"..\"current quarter\"]"
                    }
                ]
            }
        },

2. Change Syntax of Binding code to have value and >=<= as shown below:

"MM_BUD_In_USD_1": {
                "broadcastFacet": true,
                "datasets": [
                    {
                        "id": "0Fbd0000000wz3qCAA",
                        "label": "Margin_Cube_BWP",
                        "name": "BWQ",
                        "url": "/services/data/v42.0/wave/datasets/0Fbd0000000wz3qCAA"
                    }
                ],
                "isGlobal": false,
                "query": {
                    "measures": [
                        [
                            "sum",
                            "MM_BUD_In_USD",
                            "A"
                        ]
                    ],
                    "columns": [
                        {
                            "query": {
                                "measures": [
                                    [
                                        "sum",
                                        "MM_BUD_In_USD"
                                    ]
                                ]
                            }
                        }
                    ],
                    "filters": [
                        [
                            "Period",
                            "{{column(Period_1.selection, [\"value\"]).asObject()}}",
                            ">=<="
                        ]
                    ]
                },
                "receiveFacet": true,
                "selectMode": "single",
                "type": "aggregateflex",
                "useGlobal": true,
                "visualizationParameters": {
                    "options": {},
                    "parameters": {
                        "borderColor": "#e0e5ee",
                        "borderWidth": 1,
                        "cell": {
                            "backgroundColor": "#ffffff",
                            "fontColor": "#16325c",
                            "fontSize": 12
                        },

Note:
"Period" should be the column name you are using to filter the compare table.
Period_1 is step name
value is name given to values that will be used to filter by "Period"

Hope this helps.

Best Regards,
Akshay
This was selected as the best answer
Aparna PuvvadaAparna Puvvada
Hi Akshay,

I have did that change which you provided,and it is working perfectly.

Thank you so much for your help.