Date 日期为幂BI的DAX条件公式
我有几个带有日期的列(在PBI建模中格式为日期)。每一列代表一个阶段(“开始”-“完成”),我需要一个新的列来显示每一行所处的阶段 到目前为止,我有:Date 日期为幂BI的DAX条件公式,date,powerbi,dax,Date,Powerbi,Dax,我有几个带有日期的列(在PBI建模中格式为日期)。每一列代表一个阶段(“开始”-“完成”),我需要一个新的列来显示每一行所处的阶段 到目前为止,我有: Procurement Stage = IF(Milestones[Close Project]<>"1/01/1900","Close Project",IF(Milestones[Enable The Contract]<>"1/01/1900","Enable The Contract",IF(Milestone
Procurement Stage = IF(Milestones[Close Project]<>"1/01/1900","Close
Project",IF(Milestones[Enable The Contract]<>"1/01/1900","Enable The
Contract",IF(Milestones[Award Contract]<>"1/01/1900","Award
Contract",IF(Milestones[Recommend Offer]<>"1/01/1900","Recommend
Offer",IF(Milestones[Evaluate Offers]<>"1/01/1900","Evaluate
Offers",IF(Milestones[Implement Strategy]<>"1/01/1900","Implement
Strategy",If(Milestones[Strategy Approval]<>"1/01/1900","Strategy
Approval",IF(Milestones[Conduct Analysis]<>"1/01/1900","Conduct
Analysis",IF(Milestones[Initiate Project]<>"1/01/1900","Initiate Project","Not
Yet Started")))))))))
采购阶段=如果(里程碑[结束项目]“1900年1月1日”,“结束
项目“,如果(里程碑[启用合同]”,1900年1月1日,“启用
合同“,如果(里程碑[授予合同]”,1900年1月1日,“授予
合同“,如果(里程碑[推荐报价]”,1900年1月1日,“推荐
报价“,如果(里程碑[评估报价]”,1900年1月1日,“评估
提供”,如果(里程碑[实施战略],“1900年1月1日”,“实施
战略”,如果(里程碑[战略批准],“1900年1月1日”,“战略
批准”,如果(里程碑[进行分析],“1900年1月1日”,“进行
分析“,如果(里程碑[启动项目]”,1900年1月1日,“启动项目”,“不
但却开始了(()()())
它会出现以下错误:
DAX比较操作不支持将日期类型的值与文本类型的值进行比较。考虑使用“值”或“格式”函数来转换其中的一个值。
我仔细检查并确保所有列的格式都是相同的-日期
有人能帮忙吗
我需要在建模中完成,因此我需要在DAX中完成
谢谢
Evgeny试试:
Procurement Stage =
VAR My_Date = DATE ( 1900, 1, 1 )
RETURN
SWITCH (
TRUE(),
Milestones[Close Project] <> My_Date, "Close Project",
Milestones[Enable The Contract] <> My_Date, "Enable The Contract",
Milestones[Award Contract] <> My_Date, "Award Contract",
Milestones[Recommend Offer] <> My_Date, "Recommend Offer",
Milestones[Evaluate Offers] <> My_Date, "Evaluate Offer",
Milestones[Implement Strategy] <> My_Date, "Implement Strategy",
Milestones[Strategy Approval] <> My_Date, "Strategy Approval",
Milestones[Conduct Analysis] <> My_Date, "Conduct Analysis",
Milestones[Initiate Project] <> My_Date, "Initiate Project",
"Not Yet Started"
)
采购阶段=
VAR My_Date=日期(1900,1,1)
返回
开关(
真(),
里程碑【关闭项目】我的_日期,“关闭项目”,
里程碑[启用合同]我的_日期,“启用合同”,
里程碑[授予合同]我的_日期,“授予合同”,
里程碑[推荐报价]我的日期,“推荐报价”,
里程碑[评估报价]我的日期,“评估报价”,
里程碑[实施战略]我的_日期,“实施战略”,
里程碑【战略批准】我的_日期,“战略批准”,
里程碑【行为分析】我的_日期,“行为分析”,
里程碑【启动项目】我的_日期,“启动项目”,
“尚未开始”
)
错误与您的列无关。文本“1/01/1900”
是文本类型,不能直接与日期类型列进行比较。@AndreyNikolov,谢谢。我使用日期(1900,1,1)将“1/01/1900”转换为日期格式。它对汉克斯有效。我使用日期(1900,1,1)将“1/01/1900”转换为日期格式。成功了。