有没有办法在 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】:

对我有用的是&lt;br/&gt;

做这样的事情:

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 语言的文本字符串中添加换行符?的主要内容,如果未能解决你的问题,请参考以下文章

dax-自定义周做同比和环比

带有加号或减号的 DAX 数字格式

Excel用户如何学习数据分析语言DAX?

DAX 中的 IsoWeekYear

如何编写DAX表达式创建透视表

DAX 中没有 QUARTER()?真的吗?