Я создаю панель инструментов PowerBI для задержек с цепочками поставок.Было отличное видео, которое я видел от Microsoft, демонстрирующее карточку сообщений Dynamic на их приборной панели Destiny, показывающее игроков и их любимое оружие, https://youtu.be/uHP7YJH526c?t=2438... Я думал, что это будет отличная возможность для реализации, но показывает отставание с влиянием торговых представителей и ихСчета.По сути, я сделал копию и вставил его код, но изменил переменные, а также добавил «затронутый продукт».К сожалению, это не работает идеально (в некоторых случаях работает), но большую часть времени я получаю это:
Сообщение об ошибке: MdxScript (Model) (17, 125) Ошибка вычисления в мере 'SalesforceCC Backorder Report '[BackorderIQ]: была предоставлена таблица с несколькими значениями, где ожидалось одно значение.
Я понял, что это связано с тем фактом, что если я выберу торгового представителя, ониможет иметь несколько продуктов, которые находятся на заднем заказе, поэтому я попробовал варианты в моей переменной maxBackorderForProduct (COUNT, COUNTA, COUNTX, COUNTAX, MAX, MAXX, MAXA)… пока MAXX с меньшей вероятностью сломает его, поэтому я использую это сейчас.
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."
)
)
Надеюсь, я смогу заставить карту сказать ожидаемое: «У ACCOUNT2 есть 50 отличий в ProductB, так что давайте Джону Смиту наперед».это максимальное значение, которое они получат, потому что у ДЖОНА СМИТА также может быть 20 заказов на ProductA из Account1.