Пользовательский столбец, чтобы найти следующий следующий лучший минимум - PullRequest
1 голос
/ 03 июля 2019

У меня есть два пользовательских столбца, первый работает, и он находит минимальное текстовое значение, следующий пользовательский столбец, для которого я пытаюсь написать правильный код, мне нужно найти следующее минимальное текстовое значение, не найденное в первом настраиваемый столбец

КОД для 1-го столбца (рабочий)

ATTRIBUTE_IDENTIFIER_01 =
IF (
    'Customer Attributes'[ATTRIBUTE_COUNTBY_TID_Identifier] > 0,
    MIN ( 'Customer Attributes'[Attribute] ),
    BLANK ()
)

КОД для 2-й колонки (не работает, нужна помощь)

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 ()
)

Я буду создавать 10 из этих ATTRIBUTE_IDENTIFIER столбцов, и в каждом из них мне нужно убедиться, что я нашел следующее минимальное значение. Я открыт для предложений, если есть упрощенный способ достижения результатов, которые я ищу.

1 Ответ

1 голос
/ 03 июля 2019

Я бы посоветовал ранжировать значения Attribute, а затем выбрать любой желаемый ранг:

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 - это просто список значений 'Customer Attributes'[Attribute], которые удовлетворяют условию'CustomerAttributes'[ATTRIBUTE_COUNTBY_TID_Identifier] > 0.

Мы берем этот список и столбец, чтобы ранжировать его в алфавитном порядке, чтобы получить Ranked.

Затем получаем максимальное (только) Attribute значение из Ranked, гдеранг это то, что вы хотите.

...