mirror of https://github.com/apache/superset.git
fix: replace absolute difference with difference in compareOperator (#16930)
* fix: replace absolute difference with difference in compareOperator * fix ut
This commit is contained in:
parent
ace9c78684
commit
387ac2b6d3
|
@ -165,7 +165,7 @@ class PandasAxis(int, Enum):
|
|||
|
||||
|
||||
class PandasPostprocessingCompare(str, Enum):
|
||||
ABS = "absolute"
|
||||
DIFF = "difference"
|
||||
PCT = "percentage"
|
||||
RAT = "ratio"
|
||||
|
||||
|
|
|
@ -498,13 +498,13 @@ def compare( # pylint: disable=too-many-arguments
|
|||
)
|
||||
if compare_type not in tuple(PandasPostprocessingCompare):
|
||||
raise QueryObjectValidationError(
|
||||
_("`compare_type` must be `absolute`, `percentage` or `ratio`")
|
||||
_("`compare_type` must be `difference`, `percentage` or `ratio`")
|
||||
)
|
||||
if len(source_columns) == 0:
|
||||
return df
|
||||
|
||||
for s_col, c_col in zip(source_columns, compare_columns):
|
||||
if compare_type == PandasPostprocessingCompare.ABS:
|
||||
if compare_type == PandasPostprocessingCompare.DIFF:
|
||||
diff_series = df[s_col] - df[c_col]
|
||||
elif compare_type == PandasPostprocessingCompare.PCT:
|
||||
diff_series = (
|
||||
|
|
|
@ -478,18 +478,18 @@ class TestPostProcessing(SupersetTestCase):
|
|||
self.assertListEqual(series_to_list(post_df["z"]), [0.0, 2.0, 8.0, 6.0])
|
||||
|
||||
def test_compare(self):
|
||||
# `absolute` comparison
|
||||
# `difference` comparison
|
||||
post_df = proc.compare(
|
||||
df=timeseries_df2,
|
||||
source_columns=["y"],
|
||||
compare_columns=["z"],
|
||||
compare_type="absolute",
|
||||
compare_type="difference",
|
||||
)
|
||||
self.assertListEqual(
|
||||
post_df.columns.tolist(), ["label", "y", "z", "absolute__y__z",]
|
||||
post_df.columns.tolist(), ["label", "y", "z", "difference__y__z",]
|
||||
)
|
||||
self.assertListEqual(
|
||||
series_to_list(post_df["absolute__y__z"]), [0.0, -2.0, -8.0, -6.0],
|
||||
series_to_list(post_df["difference__y__z"]), [0.0, -2.0, -8.0, -6.0],
|
||||
)
|
||||
|
||||
# drop original columns
|
||||
|
@ -497,10 +497,10 @@ class TestPostProcessing(SupersetTestCase):
|
|||
df=timeseries_df2,
|
||||
source_columns=["y"],
|
||||
compare_columns=["z"],
|
||||
compare_type="absolute",
|
||||
compare_type="difference",
|
||||
drop_original_columns=True,
|
||||
)
|
||||
self.assertListEqual(post_df.columns.tolist(), ["label", "absolute__y__z",])
|
||||
self.assertListEqual(post_df.columns.tolist(), ["label", "difference__y__z",])
|
||||
|
||||
# `percentage` comparison
|
||||
post_df = proc.compare(
|
||||
|
|
Loading…
Reference in New Issue