Describe the bug
If running a validation using Spark or SQLAlchemy and specifying values for unexpected_index_column_names, the row ids are not displayed in the data docs.
To Reproduce
Run any expectation suite containing a rule, such as expect_column_value_lengths_to_be, and define a column list for unexpected_index_column_names within the result format object when invoking a checkpoint. This bug is present on all versions of GX.
Expected behavior
The column name/values of the failed rows should be rendered
Environment (please complete the following information):
Operating System: [e.g. Linux, MacOS, Windows] All
Great Expectations Version: [e.g. 0.13.2] 0.18.x and 1.0.x, probably others
Additional context
the root of the issue appears to be
great_expectations/render/util.py: _convert_unexpected_indices_to_df(), line 422:
set(first_unexpected_index.keys()).difference(set(unexpected_index_column_names))
this ALWAYS evaluates to the empty list, [], causing an exception to be raised later in that same function on line 442 when that empty list is passed to the .groupby() method, aborting the rendering of the failed row indices.
hey do you mind to show me a basic screenshot of what you are seeing in data docs and a screenshot of what you are expecting to see (assuming you see different, expected behavior with different expectations)
Describe the bug If running a validation using Spark or SQLAlchemy and specifying values for unexpected_index_column_names, the row ids are not displayed in the data docs.
To Reproduce Run any expectation suite containing a rule, such as expect_column_value_lengths_to_be, and define a column list for unexpected_index_column_names within the result format object when invoking a checkpoint. This bug is present on all versions of GX.
Expected behavior The column name/values of the failed rows should be rendered
Environment (please complete the following information):
Additional context the root of the issue appears to be great_expectations/render/util.py: _convert_unexpected_indices_to_df(), line 422: set(first_unexpected_index.keys()).difference(set(unexpected_index_column_names))
this ALWAYS evaluates to the empty list, [], causing an exception to be raised later in that same function on line 442 when that empty list is passed to the .groupby() method, aborting the rendering of the failed row indices.