diff --git a/ingestion/src/metadata/ingestion/source/dashboard/powerbi/metadata.py b/ingestion/src/metadata/ingestion/source/dashboard/powerbi/metadata.py index a3a8365580b..d4aac315a86 100644 --- a/ingestion/src/metadata/ingestion/source/dashboard/powerbi/metadata.py +++ b/ingestion/src/metadata/ingestion/source/dashboard/powerbi/metadata.py @@ -436,21 +436,21 @@ class PowerbiSource(DashboardServiceSource): measures = [] for measure in table.measures or []: try: - measure_type = ( - DataType.MEASURE_HIDDEN - if measure.isHidden - else DataType.MEASURE_VISIBLE - ) + measure_type = DataType.MEASURE_VISIBLE + if measure.isHidden: + measure_type = DataType.MEASURE_HIDDEN + expression_text = f"Expression : {measure.expression}" description_text = ( - f"{measure.description}\n\nExpression : {measure.expression}" + f"Description : {measure.description}" if measure.description - else f"Expression : {measure.expression}" + else "" ) + description_field_text = f"{expression_text}\n\n{description_text}" parsed_measure = PowerBiMeasureModel( dataType=measure_type, dataTypeDisplay=measure_type, name=measure.name, - description=description_text, + description=description_field_text, ) measures.append(Column(**parsed_measure.model_dump())) except Exception as err: diff --git a/ingestion/src/metadata/ingestion/source/dashboard/powerbi/models.py b/ingestion/src/metadata/ingestion/source/dashboard/powerbi/models.py index 2eca4099eb4..64e3d6cf905 100644 --- a/ingestion/src/metadata/ingestion/source/dashboard/powerbi/models.py +++ b/ingestion/src/metadata/ingestion/source/dashboard/powerbi/models.py @@ -135,7 +135,7 @@ class PowerBiMeasures(BaseModel): name: str expression: str description: Optional[str] = None - isHidden: bool + isHidden: Optional[bool] = False class PowerBITableSource(BaseModel): diff --git a/ingestion/tests/unit/test_powerbi_table_measures.py b/ingestion/tests/unit/test_powerbi_table_measures.py index 84a2bea7b68..14b82b5f62f 100644 --- a/ingestion/tests/unit/test_powerbi_table_measures.py +++ b/ingestion/tests/unit/test_powerbi_table_measures.py @@ -23,7 +23,9 @@ test_cases = { name="test_measure", dataType=DataType.MEASURE_VISIBLE, dataTypeDisplay=DataType.MEASURE_VISIBLE, - description=Markdown("Test Description\n\nExpression : SUM(Sales)"), + description=Markdown( + "Expression : SUM(Sales)\n\nDescription : Test Description" + ), ) ], }, @@ -41,7 +43,9 @@ test_cases = { name="hidden_measure", dataType=DataType.MEASURE_HIDDEN, dataTypeDisplay=DataType.MEASURE_HIDDEN, - description=Markdown("Hidden\n\nExpression : AVG(Profit)"), + description=Markdown( + "Expression : AVG(Profit)\n\nDescription : Hidden" + ), ) ], }, @@ -59,7 +63,7 @@ test_cases = { dataType=DataType.MEASURE_VISIBLE, dataTypeDisplay=DataType.MEASURE_VISIBLE, description=Markdown( - "Expression : SUM(Table[Column]) - SUM(OtherTable[OtherColumn])" + "Expression : SUM(Table[Column]) - SUM(OtherTable[OtherColumn])\n\n" ), ) ],