mirror of
https://github.com/apache/superset.git
synced 2026-04-19 16:14:52 +00:00
fix: missing mulitiple metrics on pivot operator (#16026)
* fix: missing mulitiple metrics on pivot operator * code smell
This commit is contained in:
@@ -258,6 +258,7 @@ class TestPostProcessing(SupersetTestCase):
|
||||
)
|
||||
|
||||
def test_pivot_eliminate_cartesian_product_columns(self):
|
||||
# single metric
|
||||
mock_df = DataFrame(
|
||||
{
|
||||
"dttm": to_datetime(["2019-01-01", "2019-01-01"]),
|
||||
@@ -277,6 +278,33 @@ class TestPostProcessing(SupersetTestCase):
|
||||
self.assertEqual(list(df.columns), ["dttm", "0, 0", "1, 1"])
|
||||
self.assertTrue(np.isnan(df["1, 1"][0]))
|
||||
|
||||
# multiple metrics
|
||||
mock_df = DataFrame(
|
||||
{
|
||||
"dttm": to_datetime(["2019-01-01", "2019-01-01"]),
|
||||
"a": [0, 1],
|
||||
"b": [0, 1],
|
||||
"metric": [9, np.NAN],
|
||||
"metric2": [10, 11],
|
||||
}
|
||||
)
|
||||
|
||||
df = proc.pivot(
|
||||
df=mock_df,
|
||||
index=["dttm"],
|
||||
columns=["a", "b"],
|
||||
aggregates={
|
||||
"metric": {"operator": "mean"},
|
||||
"metric2": {"operator": "mean"},
|
||||
},
|
||||
drop_missing_columns=False,
|
||||
)
|
||||
self.assertEqual(
|
||||
list(df.columns),
|
||||
["dttm", "metric, 0, 0", "metric, 1, 1", "metric2, 0, 0", "metric2, 1, 1"],
|
||||
)
|
||||
self.assertTrue(np.isnan(df["metric, 1, 1"][0]))
|
||||
|
||||
def test_aggregate(self):
|
||||
aggregates = {
|
||||
"asc sum": {"column": "asc_idx", "operator": "sum"},
|
||||
|
||||
Reference in New Issue
Block a user