Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
randeep
Helper I
Helper I

Combinación condicional en varias columnas

Tengo el siguiente modelo, que se importan en mi proyecto.

image.png

Me gustaría tener el campo COGS de Stock On Hand en Net Forecast o viceversa, conectando los campos de producto y fecha.

La idea es calcular una nueva medida que es [Pronóstico neto]. COGS / [Stock On Hand]. COGS

En SQL, la consulta tendrá un aspecto similar al:

select SOH.Product, SOH.Location, SOH.Date, SOH.QUANTITY AS SOH_QTY, F.QUANTITY AS FORECAST_QUANTITY from  bi.StockOnHand SOH 
FULL OUTER JOIN bi.NetForecastFile F 
ON SOH.Product = F.Product  AND SOH.Location = F.Location AND SOH.Date = F.Date
WHERE SOH.Quantity >0

Puesto que ambos modelos ya están importados y enormes, me gustaría eliminar la importación de otro modelo de la consulta.

En su lugar, tenga una tabla extraída de este modelo o consulta DAX. Esto es lo que he creado hasta ahora, pero termina con un montón de filas vacías y duplicación.

StockTurnAround = 
Var MergeTable = GENERATEALL('bi StockOnHand', SELECTCOLUMNS(FILTER('bi NetForecastFile', 'bi NetForecastFile'[ConsolidateKey] = 'bi StockOnHand'[ConsolidateKey] && 'bi NetForecastFile'[Date] = 'bi StockOnHand'[Date]), "N.Product", 'bi StockOnHand'[Product], "N.Location", 'bi StockOnHand'[Location], "N.Date", 'bi StockOnHand'[Date], "SOH COGS", 'bi StockOnHand'[$COGS], "Forecast COGS", 'bi NetForecastFile'[$COGS]))
VAR MERGE_CLEAN_DISTINCT =
    DISTINCT ( MergeTable )
RETURN
MERGE_CLEAN_DISTINCT


¿De dónde me equivoco la consulta?

6 REPLIES 6
randeep
Helper I
Helper I

Resulta que simple LOOKUPVALUE era suficiente aquí.

LOOKUPVALUE('bi NetForecastFile'[$COGS],'bi NetForecastFile'[ConsolidateKey], 'bi StockOnHand'[ConsolidateKey], 'bi NetForecastFile'[Date], 'bi StockOnHand'[Date])

amitchandak
Super User
Super User

@randeep, siempre y cuando tenga dimensiones comunes como el producto y la fecha y hechos como Stock on Hand y net forecast se unan a los que se muestran en la relación en power BI,

Puede crear una nueva medida

Nueva medida: divide(sum('Net Forecast'[COGS]) ,sum('Stock On Hand'[COGS]))

y debe ser capaz de analizar que a través del Producto y las fechas y cualquier otra dimensión común

@amitchandak Ojalá fuera tan fácil. 😀
Verá que no hay ninguna relación directa establecida entre el Pronóstico neto y la tabla Stock On Hand. Hay una mesa de intermediarios aquí, que también es necesaria.

@randeep , ¿no tiene una tabla de status de stock?

Sí, pero la relación entre el campo Estado de stock y Pronóstico neto en producto. Y estado de stock y stock a mano en el campo producto.

El campo Fecha está conectado a la tabla Calendario.

Cuando uso la fórmula propuesta, sólo resume toda la tabla.

Greg_Deckler
Super User
Super User

Por favor, consulte este post sobre cómo obtener su pregunta respondida rápidamente: https://community.powerbi.com/t5/Community-Blog/How-to-Get-Your-Question-Answered-Quickly/ba-p/38490


@ me in replies or I'll lose your thread!!!
Instead of a Kudo, please vote for this idea
Become an expert!: Enterprise DNA
External Tools: MSHGQM
YouTube Channel!: Microsoft Hates Greg
Latest book!:
The Definitive Guide to Power Query (M)

DAX is easy, CALCULATE makes DAX hard...

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.