Oleg dashenko Пользователь Сообщений: 117 |
#1 27.05.2019 09:25:59 Добрые день! Есть вопрос который мне пока непонятен. Может кто знает причину почему в POWER PIVOTE функция LOOKUPVALUE не подтягивает из Таблицы 1 в таблицу 2 значение поля [Статус]. Спасибо!
Прикрепленные файлы
Изменено: Oleg dashenko — 27.05.2019 09:48:44 |
||
Sanja Пользователь Сообщений: 14853 |
#2 27.05.2019 09:43:57
Прикрепленные файлы
Изменено: Sanja — 27.05.2019 09:45:18 Согласие есть продукт при полном непротивлении сторон. |
||
Сергей Пользователь Сообщений: 11251 |
какое то непонятное у вас заполнение функции Лень двигатель прогресса, доказано!!! |
как это сделать в excel я знаю, у меня в Power Pivot не получается! Изменено: Oleg dashenko — 27.05.2019 09:47:43 |
|
Sanja Пользователь Сообщений: 14853 |
#5 27.05.2019 09:47:25
Предупреждать надо! Согласие есть продукт при полном непротивлении сторон. |
||
Oleg dashenko Пользователь Сообщений: 117 |
#6 27.05.2019 09:49:36
Исправил в описании |
||
Tuvash Пользователь Сообщений: 7 |
#7 27.05.2019 09:55:28
Порядок был не тот |
||
Спасибо! теперь масштабировал на всю таблицу и появилась еще одна проблема. Ошибка! Изменено: Oleg dashenko — 27.05.2019 10:26:34 |
|
PooHkrd Пользователь Сообщений: 6602 Excel x64 О365 / 2016 / Online / Power BI |
Эта функция в отличие от ВПР находит не первое по порядку значения, а все, которые соответствуют ключу, соответственно если вы используете это выражение в качестве скалярной величины, а по факту на выходе получается множество значений, то нужно указать какое из этого множества выбрать. Первое/последнее/из серединки, короче говоря как-то агрегировать. Вот горшок пустой, он предмет простой… |
Oleg dashenko Пользователь Сообщений: 117 |
#10 27.05.2019 10:34:38
Если хочу например выбрать последнее значение как это реализовать? Как в LOOKUPVALUE показать какое значение выбрать из всего множества? |
||
PooHkrd Пользователь Сообщений: 6602 Excel x64 О365 / 2016 / Online / Power BI |
#11 27.05.2019 10:51:20 LOOKUPVALUE на выходе дает таблицу, чтобы выбрать последнее значение, вы можете использовать функцию TOPN , например. Типа такого:
, где <orderBy_expression> это выражение, которые показывает функции какая из строк — первая, а какая последняя. Ну и можно еще четвертый аргумент вставить если сортировка по этому выражению должна быть по убыванию, по умолчанию она по возрастанию. вариант с форума МС Изменено: PooHkrd — 27.05.2019 10:56:57 Вот горшок пустой, он предмет простой… |
||
Oleg dashenko Пользователь Сообщений: 117 |
#12 27.05.2019 11:48:24
Спасибо огромное это правильное решение! |
||
Oleg dashenko Пользователь Сообщений: 113 |
#1 27.05.2019 09:25:59 Добрые день! Есть вопрос который мне пока непонятен. Может кто знает причину почему в POWER PIVOTE функция LOOKUPVALUE не подтягивает из Таблицы 1 в таблицу 2 значение поля [Статус]. Спасибо!
Прикрепленные файлы
Изменено: Oleg dashenko — 27.05.2019 09:48:44 |
||
Sanja Пользователь Сообщений: 14837 |
#2 27.05.2019 09:43:57
Прикрепленные файлы
Изменено: Sanja — 27.05.2019 09:45:18 Согласие есть продукт при полном непротивлении сторон. |
||
Сергей Пользователь Сообщений: 11251 |
какое то непонятное у вас заполнение функции Лень двигатель прогресса, доказано!!! |
как это сделать в excel я знаю, у меня в Power Pivot не получается! Изменено: Oleg dashenko — 27.05.2019 09:47:43 |
|
Sanja Пользователь Сообщений: 14837 |
#5 27.05.2019 09:47:25
Предупреждать надо! Согласие есть продукт при полном непротивлении сторон. |
||
Oleg dashenko Пользователь Сообщений: 113 |
#6 27.05.2019 09:49:36
Исправил в описании |
||
Tuvash Пользователь Сообщений: 7 |
#7 27.05.2019 09:55:28
Порядок был не тот |
||
Спасибо! теперь масштабировал на всю таблицу и появилась еще одна проблема. Ошибка! Изменено: Oleg dashenko — 27.05.2019 10:26:34 |
|
PooHkrd Пользователь Сообщений: 6602 Excel x64 О365 / 2016 / Online / Power BI |
Эта функция в отличие от ВПР находит не первое по порядку значения, а все, которые соответствуют ключу, соответственно если вы используете это выражение в качестве скалярной величины, а по факту на выходе получается множество значений, то нужно указать какое из этого множества выбрать. Первое/последнее/из серединки, короче говоря как-то агрегировать. Вот горшок пустой, он предмет простой… |
Oleg dashenko Пользователь Сообщений: 113 |
#10 27.05.2019 10:34:38
Если хочу например выбрать последнее значение как это реализовать? Как в LOOKUPVALUE показать какое значение выбрать из всего множества? |
||
PooHkrd Пользователь Сообщений: 6602 Excel x64 О365 / 2016 / Online / Power BI |
#11 27.05.2019 10:51:20 LOOKUPVALUE на выходе дает таблицу, чтобы выбрать последнее значение, вы можете использовать функцию TOPN , например. Типа такого:
, где <orderBy_expression> это выражение, которые показывает функции какая из строк — первая, а какая последняя. Ну и можно еще четвертый аргумент вставить если сортировка по этому выражению должна быть по убыванию, по умолчанию она по возрастанию. вариант с форума МС Изменено: PooHkrd — 27.05.2019 10:56:57 Вот горшок пустой, он предмет простой… |
||
Oleg dashenko Пользователь Сообщений: 113 |
#12 27.05.2019 11:48:24
Спасибо огромное это правильное решение! |
||
I am trying to return the respective rating that a particular value in a column falls within. For example, if the grade is 90< and >100 assign A. However, the formula I am using is resulting in the error. «A table of multiple values was supplied where a single value was expected.»
Availability Rating =
CALCULATE (
VALUES ( 'Rating Matrix'[Rating] ),
FILTER (
'Rating Matrix',
'Rating Matrix'[Avaibility (L)] <= 'Equipment_Status'[Availability]
&& 'Rating Matrix'[Availability (H)] >= 'Equipment_Status'[Availability]
&& 'Rating Matrix'[Bus Type] = 'Equipment_Status'[Helper]
)
)
This is the helper field referenced in the formula which distinguishes 2 types of assets.
Helper = RELATED('Performance Matrix'[Helper])
Alexis Olson
38k7 gold badges42 silver badges64 bronze badges
asked Feb 22, 2019 at 18:33
This error message is usually related to the VALUES
function. Since this function can return multiple values (all the existing values in the local filter context) but measures can only output a single value, you get an error in the cases where it does return more than one value.
In the case where there are multiple values, you need to decide which one you want to pick or how to aggregate them. You could take a MAX
or MIN
, SUM
or AVERAGE
, or you could even CONCATENATEX
them all into a single string.
answered Feb 22, 2019 at 19:03
Alexis OlsonAlexis Olson
38k7 gold badges42 silver badges64 bronze badges
2
I am trying to return the respective rating that a particular value in a column falls within. For example, if the grade is 90< and >100 assign A. However, the formula I am using is resulting in the error. «A table of multiple values was supplied where a single value was expected.»
Availability Rating =
CALCULATE (
VALUES ( 'Rating Matrix'[Rating] ),
FILTER (
'Rating Matrix',
'Rating Matrix'[Avaibility (L)] <= 'Equipment_Status'[Availability]
&& 'Rating Matrix'[Availability (H)] >= 'Equipment_Status'[Availability]
&& 'Rating Matrix'[Bus Type] = 'Equipment_Status'[Helper]
)
)
This is the helper field referenced in the formula which distinguishes 2 types of assets.
Helper = RELATED('Performance Matrix'[Helper])
Alexis Olson
38k7 gold badges42 silver badges64 bronze badges
asked Feb 22, 2019 at 18:33
This error message is usually related to the VALUES
function. Since this function can return multiple values (all the existing values in the local filter context) but measures can only output a single value, you get an error in the cases where it does return more than one value.
In the case where there are multiple values, you need to decide which one you want to pick or how to aggregate them. You could take a MAX
or MIN
, SUM
or AVERAGE
, or you could even CONCATENATEX
them all into a single string.
answered Feb 22, 2019 at 19:03
Alexis OlsonAlexis Olson
38k7 gold badges42 silver badges64 bronze badges
2
I’m creating a PowerBI dashboard for supply chain backorders. There was a great video I saw from Microsoft demonstrating a Dynamic message card on their Destiny dashboard showing players and their favorite weapon, https://youtu.be/uHP7YJH526c?t=2438… I thought this would be a cool feature to implement but showing backorders with impacted Sales Reps and their Accounts. I essentially did a copy and paste of his code, but modified the variables as well as adding «affected product». Unfortunately, it doesn’t work perfectly (some cases works) but a majority of the time I get this:
Error Message: MdxScript(Model) (17, 125) Calculation error in measure
‘Salesforce CC Backorder Report'[BackorderIQ]: A table of multiple
values was supplied where a single value was expected.
I get that it has to do with the fact that if I select a Sales rep, they may have multiple Products that are on backorder, so I tried variations in my maxBackorderForProduct variable (COUNT, COUNTA, COUNTX, COUNTAX, MAX, MAXX, MAXA)… so far MAXX is less likely to break it so I’m using that for now.
BackorderIQ =
VAR selectedRepName =
FIRSTNONBLANK ( 'BOreport'[Sales Rep Name], TRUE )
VAR selectedActName =
FIRSTNONBLANK ( 'BOreport'[Account Name], TRUE )
VAR selectedProduct =
FIRSTNONBLANK ( 'BOreport'[Product ID], FALSE () )
VAR maxBackorderforSelectedAct =
MAXX (
SUMMARIZECOLUMNS (
'BOreport'[Sales Rep Name],
"Orders", SUM ( 'BOreport'[Back Order Qty] )
),
[Orders]
)
VAR maxBackorderforSelectedRep =
MAXX (
SUMMARIZECOLUMNS (
'BOreport'[Account Name],
"Orders", SUM ( 'BOreport'[Back Order Qty] )
),
[Orders]
)
VAR maxBackorderForProduct =
MAXX (
SUMMARIZECOLUMNS (
'BOreport'[Product ID],
"Orders", SUM ( 'BOreport'[Back Order Qty] )
),
[Orders]
)
RETURN
IF (
HASONEVALUE ( 'BOreport'[Sales Rep Name] ),
selectedRepName & " has " & maxBackorderforSelectedRep & " backorders of " & selectedProduct & " at "
& LOOKUPVALUE (
'BOreport'[Account Name],
'BOreport'[Back Order Qty], MAX ( 'BOreport'[Back Order Qty] )
),
IF (
HASONEVALUE ( 'BOreport'[Account Name] ),
selectedActName & "'s has " & maxBackorderforSelectedAct & " backorders of " & selectedProduct & ", so give "
& LOOKUPVALUE (
'BOreport'[Sales Rep Name],
'BOreport'[Back Order Qty], MAX ( 'BOreport'[Back Order Qty] )
) & " a heads up.",
"Select a Product below, OR an Account or Sales Rep to the right."
)
)
I hope I can get the card to say the expected, «ACCOUNT2 has 50 backorders of ProductB, so give JOHN SMITH a heads up.» which is the max value they would get, because JOHN SMITH could also have 20 backorders of ProductA from Account1.
I’m creating a PowerBI dashboard for supply chain backorders. There was a great video I saw from Microsoft demonstrating a Dynamic message card on their Destiny dashboard showing players and their favorite weapon, https://youtu.be/uHP7YJH526c?t=2438… I thought this would be a cool feature to implement but showing backorders with impacted Sales Reps and their Accounts. I essentially did a copy and paste of his code, but modified the variables as well as adding «affected product». Unfortunately, it doesn’t work perfectly (some cases works) but a majority of the time I get this:
Error Message: MdxScript(Model) (17, 125) Calculation error in measure
‘Salesforce CC Backorder Report'[BackorderIQ]: A table of multiple
values was supplied where a single value was expected.
I get that it has to do with the fact that if I select a Sales rep, they may have multiple Products that are on backorder, so I tried variations in my maxBackorderForProduct variable (COUNT, COUNTA, COUNTX, COUNTAX, MAX, MAXX, MAXA)… so far MAXX is less likely to break it so I’m using that for now.
BackorderIQ =
VAR selectedRepName =
FIRSTNONBLANK ( 'BOreport'[Sales Rep Name], TRUE )
VAR selectedActName =
FIRSTNONBLANK ( 'BOreport'[Account Name], TRUE )
VAR selectedProduct =
FIRSTNONBLANK ( 'BOreport'[Product ID], FALSE () )
VAR maxBackorderforSelectedAct =
MAXX (
SUMMARIZECOLUMNS (
'BOreport'[Sales Rep Name],
"Orders", SUM ( 'BOreport'[Back Order Qty] )
),
[Orders]
)
VAR maxBackorderforSelectedRep =
MAXX (
SUMMARIZECOLUMNS (
'BOreport'[Account Name],
"Orders", SUM ( 'BOreport'[Back Order Qty] )
),
[Orders]
)
VAR maxBackorderForProduct =
MAXX (
SUMMARIZECOLUMNS (
'BOreport'[Product ID],
"Orders", SUM ( 'BOreport'[Back Order Qty] )
),
[Orders]
)
RETURN
IF (
HASONEVALUE ( 'BOreport'[Sales Rep Name] ),
selectedRepName & " has " & maxBackorderforSelectedRep & " backorders of " & selectedProduct & " at "
& LOOKUPVALUE (
'BOreport'[Account Name],
'BOreport'[Back Order Qty], MAX ( 'BOreport'[Back Order Qty] )
),
IF (
HASONEVALUE ( 'BOreport'[Account Name] ),
selectedActName & "'s has " & maxBackorderforSelectedAct & " backorders of " & selectedProduct & ", so give "
& LOOKUPVALUE (
'BOreport'[Sales Rep Name],
'BOreport'[Back Order Qty], MAX ( 'BOreport'[Back Order Qty] )
) & " a heads up.",
"Select a Product below, OR an Account or Sales Rep to the right."
)
)
I hope I can get the card to say the expected, «ACCOUNT2 has 50 backorders of ProductB, so give JOHN SMITH a heads up.» which is the max value they would get, because JOHN SMITH could also have 20 backorders of ProductA from Account1.
Я подозреваю, что ошибка вызвана этой строкой в блоке HASONEVALUE (‘BOreport'[имя торгового представителя]):
selectedRepName & " has " & maxBackorderforSelectedRep & " backorders of " & selectedProduct & " at "
Этот код состоит из 3 элементов:
selectedRepName, maxBackorderforSelectedRep и selectedProduct
MaxBackorderforSelectedRep не может вызвать никаких проблем, поскольку всегда возвращает 1 значение.
SelectedRepName может вызвать проблемы (он возвращает несколько значений, если не выбран конкретный Rep), но формула защищает от такого сценария с помощью HASONEVALUE.
SelectedProduct похож на selectedRepName, поэтому он может возвращать несколько значений, если не выбран конкретный представитель, и у вас нет защиты от такого сценария. Отсюда ошибка.
Простой способ исправить это — добавить аналогичную защиту:
IF (
HASONEVALUE ( 'BOreport'[Sales Rep Name] ) &&
HASONEVALUE ( 'BOreport'[Product ID]),
selectedRepName & " has " & maxBackorderforSelectedRep & " backorders of " & selectedProduct & " at "
& LOOKUPVALUE (
'BOreport'[Account Name],
'BOreport'[Back Order Qty], MAX ( 'BOreport'[Back Order Qty] )
),
И та же логика должна применяться ко второму блоку:
IF (
HASONEVALUE ( 'BOreport'[Account Name] ) &&
HASONEVALUE ( 'BOreport'[Product ID]),
selectedActName & "'s has " & maxBackorderforSelectedAct & " backorders of " & selectedProduct & ", so give "
& LOOKUPVALUE (
'BOreport'[Sales Rep Name],
'BOreport'[Back Order Qty], MAX ( 'BOreport'[Back Order Qty] )
) & " a heads up."
Это должно устранить ошибку. Однако я не могу гарантировать, что вы получите желаемое поведение — формула подразумевает, что вы должны выбрать конкретный Rep А ТАКЖЕ конкретного продукта, иначе он вернет сообщение по умолчанию.
Как найти первое непустое значение в несвязанной таблице. Я хочу эквивалент:
- SQL
outer apply (select top 1 ...)
или - Excel
VLOOKUP
.
Функция DAX LOOKUPVALUE
, используемая в этом коде, не работает.
LOOKUPVALUE(
SearchTable[name]
, SearchTable[id] -- how to get the fist value, if here are multiple id?
, ThisTable[id]
)
Функция DAX LOOKUPVALUE
работает нормально, если в результате возвращается только одно уникальное значение. Функция LOOKUPVALUE
возвращает сообщение об ошибке, если в таблице поиска найдено несколько значений для одного ключа:
Была предоставлена таблица с несколькими значениями, где ожидалось одно значение.
Я не хочу сообщение об ошибке, я доволен первым результатом 1.
Пример файла данных:
DAX lookup top 1 value.pbix
Комментарий к принятому ответу
Больше всего я предпочитаю второй подход Алексис Олсон, хотя я предпочитаю VAR
варианту EARLIER
:
MyLookup =
var LookupKey = ThisTable[Product]
return
CALCULATE (
MAX ( SearchTable[Category] ),
SearchTable[Product] = LookupKey
)
Я принял это, хотя у меня есть сильное чувство, что это не лучший ответ, который может существовать. Функция возвращает MAX
вместо TOP 1
, что, очевидно, требует дополнительных усилий.
Пример данных теперь содержит 4 рабочих решения. Я пронумеровал их в соответствии со своими предпочтениями. Первые два Алексис Олсон. Насколько я мог узнать из DAX Studio, оба решения одинаково быстры и имеют простой план выполнения. Второе решение — единственное решение, которое выполняет только два сканирования таблицы (все другие подходы имеют 3 сканирования). Третье решение имеет сложный план выполнения, и во время третьего сканирования оно проходит через всю таблицу поиска, независимо от того, является ли оно миллионами строк.
У этого вопроса есть дополнительный вопрос, в котором я пытаюсь сравнить запросы в Dax Studio:
Как проверить в Daxstudio, какой запрос DAX имеет лучшую производительность?
Обновление ищет дальнейших улучшений
Интересно, возможно ли достичь более короткого плана запроса, чем текущий выигрышный ответ. Код победы будет оцениваться в DaxStudio и должен иметь более короткий план запроса, чем всего 20 строк как физических, так и логических строк план запроса.
-- Bounty code
EVALUATE
ADDCOLUMNS (
VALUES ( ThisTable[Product] ),
"FilterLookup",
VAR LookupKey = ThisTable[Product]
RETURN
CALCULATE ( MAX ( SearchTable[Category] ), SearchTable[Product] = LookupKey )
)
3 ответа
Лучший ответ
Есть много способов сделать это. Вот первые три, которые приходят на ум:
Это простейшая функция поиска, но она работает только в том случае, если с SearchTable
связана каждая категория с каждым продуктом.
LookupFunction =
LOOKUPVALUE ( SearchTable[Category], SearchTable[Product], ThisTable[Product] )
Следующее будет по-прежнему работать с несколькими категориями продуктов:
MaxxLookup =
MAXX (
FILTER ( SearchTable, SearchTable[Product] = ThisTable[Product] ),
SearchTable[Category]
)
CaclculateMaxLookup =
CALCULATE (
MAX ( SearchTable[Category] ),
SearchTable[Product] = EARLIER ( ThisTable[Product] )
)
Если вы хотите использовать 2-й или 3-й в качестве меры вместо вычисляемого столбца, их необходимо будет скорректировать.
Примечание. Вышеуказанное работает как вычисляемые столбцы . Если вы хотите, чтобы они работали как вычисляемые столбцы и как меры, настройте их следующим образом:
LookupMeasure =
LOOKUPVALUE (
SearchTable[Category],
SearchTable[Product], CALCULATE ( SELECTEDVALUE ( ThisTable[Product] ) )
)
MaxxMeasure=
VAR CurrProduct = CALCULATE ( SELECTEDVALUE ( ThisTable[Product] ) )
RETURN
MAXX (
FILTER ( SearchTable, SearchTable[Product] = CurrProduct ),
SearchTable[Category]
)
CaclculateMaxMeasure =
VAR CurrProduct = CALCULATE ( SELECTEDVALUE ( ThisTable[Product] ) )
RETURN
CALCULATE ( MAX ( SearchTable[Category] ), SearchTable[Product] = CurrProduct )
Разница в том, что когда вы пишете вычисляемый столбец, существует контекст строки, который сообщает вам, какой продукт использовать. Когда вы пишете меру, вам нужно указать, какое значение из столбца ThisTable[Product]
вы собираетесь использовать.
Примечание. Если в контексте фильтра есть несколько продуктов, и вы хотите, чтобы мера искала категорию максимальной, используйте MAX
вместо SELECTEDVALUE
. Последний вернет пробел, если есть несколько значений.
< Сильный > Edit:
Вышеприведенные формулы работают для исходного набора предоставленных данных. Однако, если с SearchTable
связано несколько категорий, связанных с одним продуктом, функция LOOKUPVALUE
прекратит работу (поскольку она ожидает только одно значение), и вам нужно будет использовать одну из {{X2 }} или MAXX
версии вместо.
1
Alexis Olson
16 Дек 2019 в 17:39
Попробуй это:
Column =
VAR row_id = ThisTable[id]
VAR ret_val =
SELECTCOLUMNS (
TOPN (
1;
CALCULATETABLE (
SearchTable;
SearchTable[id] = row_id;
SearchTable[name] <> BLANK ()
)
);
"name"; SearchTable[name]
)
RETURN
ret_val
1
Karl Anka
13 Дек 2019 в 07:50
Существует функция FIRSTNONBLANK (столбец, выражение). Разве это не помогает?
0
Dreekun
12 Дек 2019 в 17:55
I’m creating a PowerBI dashboard for supply chain backorders. There was a great video I saw from Microsoft demonstrating a Dynamic message card on their Destiny dashboard showing players and their favorite weapon, https://youtu.be/uHP7YJH526c?t=2438… I thought this would be a cool feature to implement but showing backorders with impacted Sales Reps and their Accounts. I essentially did a copy and paste of his code, but modified the variables as well as adding «affected product». Unfortunately, it doesn’t work perfectly (some cases works) but a majority of the time I get this:
Error Message: MdxScript(Model) (17, 125) Calculation error in measure
‘Salesforce CC Backorder Report'[BackorderIQ]: A table of multiple
values was supplied where a single value was expected.
I get that it has to do with the fact that if I select a Sales rep, they may have multiple Products that are on backorder, so I tried variations in my maxBackorderForProduct variable (COUNT, COUNTA, COUNTX, COUNTAX, MAX, MAXX, MAXA)… so far MAXX is less likely to break it so I’m using that for now.
BackorderIQ =
VAR selectedRepName =
FIRSTNONBLANK ( 'BOreport'[Sales Rep Name], TRUE )
VAR selectedActName =
FIRSTNONBLANK ( 'BOreport'[Account Name], TRUE )
VAR selectedProduct =
FIRSTNONBLANK ( 'BOreport'[Product ID], FALSE () )
VAR maxBackorderforSelectedAct =
MAXX (
SUMMARIZECOLUMNS (
'BOreport'[Sales Rep Name],
"Orders", SUM ( 'BOreport'[Back Order Qty] )
),
[Orders]
)
VAR maxBackorderforSelectedRep =
MAXX (
SUMMARIZECOLUMNS (
'BOreport'[Account Name],
"Orders", SUM ( 'BOreport'[Back Order Qty] )
),
[Orders]
)
VAR maxBackorderForProduct =
MAXX (
SUMMARIZECOLUMNS (
'BOreport'[Product ID],
"Orders", SUM ( 'BOreport'[Back Order Qty] )
),
[Orders]
)
RETURN
IF (
HASONEVALUE ( 'BOreport'[Sales Rep Name] ),
selectedRepName & " has " & maxBackorderforSelectedRep & " backorders of " & selectedProduct & " at "
& LOOKUPVALUE (
'BOreport'[Account Name],
'BOreport'[Back Order Qty], MAX ( 'BOreport'[Back Order Qty] )
),
IF (
HASONEVALUE ( 'BOreport'[Account Name] ),
selectedActName & "'s has " & maxBackorderforSelectedAct & " backorders of " & selectedProduct & ", so give "
& LOOKUPVALUE (
'BOreport'[Sales Rep Name],
'BOreport'[Back Order Qty], MAX ( 'BOreport'[Back Order Qty] )
) & " a heads up.",
"Select a Product below, OR an Account or Sales Rep to the right."
)
)
I hope I can get the card to say the expected, «ACCOUNT2 has 50 backorders of ProductB, so give JOHN SMITH a heads up.» which is the max value they would get, because JOHN SMITH could also have 20 backorders of ProductA from Account1.
Hello everyone, I was hoping you could help me out. I was trying to do a look up function, but I was getting an error because it has duplicate values. I can across this so I figured I would try this Calculate but it didn’t return what I was looking for, can someone help me?
I wanted to take the value from ‘FedEx Query'[Shipper Reference] and match it with the same number in ‘DLX Report Query'[PALLET_ID] so that I could get the Dealer code value from ‘DLX Report Query'[Dealer Code] which has duplicates, but it can just grab the first one.
I originally tried this and got an error for multiple values: Dealer Code/DLX = LOOKUPVALUE(‘DLX Report Query'[Dealer Code], ‘DLX Report Query'[PALLET_ID], ‘FedEx Query'[Shipper Reference])
The I tried this and could get it to work: Dealer Code DLX 3 = CALCULATE(FIRSTNONBLANKVALUE(‘DLX Report Query'[Dealer Code],1),FILTER(ALL(‘DLX Report Query’), ‘DLX Report Query'[PALLET_ID] =’FedEx Query'[Shipper Reference]))CALCULATELOOKUPVALUE Error
Я пытаюсь вернуть соответствующий рейтинг, в который попадает определенное значение в столбце. Например, если оценка составляет 90 <и> 100, присвойте А. Однако используемая мной формула приводит к ошибке. «Была предоставлена таблица с несколькими значениями, где ожидалось одно значение».
Availability Rating =
CALCULATE (
VALUES ( 'Rating Matrix'[Rating] ),
FILTER (
'Rating Matrix',
'Rating Matrix'[Avaibility (L)] <= 'Equipment_Status'[Availability]
&& 'Rating Matrix'[Availability (H)] >= 'Equipment_Status'[Availability]
&& 'Rating Matrix'[Bus Type] = 'Equipment_Status'[Helper]
)
)
Это вспомогательное поле, указанное в формуле, которое различает два типа активов.
Helper = RELATED('Performance Matrix'[Helper])