Powerbi 自定义列以查找次优最小值
我有两个自定义列,第一个正在工作,它找到了最小文本值,下一个自定义列我正在努力为其编写正确的代码,我需要找到在第一个自定义列中找不到的下一个最小文本值 第1列代码(工作) 第二列代码(不工作需要帮助)Powerbi 自定义列以查找次优最小值,powerbi,dax,Powerbi,Dax,我有两个自定义列,第一个正在工作,它找到了最小文本值,下一个自定义列我正在努力为其编写正确的代码,我需要找到在第一个自定义列中找不到的下一个最小文本值 第1列代码(工作) 第二列代码(不工作需要帮助) 属性\u标识符\u 02= 如果( “客户属性”[ATTRIBUTE\u COUNTBY\u TID\u Identifier]>0 属性_标识符_01 BLANK(), 最小值('客户属性'[属性]) 在哪里( 最小值('客户属性'[属性]) “客户属性”[ATTRIBUTE\u IDENTIF
属性\u标识符\u 02=
如果(
“客户属性”[ATTRIBUTE\u COUNTBY\u TID\u Identifier]>0
属性_标识符_01 BLANK(),
最小值('客户属性'[属性])
在哪里(
最小值('客户属性'[属性])
“客户属性”[ATTRIBUTE\u IDENTIFIER\u 01])
),
空白()
)
我将创建10个
ATTRIBUTE\u IDENTIFIER
列,在每个列中,我需要确保找到下一个最小值。如果有一种简单的方法可以实现我想要的结果,我愿意接受建议。我建议对属性的值进行排序,然后根据需要进行排序:
ATTRIBUTE_IDENTIFIER_02 =
VAR Attributes =
CALCULATETABLE (
VALUES ( 'Customer Attributes'[Attribute] ),
ALL ( 'Customer Attributes' ),
'Customer Attributes'[ATTRIBUTE_COUNTBY_TID_Identifier] > 0
)
VAR Ranked =
ADDCOLUMNS (
Attributes,
"Rank", RANKX ( Attributes, [Attribute],, ASC, DENSE )
)
RETURN
MAXX ( FILTER ( Ranked, [Rank] = 2 ), [Attribute] )
第一个变量Attributes
只是满足条件'CustomerAttributes'[Attribute]
值的列表'CustomerAttributes'[Attribute\u COUNTBY\u TID\u Identifier]>0
我们使用该列表和一列按字母顺序对其进行排序,以获得排名
然后从排名
中获取最大(仅)属性
值,其中排名是您想要的
ATTRIBUTE_IDENTIFIER_02 =
IF (
'Customer Attributes'[ATTRIBUTE_COUNTBY_TID_Identifier] > 0
AND ATTRIBUTE_IDENTIFIER_01 <> BLANK (),
MIN ( 'Customer Attributes'[Attribute] )
WHERE (
MIN ( 'Customer Attributes'[Attribute] )
<> 'Customer Attributes'[ATTRIBUTE_IDENTIFIER_01] )
),
BLANK ()
)
ATTRIBUTE_IDENTIFIER_02 =
VAR Attributes =
CALCULATETABLE (
VALUES ( 'Customer Attributes'[Attribute] ),
ALL ( 'Customer Attributes' ),
'Customer Attributes'[ATTRIBUTE_COUNTBY_TID_Identifier] > 0
)
VAR Ranked =
ADDCOLUMNS (
Attributes,
"Rank", RANKX ( Attributes, [Attribute],, ASC, DENSE )
)
RETURN
MAXX ( FILTER ( Ranked, [Rank] = 2 ), [Attribute] )