issue-22425: PowerBI parse expression along with measure (#22870)

This commit is contained in:
harshsoni2024 2025-08-12 10:17:37 +05:30 committed by harshsoni2024
parent 932139faa9
commit ae1a156d76
3 changed files with 16 additions and 12 deletions

View File

@ -436,21 +436,21 @@ class PowerbiSource(DashboardServiceSource):
measures = [] measures = []
for measure in table.measures or []: for measure in table.measures or []:
try: try:
measure_type = ( measure_type = DataType.MEASURE_VISIBLE
DataType.MEASURE_HIDDEN if measure.isHidden:
if measure.isHidden measure_type = DataType.MEASURE_HIDDEN
else DataType.MEASURE_VISIBLE expression_text = f"Expression : {measure.expression}"
)
description_text = ( description_text = (
f"{measure.description}\n\nExpression : {measure.expression}" f"Description : {measure.description}"
if measure.description if measure.description
else f"Expression : {measure.expression}" else ""
) )
description_field_text = f"{expression_text}\n\n{description_text}"
parsed_measure = PowerBiMeasureModel( parsed_measure = PowerBiMeasureModel(
dataType=measure_type, dataType=measure_type,
dataTypeDisplay=measure_type, dataTypeDisplay=measure_type,
name=measure.name, name=measure.name,
description=description_text, description=description_field_text,
) )
measures.append(Column(**parsed_measure.model_dump())) measures.append(Column(**parsed_measure.model_dump()))
except Exception as err: except Exception as err:

View File

@ -135,7 +135,7 @@ class PowerBiMeasures(BaseModel):
name: str name: str
expression: str expression: str
description: Optional[str] = None description: Optional[str] = None
isHidden: bool isHidden: Optional[bool] = False
class PowerBITableSource(BaseModel): class PowerBITableSource(BaseModel):

View File

@ -23,7 +23,9 @@ test_cases = {
name="test_measure", name="test_measure",
dataType=DataType.MEASURE_VISIBLE, dataType=DataType.MEASURE_VISIBLE,
dataTypeDisplay=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", name="hidden_measure",
dataType=DataType.MEASURE_HIDDEN, dataType=DataType.MEASURE_HIDDEN,
dataTypeDisplay=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, dataType=DataType.MEASURE_VISIBLE,
dataTypeDisplay=DataType.MEASURE_VISIBLE, dataTypeDisplay=DataType.MEASURE_VISIBLE,
description=Markdown( description=Markdown(
"Expression : SUM(Table[Column]) - SUM(OtherTable[OtherColumn])" "Expression : SUM(Table[Column]) - SUM(OtherTable[OtherColumn])\n\n"
), ),
) )
], ],