Power BI日期表返回DateTime而非Date致Power Apps无效日期问题求助
解决Power BI计算表日期传递到Power Apps显示“invalid Date”的问题
问题根源
Power BI的CALENDAR函数生成的日期序列,虽表面显示为Date类型,但底层实际是带有00:00:00时间的DateTime类型。当通过度量值传递到Power Apps时,Power Apps无法正确解析这种带时间的日期格式,从而触发“invalid Date”错误。
修改后的DateTable计算表代码
DateTable = VAR MaxReportDateTable1 = MAXX( ALL( crd72_dhr_sra_marks ), crd72_dhr_sra_marks[Report Date] ) VAR MinReportDateTable1 = MINX( ALL( crd72_dhr_sra_marks ), crd72_dhr_sra_marks[Report Date] ) VAR MaxReportDateTable2 = MAXX( ALL( crd72_dhr_counterparty_marks ), crd72_dhr_counterparty_marks[Report Date] ) VAR MinReportDateTable2 = MINX( ALL( crd72_dhr_counterparty_marks ), crd72_dhr_counterparty_marks[Report Date] ) VAR MaxReportDate = MAX( MaxReportDateTable1, MaxReportDateTable2 ) VAR MinReportDate = MIN( MinReportDateTable1, MinReportDateTable2 ) VAR StartDate = MinReportDate VAR EndDate = MaxReportDate -- 将CALENDAR生成的DateTime转换为纯Date类型 VAR PureDateTable = SELECTCOLUMNS( CALENDAR(StartDate, EndDate), "Date", DATE(YEAR([Date]), MONTH([Date]), DAY([Date])) ) RETURN ADDCOLUMNS ( PureDateTable, "Year", YEAR ( [Date] ), "Month", MONTH ( [Date] ), "Day", DAY ( [Date] ), "Month Name", FORMAT ( [Date], "MMMM" ), "Day Name", FORMAT ( [Date], "dddd" ), "YearMonth", FORMAT ( [Date], "YYYYMM" ), "YearMonthName", FORMAT ( [Date], "YYYY - MMMM" ), "ShortDate", FORMAT ( [Date], "MMM-yy" ) )
关键改动说明
- 新增
PureDateTable变量:通过SELECTCOLUMNS配合DATE函数,剥离原CALENDAR生成日期的时间部分,强制转换为纯Date类型 - 确保最终DateTable的
[Date]列底层为纯日期格式,消除Power Apps解析时的类型冲突
后续验证与调整
- 替换代码后刷新数据模型,在Power BI数据视图中确认
DateTable[Date]的数据类型为Date - 原度量值
SelectedReportDate = SELECTEDVALUE(DateTable[Date])可直接使用,无需额外修改 - 测试切片器选择操作,检查Power Apps中
PowerBIIntegration.Data的日期字段是否正常显示
内容的提问来源于stack exchange,提问作者iBeMeltin
相关产品推荐
相关产品推荐

