Строка рассчитывается из существующих строк при определенных условиях - PullRequest
0 голосов
/ 08 апреля 2020

Я действительно новичок в Power BI, я аналитик данных и обычно работаю с кодом, поэтому я не очень знаком с Excel, как формулы x)

У меня есть таблица с примерно 20 столбцами, и мне нужно только 2 столбца для этого расчета, поэтому я собираюсь увеличить нужные мне столбцы:

enter image description here

Я хочу добавить строки с атрибутом 5 для атрибута 1 - атрибута 2 - Атрибут3.

Результат должен выглядеть следующим образом:

enter image description here

Я действительно застрял с этим со вчерашнего утра x)

Я достиг этого с помощью Mesure:

  1. Создание таблицы, содержащей различные атрибуты:

    TableXX = UNION(DISTINCT('Table'[Attributes]),{{"Attribute5"}})

  2. Выполнение вычисления с помощью мера:

    Measure = SUMX ( DISTINCT ( 'Table 3'[Attributes] ), SWITCH ( 'Table 3'[Attributes], "Attribute5", CALCULATE ( SUM ( 'Table'[Value] ), 'Table'[Attributes] = "Attribute1" ) - CALCULATE ( SUM ( 'Table'[Value] ), 'Table'[Attributes] = "Attribute2" ) - CALCULATE ( SUM ( 'Table'[Value] ), 'Table'[Attributes] = "Attribute3" ), var a = 'Table 3'[Attributes] return CALCULATE ( SUM ( 'Table'[Value] ),'Table'[Attributes]=a) ) )

Но я не очень хочу меру, я хочу заменить столбец значений этим мерилом, как Могу ли я достичь этого?

С уважением

Ответы [ 2 ]

2 голосов
/ 08 апреля 2020

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

NewTable =
VAR Table5 =
    SUMMARIZE (
        FILTER (
            'Table 3',
            'Table 3'[Attributes] IN { "Attribute1", "Attribute2", "Attribute3" }
        ),
        'Table 3'[Date],
        "Attributes", "Attribute5",
        "Value", SUMX (
            'Table 3',
            IF (
                'Table 3'[Attributes] = "Attribute1",
                'Table 3'[Value],
                - 'Table 3'[Value]
            )
        )
    )
RETURN
    UNION ( 'Table 3', Table5 )

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

1 голос
/ 08 апреля 2020

Я бы сказал, что проще всего повернуть столбец Values, чтобы вы получили таблицу со столбцами Date, Attribute1, Attribute2, Attribute3 и Attribute4:

enter image description here

Затем добавьте пользовательский столбец Attribute5:

enter image description here

И затем разверните столбцы атрибутов для возврата таблицы:

enter image description here

...