PowerBI中如何为DAX函数添加ISBLANK判断与列拼接功能
调整后的DAX代码
EmployeeData = VAR SelectedEmpl_ID = SELECTEDVALUE (EMPLOYEE_TRANSCRIPT[EMPL_ID], "No Info available") VAR SelectedCrseCode = SELECTEDVALUE (EMPLOYEE_TRANSCRIPT[CRSE_CDE], "No Info available") VAR SelectedJJNbr = SELECTEDVALUE ( EMPLOYEE_TRANSCRIPT[EMPL_JJ_NBR], "No Info available" ) // 拼接员工姓名变量,无值时也返回默认提示 VAR SelectedEmpFullName = SELECTEDVALUE(EMPLOYEE_TRANSCRIPT[FirstName], "No Info available") & " " & SELECTEDVALUE(EMPLOYEE_TRANSCRIPT[LastName], "No Info available") VAR Label = SelectedEmpFullName & UNICHAR(10) & "Employee ID " & SelectedEmpl_ID & UNICHAR(10) & "Course Code: " & SelectedCrseCode & UNICHAR(10) & "Employee: " & SelectedJJNbr RETURN Label
调整实现说明
- 无选中值默认提示:利用
SELECTEDVALUE函数的第二个可选参数直接设置默认返回值,当筛选上下文中对应列没有唯一选中值时,就会自动返回No Info available,无需额外写IF判断逻辑。 - 员工姓名拼接展示:新增单独变量存储FirstName和LastName的拼接结果,放在返回文本的最开头,后续加
UNICHAR(10)实现换行即可。
DAX列拼接支持说明
DAX完全支持对表的列执行拼接操作,主要分为两类场景:
- 逐行拼接(行上下文场景):如果是为表新增计算列,直接用
&运算符或者CONCATENATE函数即可,示例计算列写法:FullName = EMPLOYEE_TRANSCRIPT[FirstName] & " " & EMPLOYEE_TRANSCRIPT[LastName]- 列全量值拼接:如果要把某一列的所有非重复值合并为单个字符串,使用
CONCATENATEX函数实现,示例:AllCourseCodes = CONCATENATEX(VALUES(EMPLOYEE_TRANSCRIPT[CRSE_CDE]), EMPLOYEE_TRANSCRIPT[CRSE_CDE], "、")
内容的提问来源于stack exchange,提问作者shortwalk
相关产品推荐
相关产品推荐

