You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Power BI中公历转Shamsi日期的正确公式写法咨询

在Power BI中将公历日期转换为波斯历(Shamsi)的解决方案

Power BI的DAX语法和SQL Server存在差异,你可以通过以下两种方法实现转换:

方法1:修正DAX的FORMAT函数用法

DAX里的参数分隔符是逗号(,)而非分号(؛),且波斯历对应的区域标识建议用fa-IR,修改后的公式如下:

FORMAT('fire Fires'[Acceptance Letter Date], "dd/MM/yyyy", "fa-IR")

如果需要显示纯波斯数字,也可以直接用fa作为区域参数:

FORMAT('fire Fires'[Acceptance Letter Date], "dd/MM/yyyy", "fa")

注意:若Power BI环境未安装波斯语语言包,需先安装对应语言包才能生效。

方法2:自定义DAX函数(兼容特殊场景)

如果上述方法失效,可手动编写转换逻辑,示例如下:

GregorianToShamsi = 
VAR GregorianDate = 'fire Fires'[Acceptance Letter Date]
VAR YearG = YEAR(GregorianDate)
VAR MonthG = MONTH(GregorianDate)
VAR DayG = DAY(GregorianDate)
VAR ShamsiYear = YearG - 621
VAR ShamsiMonth = MonthG - 3
RETURN
IF(
    MonthG <= 3,
    (ShamsiYear - 1) & "/" & (ShamsiMonth + 12) & "/" & DayG,
    ShamsiYear & "/" & ShamsiMonth & "/" & DayG
)

这个基础转换适用于常规日期,闰年等复杂场景需要补充更精细的判断逻辑。

内容的提问来源于stack exchange,提问作者user3287242

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 11:01:36