Копировать значение из другой таблицы на основе параметра

#powerbi

#powerbi

Вопрос:

введите описание изображения здесь

Это код, который я использую, и он показывает ошибку. Я проверяю, где совпадают значения периодов, и копирую данные из таблицы, где значения периодов являются именами столбцов.

 Column = IF(AND(BillingData[Period] = 1,
MINX( 
RELATEDTABLE(AdminTarget),
AdminTarget[1]))

  

Я попробовал этот код изначально, чтобы протестировать только один период, и он работает. Но я хочу сделать это для всех периодов.

Любая помощь будет высоко оценена, поскольку я новичок в PowerBI.

Комментарии:

1. можете ли вы показать некоторые примеры данных из обеих таблиц?

Ответ №1:

Я думаю, что вы на полпути, TREATAS может вывести вас за рамки, вот как я недавно использовал его для измерения, которое, как вы можете обнаружить, имеет больше полезности, чем столбец.

 LatestPrice = 
Var MaxId = CALCULATE(Max(CryptoQuote[Id]),TREATAS(Values(Crypto_Spark[Symbol]),CryptoQuote[Symbol]))
RETURN CALCULATE(MAX(CryptoQuote[Price]),CryptoQuote[Id]=MaxId)
  

Это просто создает динамическую связь между двумя таблицами, так что фильтр CryptoSpark используется в CryptoQuote.
В вашем случае вы бы TREATAS(Values(BillingData[Period]),(AdminTarget[ID]))
TREATAS действительно удобен, но мне было трудно разобраться, это хорошая ссылка для объяснения, с хорошим примером TREATAS. Надеюсь, это поможет, путешествие по PowerBI всегда сложное, но полезное

Комментарии:

1. Я рассмотрю это. Большое вам спасибо 🙂

Ответ №2:

Если и ваша таблица BillingData, и AdminTarget имеют отношение к какому-либо столбцу, например ID, вы можете использовать приведенный ниже код для своего нового пользовательского столбца

 Column 2 = 
SWITCH(
    TRUE(),
    BillingData[Period] = "1",  RELATED(AdminTarget[1]),
    BillingData[Period] = "2",  RELATED(AdminTarget[2]),
    BillingData[Period] = "3",  RELATED(AdminTarget[3]),
    BillingData[Period] = "4",  RELATED(AdminTarget[4]),
    BillingData[Period] = "5",  RELATED(AdminTarget[5]),
    BillingData[Period] = "6",  RELATED(AdminTarget[6]),
    BillingData[Period] = "7",  RELATED(AdminTarget[7]),
    BillingData[Period] = "8",  RELATED(AdminTarget[8]),
    BillingData[Period] = "9",  RELATED(AdminTarget[9]),
    BillingData[Period] = "10", RELATED(AdminTarget[10]),
    BillingData[Period] = "11", RELATED(AdminTarget[11]),
    BillingData[Period] = "12", RELATED(AdminTarget[12])

)