有没有办法在 Microsoft 的 DAX 语言的文本字符串中添加换行符?
Posted
技术标签:
【中文标题】有没有办法在 Microsoft 的 DAX 语言的文本字符串中添加换行符?【英文标题】:Is there a way to add line breaks in a string of text in Microsoft's DAX language? 【发布时间】:2016-06-25 13:32:39 【问题描述】:我有一个 DAX 函数,可以将多个文本字符串(来自多列)拉入一个单元格。但在展示时,我希望在段落的标题和正文之间有一个换行符。有没有办法用 DAX 在换行符中编码?仅供参考,我为此使用 Power BI。谢谢!
【问题讨论】:
通常的“嫌疑人”\n\r 和 只是在文本字段中分别给了我“\n\r 和”.... 可以使用power Query导入数据吗?如果你能做到这一点,我之前使用过一个解决方案在字符串之间插入回车符。告诉我 您可以使用电源查询导入数据,但我正在寻找创建一个新的回车并且不知道这样做的代码...... 【参考方案1】:首先,我们必须使用 CONCATENATE() 方法创建字符串连接,然后使用 UNICHAR(10) 在字符串之间创建空间
Product Sold Count =
VAR Valuel = "Product Sold"
VAR Value2 = "Today : " & (
CALCULATE(
SUMX(
FILTER(
'api_Product Sold',
'api_Product Sold'[Date] = TODAY()
),
'api_Product Sold'[Count]
)
)
+ 0 )
VAR Value3 = "Total : " & (
CALCULATE(
SUMX(
FILTER(
'api_Product Sold',
'api_Product Sold'[Date] <= TODAY()
),
'api_Product Sold'[Count]
)
)
+ 0 )
VAR FirstCONCATENATE = CONCATENATE(CONCATENATE(Valuel,UNICHAR(10)),Value2)
VAR SecondCONCATENATE = CONCATENATE(CONCATENATE(Value2,UNICHAR(10)),Value3)
RETURN SecondCONCATENATE
一旦你的字符串准备好了,然后选择卡片聊天并分配创建的度量
如果卡片图表的高度应该合适,那么只有自动换行才能工作,并且在它应该在格式选项卡上启用自动换行属性之前
【讨论】:
【参考方案2】:使用 DAX 字符串 = [字段 A] & UNICHAR(10) & [字段 B]
示例: 字段 A 包含文本:2018 年 1 月 11 日 字段 B 包含文本:猫王生日快乐
这将返回:
2018 年 1 月 11 日
猫王生日快乐
【讨论】:
【参考方案3】:对我有用的是<br/>
。
做这样的事情:
String = CONCATENATE(CONCATENATE("HEADER","<br/>"),"BODY")
预期的输出是:
标题 身体
【讨论】:
我从中得到的只是:HEADERBODY【参考方案4】:在 BI Desktop 中,只需在 DAX 公式中输入 alt-enter 即可添加新行 例如:
CONCATENATEX(Project, ProjectName & ":" & [some-measure],
//new line in parameter delimiter
",
"
)
【讨论】:
这是一个很好的解决方案,但建议在 DAX 公式中使用变量,因为它可以多次使用。在此处查找示例:community.powerbi.com/t5/Desktop/…【参考方案5】:在 Lines.ToText 示例中使用的 PowerqueryFormulaReference 类似于
#(cr)#(lf)
我将它作为字符串 (!) 添加到我的文本中并且它起作用了......
【讨论】:
我讨厌分裂头发(尤其是在关于串联的讨论中:-))但 PowerQuery 不是 DAX。这个问题似乎专门针对 DAX。以上是关于有没有办法在 Microsoft 的 DAX 语言的文本字符串中添加换行符?的主要内容,如果未能解决你的问题,请参考以下文章