Powerbi 如何获取Power BI桌面度量中空格的deafult字符串值
我有两个表(Sales[OrderNumer,Price,ItemId,…]和Item[Id,Name,Type]),我有一个返回如下字符串的度量值:Powerbi 如何获取Power BI桌面度量中空格的deafult字符串值,powerbi,dax,Powerbi,Dax,我有两个表(Sales[OrderNumer,Price,ItemId,…]和Item[Id,Name,Type]),我有一个返回如下字符串的度量值: ItemsType1 = CALCULATE( CONCATENATEX('Sales', RELATED('Item'[Name]), ","), 'Item'[Type] = "type1" 我在Power BI Desktop中有一个订单级别的表,带有度量项Stype1[OrderNumer,ItemsType1]。我想将I
ItemsType1 = CALCULATE(
CONCATENATEX('Sales', RELATED('Item'[Name]), ","), 'Item'[Type] = "type1"
我在Power BI Desktop中有一个订单级别的表,带有度量项Stype1[OrderNumer,ItemsType1]。我想将ItemType1列的空白值更改为默认值,如“n/a”,并将度量值改写为:
ItemsType1 = VAR x = CALCULATE(
CONCATENATEX('Sales', RELATED('Item'[Name]), ","), 'Item'[Type] = "type1")
RETURN IF( ISBLANK(x), "n/a", x )
度量值返回预期值,但这样,对于Sales
表中的600000行,内存突然增长,视觉崩溃。我有16GB的内存。我认为问题在于IF语句,但我不知道为什么。我想了解为什么在性能上存在这种差异,以及最好的方法是什么
我很确定它爆炸的原因是因为您编写它的方式,它将返回
“n/a”
,用于表中所有可能的事情,而不仅仅是您正在筛选的类型1
解决方案是将IF
移动到串联内部。试着这样做:
ItemsType1 =
CALCULATE (
CONCATENATEX ( 'Sales',
IF(ISBLANK( RELATED ( 'Item'[Name] ) )
"n/a",
RELATED ( 'Item'[Name] )
),
"," ),
'Item'[Type] = "type1"
)
上面的工作并不像我预期的那样。尝试将
返回
行改为:
RETURN
IF(
COUNTROWS( RELATEDTABLE( 'Item' ) ) = 0,
BLANK(),
IF( ISBLANK( x ), "n/a", x )
)
这将在执行任何较重的计算之前检查任何空的相关表。您好,我尝试了您的建议,但没有
type1
相关项的行仍为空。这就像只对那些具有相关type1
项的行计算catenatex
表达式,因此其余行的度量值为空。我还尝试了IF
语句中的其他条件。您是正确的。它不会返回除type1
之外的任何内容。我以为这就是你想要的。您能否准确地指定要显示的n/a
级别以及留空的级别?你的视频截图会有帮助的。当然,我更新了一个链接到示例图像的问题。对于订单1003,我需要一个n/a
,该订单没有type1
的相关项目。我的销售表大约有600000行。您好,我尝试了您的解决方案,但内存性能相同。我认为,COUNTROWS(RELATEDTABLE('Item'))=0
对于我的情况总是false
。Hmmm。如果将其包装在计算中会怎么样<代码>计算(COUNTROWS(RELATEDTABLE('Item')),'Item'[Type]=“type1”)=0